Retrieving all 32 bit process modules from 64 bit application (C#)

匿名 (未验证) 提交于 2019-12-03 01:45:01

问题:

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:

  1. Application executable. - various
  2. ntdll.dll - always
  3. wow64.dll - always
  4. wow64cpu.dll - always
  5. wow64win.dll - always

but process have many other modules.

Can i get all 32 bit process modules from 64 bit application(C#)?

Thanks!

回答1:

Yes, but you'll need p/invoke.

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.



回答2:

The wow64* modules are the thunking layer to x86. All your x86 modules should show up as being loaded by the thunking modules.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!