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++:在进程内存中搜索的主要内容,如果未能解决你的问题,请参考以下文章

Visual C++ 检查进程内存中的对象实例大小[关闭]

在 C++ 中,即使调用了 delete,进程何时会保留分配的内存?

C++ 和 Java 进程之间的共享内存

如何在 Python 进程中访问由 C++ 进程创建的互斥锁?

C++。如何获得进程从一开始就分配的最大内存量?

Android 逆向修改运行中的 Android 进程的内存数据 ( 使用 IDA 分析要修改的内存特征 | 根据内存特征搜索修改点 | 修改进程内存 )