首页
社区
课程
招聘
如何从进程句柄(HANDLE)获取主模块的HMODULE?
发表于: 2007-1-22 14:34 9354

如何从进程句柄(HANDLE)获取主模块的HMODULE?

2007-1-22 14:34
9354
1.已知某个进程的句柄,如何获取该进程主模块的基址(HMODULE)?
问题也可以是:创建一个进程,如何知道它被加载的基址(如果该进程可以被重定位).

2.执行SuspendThread之后如何获取被Suspend的线程当前执行的地址(即EIP寄存器内容)?

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
2
可通过 EnumProcessModules或自己在进程句柄表中查找

在suspendthread后没法获取那个线程当前eip。。。只有让那个线程再次停下来才行
2007-1-22 14:57
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
第一个问题解决了,看来不得不用CreateToolhelp32Snapshot再一个个找了.
2007-1-22 15:15
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
可以读取PEB吧
2007-1-22 15:24
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
貌似不好读目标进程的peb吧
GetThreadContext应该可以得到eip
2007-1-22 19:40
0
雪    币: 201
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
使用GetThreadContext

BOOL GetThreadContext(HANDLE hThread,
   PCONTEXT pContext);

详见Windows核心编程第7章 7.6运用结构环境
2007-1-22 23:59
0
雪    币: 139
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
NTDLL!ZwQueryProcessInformation()
2007-1-23 00:22
0
游客
登录 | 注册 方可回帖
返回
//