gpt4 book ai didi

c++ - 在 Win 7 中从远程进程获取 PEB

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:12:09 26 4
gpt4 key购买 nike

规范:Windows 7 x64,Visual C++

目标:我正在尝试获取 Remote PEB来自示例程序(例如 calc.exe)。我找到了 proc ID,并打开了一个具有所有良好权限的进程句柄。我现在开始编写一个类来使用 PROCESS_BASIC_INFORMATION 从进程中检索 PEB 的位置。

问题:我在其他地方发现了一些帖子,这些帖子似乎表明 NtQueryInformationProcess 在 MS 变成了垃圾。一篇文章提出了一种从 ntdll.dll 中动态运行时链接 NtQueryInformationProcess 的方法。但是,我认为如果没有大量的错误处理,从长远来看这将是不稳定的(MS 明天可能会删除 NtQueryInformationProcess)。

这个想法后来在this thread中实现了, 然后 Mike2343 建议应该“使用其他方法”。

问题:定位不涉及 NtQueryInformationProcess 的远程进程的 PEB 的另一种方法是什么?

感谢所有花时间查看此内容的人。

最佳答案

我最终使用的方法:

我偷了很多all of this code并将其修复为 64 位。我花了很多时间思考 various与所有不同的文件相关headersstructs .我还遇到了关于 PE32+ format 的问题,其中 jcopenha 非常友好地启发了我一些我可能面临的问题。在解决了这些问题之后,我有了一个正常运行的程序,它能够获取所有 DLL 的列表及其由可执行文件加载的各自函数及其相关地址。

回想起来,我认为我没有很好地处理我试图做的事情。我以为我以为我要读取内存不足的进程并找到PEB相关的结构什么的(后来我发现图像头之类的占PEB中的信息)。尽管这可能是可行的,但我现在拥有的是一个离线示例,它读取 exe 文件并为我工作。

关于c++ - 在 Win 7 中从远程进程获取 PEB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com