win7 x64でデバッグしている小さな32ビットプロセスがあり、期待どおりに「C:\ windows \ sysWow64 \ ntdll.dll」だけでなく、「C:\ windows \ system32\ntdll.dll」も読み込まれることがわかります。
x64モジュールとx86モジュールが混在していないことは知っていますが、ここでは...混合しています...
どうすればよいでしょうか。
質問する
1996 次
1 に答える
5
これはWOW64の特別な「機能」です。MSDNのこの記事を参照してください。関連する部分は次のとおりです。
WOW64エミュレーターはユーザーモードで実行されます。32ビットバージョンのNtdll.dllとプロセッサのカーネル間のインターフェイスを提供し、カーネル呼び出しをインターセプトします。WOW64エミュレーターは、次のDLLで構成されています。
Wow64.dllは、Ntoskrnl.exeエントリポイント関数のコアエミュレーションインフラストラクチャとサンクを提供します。
Wow64Win.dllは、Win32k.sysエントリポイント関数にサンクを提供します。
Wow64Cpu.dllは、ホストプロセッサの特性を抽象化するインターフェイスライブラリです。(Intel Itaniumのみ)
IA32Exec.binには、x86ソフトウェアエミュレーターが含まれています。(Intel Itaniumのみ)
Wowia32x.dllは、IA32Exec.binとWOW64の間のインターフェイスを提供します。
これらのDLLは、64ビットバージョンのNtdll.dllとともに、32ビットプロセスにロードできる唯一の64ビットバイナリです。
于 2012-04-17T15:45:15.667 に答える