读取 Explorer.exe 的 Thunk 数据 [英] Reading Explorer.exe's Thunk Data
问题描述
我正在尝试在 explorer.exe 中进行一些 IAT 挂钩.规格:Windows 7 x64,Visual C++.我已经达到了能够从我选择的任何可执行文件中读取 thunk 数据的程度,除了 C:WindowsExplorer.exe.当我针对它运行我的程序时,我在从该可执行文件读取内存时收到访问冲突.但是,当我针对 C:Windowssystem32Explorer.exe 和 C:WindowssysWOW64Explorer.exe 运行它时,我没有任何问题.为什么是这样?C:WindowsExplorer.exe 是指向其他 explorer.exe 之一的某种符号链接吗?是什么让我无法阅读此文件?
I'm trying to do a little IAT hooking in explorer.exe. Specs: Windows 7 x64, Visual C++. I've made it to a point where I am capable of reading thunk data from any executable of my choosing except for C:WindowsExplorer.exe. When I run my program against that I receive an access violation in reading memory from that executable. However, when I run this against C:Windowssystem32Explorer.exe and C:WindowssysWOW64Explorer.exe I don't have any problems. Why is this? Is C:WindowsExplorer.exe some sort of symbolic link to one of the other explorer.exe's? What could be keeping me from reading this file?
推荐答案
在我的 Windows 7 x64 系统上 C:windowsexplorer.exe
是一个 64 位二进制文件,PE32+
格式,而 c:windowssyswow64explorer.exe
是 32 位二进制,PE32
格式.您的应用程序是否旨在同时读取 PE32
和 PE32+
格式?
On my Windows 7 x64 system C:windowsexplorer.exe
is a 64-bit binary, PE32+
format, whereas c:windowssyswow64explorer.exe
is a 32-bit binary, PE32
format. Is your application designed to read both PE32
and PE32+
formats?
当从 32 位进程打开 C:WindowsSystem32Explorer.exe
时,重定向到 c:windowssyswow64explorer.exe
代码>复制.来自 64 位进程 c:windowssystem32explorer.exe
不存在.
And when opening C:WindowsSystem32Explorer.exe
from a 32-bit process that is a redirect to the c:windowssyswow64explorer.exe
copy. From a 64-bit process c:windowssystem32explorer.exe
doesn't exist.
这篇关于读取 Explorer.exe 的 Thunk 数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!