简体   繁体   English

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

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

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: 我有一个从其他进程中检索进程模块的64位程序,但是当我尝试从32位进程中获取模块时,我只会得到:

  1. Application executable. 应用程序可执行文件。 - various -各种
  2. ntdll.dll - always ntdll.dll-始终
  3. wow64.dll - always wow64.dll-始终
  4. wow64cpu.dll - always wow64cpu.dll-始终
  5. wow64win.dll - always wow64win.dll-始终

but process have many other modules. 但是过程还有许多其他模块。

Can i get all 32 bit process modules from 64 bit application(C#)? 我可以从64位应用程序(C#)中获得所有32位处理模块吗?

Thanks! 谢谢!

Yes, but you'll need p/invoke. 是的,但是您需要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. 可以哄骗DbgHelp API来执行此操作,但是有人告诉我,尽管具有适当大小的结构,但在对Win32-on-Win64进程进行调用时,它仅返回64位WOW64仿真层DLL。

The wow64* modules are the thunking layer to x86. wow64 *模块是x86的改进层。 All your x86 modules should show up as being loaded by the thunking modules. 您的所有x86模块应该显示为被thunk模块加载。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 32 位进程无法使用 C# 访问 64 位进程的模块 - A 32 bit processes cannot access modules of a 64 bit process using C# 从32位应用程序获取64位应用程序的过程信息 - Getting process information of a 64 bit application from 32 bit application 无法在用C#编写的64位进程中启动32位控制台应用程序 - 32bit console application cannot be started in 64bit process written in c# c#中64位应用程序中的32位dll - 32bit dll in 64bit application in c# 如何在32位操作系统上构建64位应用程序? [C#] - How to build a 64 bit application on 32 bit OS? [c#] 无法从 64 位 C# 应用程序调用 C# 32 位 Com - Trouble calling C# 32 bit Com from 64 bit C# application 如何使用c#代码从64位机器上的64位应用程序获取32位应用程序数据文件夹 - how to get 32 bit application data folder from 64 bit application on 64 bit Machine using c# code 我可以从64位应用程序运行C#程序集(dll)为32位吗? - Can I run a C# assembly (dll) as 32bit from a 64bit application? 在具有 32 位应用程序的 64 位机器上从 c# 代码安装 IIS - Installing IIS from c# code on 64bit machine with 32bit application 使用Environment.Is64BitProcess从c#应用程序动态调用32位或64位DLL - Dynamically calling 32-bit or 64-bit DLL from c# application using Environment.Is64BitProcess
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM