从64位应用程序(C#)中检索所有32位处理模块 [英] Retrieving all 32 bit process modules from 64 bit application (C#)
问题描述
我有一个64位程序,可以从其他进程中检索进程模块,但是当我尝试从32位进程中获取模块时,我只会得到:
I have a 64 bit program that retrieving process modules from other processes but when i try to get modules form 32 bit processes i get only:
- 应用程序可执行文件. -各种各样
- ntdll.dll-始终
- wow64.dll-始终
- wow64cpu.dll-始终
- wow64win.dll-始终
但是过程还有很多其他模块.
but process have many other modules.
我可以从64位应用程序(C#)中获取所有32位处理模块吗?
Can i get all 32 bit process modules from 64 bit application(C#)?
谢谢!
推荐答案
是的,但是您需要p/invoke.
Yes, but you'll need p/invoke.
可以哄骗DbgHelp API来执行此操作,但是有人告诉我,尽管具有适当大小的结构,但在Win32-on-Win64上调用时,它仅返回64位WOW64仿真层DLL.过程.
It's possible that the DbgHelp API could be coaxed to do this, but I've been told that despite having appropriately-sized structures, it returns only the 64-bit WOW64 emulation layer DLLs when called against a Win32-on-Win64 process.
这篇关于从64位应用程序(C#)中检索所有32位处理模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!