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

[求助]module32first

2013-5-29 13:59
7156
我自己写了一个程序 枚举另一个进程中的模块信息 提权神马的 都已经用了 最后在使用创建进程块照的时候  也指定了进程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;

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

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

其实看雪的教程里有,当有驱动保护的时候,你的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编辑 ,原因: 完善
游客
登录 | 注册 方可回帖
返回