我的应用程序创建一个暂停的进程,通过VirtualQueryEx()获取进程的信息,但无法使用EnumProcessModules()获取进程的模块信息。
上述任务仅在未创建进程被挂起并且在调试器中命中断点时才完成(因此程序在执行调用之前运行)。
我正在尝试编写一个非常不错的反汇编程序,为此我需要暂停目标进程,但EnumProcessModules()不能对挂起的进程起作用。
有替代方案吗?
答案 0 :(得分:1)
GetThreadContext
,设置其陷阱标志SetThreadContext
,恢复线程(运行一条指令),然后使用{{1} }。
当然,可能还有其他方法可以解决这个问题,但至少如果内存有效,那就是我当时想出来的东西,我似乎记得它的工作原理。