C++:在进程内存中搜索

Posted

技术标签:

【中文标题】C++:在进程内存中搜索【英文标题】:C++: Searching in Process Memory 【发布时间】:2009-03-08 08:27:28 【问题描述】:

通过已经给定的特定进程的句柄,我如何进一步使用 VC++ 在其内存中搜索特定关键字(字节、整数(2 字节)、文本(数组))?

【问题讨论】:

你能重新提出这个问题吗?程序编译后关键字不存在。 【参考方案1】:

我认为您想扫描另一个进程的原始内存。根据定义,进程相互隔离并且应该具有完全独立的地址空间(您的地址 0x06573AF8 包含与另一个进程地址空间中的相应地址完全不同的东西)。

但是,有很多方法可以解决这个问题:在 Windows 中,经典的答案是编写一个特定的 DLL,然后将其注入其他进程的地址空间。看看CodeProject for some hands-on advice,或者稍微更一般一点的wikipedia。

【讨论】:

【参考方案2】:

最简单的方法可能是使用 ReadProcessMemory。也可以考虑使用 WinDbg - 它已经具备了这个功能。

【讨论】:

以上是关于C++:在进程内存中搜索的主要内容,如果未能解决你的问题,请参考以下文章