我有一個小的32位進程,我在win7 x64上調試,我發現它按預期的方式加載了「C:\ windows \ sysWow64 \ ntdll.dll」,但也是「C:\ windows \ system32 \ ntdll.dll」 。
我知道x64模塊和x86模塊不會混合,但在這裏它們是...混合...
它怎麼可能?x64模塊在WOW64過程中?
4
A
回答
5
這是WOW64的一個特殊功能,請參見MSDN上的this article。相關部分是:
WOW64仿真器以用戶模式運行。它提供了Ntdll.dll的32位版本和處理器內核的 之間的接口,並且它攔截內核調用。該WOW64模擬器由 以下的DLL:
Wow64.dll提供了ntoskrnl.exe中的入口點函數的核心仿真基礎設施和的thunk 。
Wow64Win.dll爲Win32k.sys入門點函數提供了 thunks。
Wow64Cpu.dll是 接口庫抽象主機 處理器的特性。 (僅限Intel Itanium)
IA32Exec.bin包含x86軟件 模擬器。 (僅適用於Intel Itanium)
Wowia32x.dll在IA32Exec.bin和WOW64之間提供接口 。
這些DLL,與64位 版本的Ntdll.dll一起,是可以裝載到 一個32位過程的唯一的64位的二進制文件。
相關問題
- 1. WOW64:從32位進程獲得x64%CommonProgramFiles%
- 2. WoW64進程是否可以創建/ fork/etc純x64進程?
- 3. 如何爲WoW64和x64流程創建共享註冊表項
- 4. 限制從其他模塊過程訪問模塊過程
- 5. x64下的線程信息塊
- 6. 在Windows x64上使用Visual Studio 2008安裝python模塊
- 7. 奇怪線程在應用程序在Win7 WOW64
- 8. WOW64 - 在Visual Studio中運行powershell
- 9. 在Jenkins中通過x64運行PowerShell
- 10. 內存限制x64的過程IIS7.5
- 11. Fortran:從另一個模塊中的過程調用模塊中的函數
- 12. 通過Hudson在SVN中標記模塊
- 13. 在Sonar中跳過多個模塊
- 14. 爲什麼x64合併模塊文件未包含在msi文件中
- 15. 在zf2中創建模塊的過程是否可以縮短?
- 16. 如何在Maya中成功導入模塊時運行過程
- 17. svn:早期在開發過程中的模塊組織
- 18. Python模塊:在安裝過程中使用但未安裝
- 19. Python:在我的過程中導入了哪些模塊?
- 20. 通過子流程模塊在Python中剪切命令
- 21. 在結帳過程中隱藏blockcart模塊
- 22. 在Openerp的模塊升級過程中出現錯誤
- 23. 合併模塊在卸載過程中保留文件
- 24. Rails的模塊 - 包括在測試過程中
- 25. 在網絡設置過程中模塊出錯:
- 26. 爲什麼setup.py在安裝過程中運行模塊__init__.py?
- 27. 在vs2010中創建x64程序
- 28. 在x64程序集中添加值
- 29. 在x86程序集中複製x64 MOVQ
- 30. 從模塊調用共享過程