从64位应用程序(C#)检索所有32位进程模块

时间:2011-11-02 22:11:32

标签: c# process module

我有一个64位程序从其他进程检索进程模块但是当我尝试从32位进程获取模块时我只得到:

  1. 应用程序可执行文件 - 各种
  2. ntdll.dll - 始终
  3. wow64.dll - 总是
  4. wow64cpu.dll - 总是
  5. wow64win.dll - 总是
  6. 但是流程还有许多其他模块。

    我能从64位应用程序(C#)获得所有32位处理模块吗?

    谢谢!

2 个答案:

答案 0 :(得分:1)

是的,但你需要p / invoke。

可能会哄骗DbgHelp API执行此操作,但我被告知尽管具有适当大小的结构,但在针对Win32-on-Win64调用时,它仅返回64位WOW64仿真层DLL过程

答案 1 :(得分:0)

wow64 *模块是x86的thunking层。所有x86模块都应该显示为由thunking模块加载。