读取 Explorer.exe 的 Thunk 数据 [英] Reading Explorer.exe's Thunk Data

查看:32
本文介绍了读取 Explorer.exe 的 Thunk 数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 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 格式.您的应用程序是否旨在同时读取 PE32PE32+ 格式?

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆