规格从远程进程PEB:Windows 7的64位时,Visual C++获得在Win 7
目的:我想从一个示例程序远程PEB(例如CALC.EXE)。我找到了proc ID,并且我已经开启了处理所有权利的流程。现在我已经开始编写一个类来使用PROCESS_BASIC_INFORMATION从进程中检索PEB的位置。
问题:我发现了几个帖子在别处,似乎表明NtQueryInformationProcess转过身MS拉屎。一篇文章提出了一种动态运行时的方法 - 将NtQueryInformationProcess从ntdll.dll中链接出来。不过,我认为这从长远来看是不稳定的(MS可能会在明天删除NtQueryInformationProcess)而没有广泛的错误处理。
这个想法稍后在this thread中实现,然后由Mike2343建议应该“使用其他方法”。
问题:什么是另一种方法来找到不涉及NtQueryInformationProcess的远程进程的PEB?
感谢任何花时间看这个的人。
NtQueryInformationProcess是本机Windows API的一部分。这是没有记录,并强烈地从一个版本的Windows更改为另一个。它被记录在案的唯一原因是因为他们被迫与司法部达成和解。依赖它是非常不明智的。您完全没有提及*为什么*您需要PEB,因此您从记录在PEB中的信息的备选方案中减少了自己的负担。 – 2012-07-21 16:09:52
我需要它进行所有事情的实验,但我想一个特定的和典型的实例会有所帮助:PEBBaseAddress - > ImageBaseAddress - >返回PLoaded_Image结构 - >远程导入地址 - > IAT和ILT。 – user850275 2012-07-21 16:32:13
我想我可以从[GetModuleHandle](http://msdn.microsoft.com/en-us/library/ms683199%28VS.85%29.aspx)获取图像的基地址。虽然,我不确定32位和64位之间是否有差异。 – user850275 2012-07-21 17:29:51