【问题标题】:x64 modules in a wow64 process?wow64 进程中的 x64 模块?
【发布时间】:2012-04-17 23:52:16
【问题描述】:

我有一个小型 32 位进程,我正在 win7 x64 上调试,我看到它按预期加载了“C:\windows\sysWow64\ntdll.dll”,但也加载了“C:\windows\system32\ntdll.dll " .
我知道 x64 模块和 x86 模块不会混合,但在这里它们是...混合...
怎么可能?

【问题讨论】:

    标签: windows-7 module x86 64-bit wow64


    【解决方案1】:

    这是 WOW64 的一个特殊“功能”,请参阅 MSDN 上的this article。相关部分是:

    WOW64 模拟器在用户模式下运行。它提供了一个接口 32 位版本的 Ntdll.dll 和处理器的内核,以及 它拦截内核调用。 WOW64 模拟器由 以下 DLL:

    • Wow64.dll 提供核心仿真基础架构和 thunk 用于 Ntoskrnl.exe 入口点函数。

    • Wow64Win.dll 提供 Win32k.sys 入口点函数的 thunk。

    • Wow64Cpu.dll 是一个 抽象主机特性的接口库 处理器。 (仅限英特尔安腾)

    • IA32Exec.bin 包含 x86 软件 模拟器。 (仅限英特尔安腾)

    • Wowia32x.dll 提供接口 在 IA32Exec.bin 和 WOW64 之间。

    这些 DLL 以及 64 位 Ntdll.dll 的版本,是唯一可以加载的 64 位二进制文​​件 进入 32 位进程。

    【讨论】:

      猜你喜欢
      • 2015-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 2016-11-03
      相关资源
      最近更新 更多