如何扫描另一个进程内存以查找特定字符串后面的内容?

时间:2010-08-17 17:28:16

标签: c++ windows winapi

我想通过另一个进程扫描当前运行的本机应用程序的整个堆。

例如,我想知道在这个进程内存中ASCII序列“test”的所有实例后面是什么(在这种情况下,我会扫描“test”并继续阅读它。)

我试图谷歌获取更多信息,但没有找到太多:我发现ReadProcessMemory看起来很有趣,但我怎么知道进程分配的内存地址?

1 个答案:

答案 0 :(得分:6)

尝试VirtualQueryEx

如果您发现在其他进程中访问了大量内存,请考虑使用CreateRemoveThreadsample code)。这将允许您将自己的DLL注入其他进程并直接在那里运行代码。在其他进程中运行代码后,您将能够正常访问内存,而无需使用ReadProcessMemory。 (您仍然需要VirtualQuery来确定进程的内存布局。)