首页
社区
课程
招聘
[求助] DLL加载到内存后的基地址
发表于: 2018-8-3 14:14 3537

[求助] DLL加载到内存后的基地址

2018-8-3 14:14
3537
RT,例如kernel32.dll被a.exe加载到其进程的内存中,如何获得该DLL在进程内存的基地址。从网上查看说可以利用系统进程快照获得,但是一直都是失败。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
你直接说你要干嘛
2018-8-3 14:42
0
雪    币: 940
活跃值: (1053)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
PEB TEB
2018-8-3 15:39
0
雪    币: 181
活跃值: (621)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你直接说你要干嘛 
2018-8-3 17:05
0
雪    币: 18
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
GetModuleHandleA("kernel32.dll")
2018-8-3 18:27
0
雪    币: 18
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
DWORD P(char* processname)
{
       HANDLE handle = (HANDLE)CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
       PROCESSENTRY32 Info;
       LPMODULEENTRY32 lpme=NULL;
       Info.dwSize = sizeof(PROCESSENTRY32);
       if(Process32First(handle, &Info)) 
       {
               do {
                       if(!_stricmp(Info.szExeFile,processname)) 
                       {
                               CloseHandle(handle);
                               return Info.th32ProcessID;
                       }

               }while (Process32Next(handle, &Info));
       }
       CloseHandle(handle);
       return 0;
}

P("kernel32.dll");
2018-8-3 18:28
0
雪    币: 22
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
像比实现动态修改kernel32.dll函数加载到内存中的部分代码,我已经知道偏移地址,但是该DLL的基地址需要获得。
2018-8-4 23:15
0
雪    币: 22
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
ayunaa DWORD P(char* processname) { HANDLE handle = (HANDLE)CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0); ...
嗯,谢啦。问题解决了
2018-8-4 23:15
0
游客
登录 | 注册 方可回帖
返回
//