Winapi 正在尝试获取wow64cpu.dll的基址

Winapi 正在尝试获取wow64cpu.dll的基址,winapi,Winapi,GetModuleHandle和LoadLibrary失败,错误为未找到MOD,EnumProcessModules也未显示该错误。我还可以做些什么,我确信它已加载。我最终手动将CPU切换到x64模式。之后,我得到64位TEB,如下所示: mov eax, gs:[0x30] 从TEB中,我得到了PEB,并使用它的InLoadOrderModuleList成员搜索wow64cpu.dll,在存储了我想要的内容后,将CPU切换回x86模式。功能,不是bug。32位进程无法枚举实现允许在64位

GetModuleHandle和LoadLibrary失败,错误为未找到MOD,EnumProcessModules也未显示该错误。我还可以做些什么,我确信它已加载。

我最终手动将CPU切换到x64模式。之后,我得到64位TEB,如下所示:

mov eax, gs:[0x30]  

从TEB中,我得到了PEB,并使用它的InLoadOrderModuleList成员搜索wow64cpu.dll,在存储了我想要的内容后,将CPU切换回x86模式。

功能,不是bug。32位进程无法枚举实现允许在64位操作系统上运行32位进程的WoW(Windows on Windows)仿真器的64位模块。只有外部64位进程才能观察到它们。push _cscall$+5 add dword[esp],5 retf将在执行后立即将cpu切换到x64模式。您是否尝试重新发明?@IInspectable否,我使用的是手动系统调用,但由于我的进程是x86,它们将通过wow64层,因此,如果有人在wow64cpu.dll上挂接一些函数,他可以拦截我的所有调用。因此,我正在检查wow64cpu.dll的某些部分的完整性,以确保它是原始的。顺便说一句,因为我已经可以切换到x64模式,我可能会在x64中实现这些系统调用,这样它们就不会通过wow64层。