1

我正在尝试在 explorer.exe 中进行一些 IAT 挂钩。规格:Windows 7 x64,Visual C++。我已经达到了能够从我选择的任何可执行文件中读取 thunk 数据的程度,除了 C:\Windows\Explorer.exe。当我针对它运行我的程序时,我在从该可执行文件读取内存时收到访问冲突。但是,当我对 C:\Windows\system32\Explorer.exe 和 C:\Windows\sysWOW64\Explorer.exe 运行它时,我没有任何问题。为什么是这样?C:\Windows\Explorer.exe 是指向其他 explorer.exe 的某种符号链接吗?是什么让我无法阅读此文件?

4

1 回答 1

1

在我的 Windows 7 x64 系统C:\windows\explorer.exe上是 64 位二进制PE32+格式,而c:\windows\syswow64\explorer.exe32 位二进制PE32格式。您的应用程序是否设计为同时读取PE32PE32+格式?

C:\Windows\System32\Explorer.exe当从 32 位进程打开时,它会重定向到c:\windows\syswow64\explorer.exe副本。从 64 位进程c:\windows\system32\explorer.exe不存在。

于 2012-07-29T19:36:54.527 回答