从64位应用程序(C#)中检索所有32位处理模块 [英] Retrieving all 32 bit process modules from 64 bit application (C#)

查看:114
本文介绍了从64位应用程序(C#)中检索所有32位处理模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个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:

  1. 应用程序可执行文件. -各种各样
  2. ntdll.dll-始终
  3. wow64.dll-始终
  4. wow64cpu.dll-始终
  5. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆