首页
社区
课程
招聘
[求助]module32first
发表于: 2013-5-29 13:59 7853

[求助]module32first

2013-5-29 13:59
7853
我自己写了一个程序 枚举另一个进程中的模块信息 提权神马的 都已经用了 最后在使用创建进程块照的时候  也指定了进程ID 但是用module32first列举模块信息的时候 返回的模块信息 始终是我自己写的(demo) demo这个程序的加载模块 而不是创建快照后的指定进程的模块信息
DWORD FindModuleBase(DWORD pid,char* dllName){
        HANDLE hSnap=NULL;
        BOOL flag=FALSE;
        MODULEENTRY32 mod={0};
        if(dllName)
        {
                hSnap=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pid);
                if(hSnap==INVALID_HANDLE_VALUE)
                {
                //        printf("module snap create fail,err no:%d!\n",GetLastError());
                        return -2;
                }
                else
                {
                        mod.dwSize=sizeof(MODULEENTRY32);
                        flag=Module32First(hSnap,&mod);
                        if(flag==FALSE){
                        //        printf("module check failed,err no:%d\n",GetLastError());
                                CloseHandle(hSnap);
                                return -1;
                        }
                //        printf("QQ id=%d\n",pid);
                        while(flag=Module32Next(hSnap,&mod)){
                        //        printf("mod.szModule:%s\n",mod.szModule);
                                if(!strcmp(dllName,mod.szModule))
                                {
                                        CloseHandle(hSnap);
                        //                printf("mod base:%x\n",mod.modBaseAddr);
                                        return (DWORD)mod.modBaseAddr;
                                }
                        }
                }
        }
        else{
                printf("module is not in used!\n");
        }
        CloseHandle(hSnap);
        return 0;

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
2
http://msdn.microsoft.com/en-us/library/ms682621(v=vs.85).aspx
2013-5-29 15:09
0
雪    币: 284
活跃值: (106)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
3
是因为有保护吧,底层attachProcess失败就变成枚举自身模块去掉了,以前的xuetr检测天邪的应用层钩子的时候会变成检自己的应用层钩子就是这种原理……
2013-5-30 19:39
0
雪    币: 54
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4

其实看雪的教程里有,当有驱动保护的时候,你的ring3层api调用都会受到监控。

可以发现,如果get modules列表是空的时候,基本上你attach debugger就会出现access denied


原文是:https://blog.xpnsec.com/anti-debug-openprocess/
翻译是:https://www.kanxue.com/chm.htm?id=11090&pid=node1000672

最后于 2023-1-21 13:10 被freshreer编辑 ,原因: 完善
2023-1-21 13:07
0
游客
登录 | 注册 方可回帖
返回
//