Rem*_*eau 39
如果您有进程句柄,请使用IsWow64Process().
如果IsWow64Process()报告为true,则该进程在64位操作系统上运行32位.
如果IsWow64Process()报告为false(或不存在kernel32.dll),则该进程在32位操作系统上运行32位,或在64位操作系统上运行64位.要知道操作系统本身是32位还是64位,请使用GetNativeSystemInfo()(或者GetSystemInfo()如果GetNativeSystemInfo()不可用kernel32.dll).
如果您有该模块的句柄,那么您可以执行以下操作:
IMAGE_NT_HEADERS * headers = ImageNtHeader(handle);
if ( headers->FileHeader.Machine == IMAGE_FILE_MACHINE_I386 )
{
//module is x86
}
else if ( headers->FileHeader.Machine == IMAGE_FILE_MACHINE_AMD64 )
{
//module is x64
}
Run Code Online (Sandbox Code Playgroud)
我从自己的回答中得到了帮助。