2010-08-17 14 views
2

我想通过另一个进程扫描当前运行的本机应用程序的整个堆。例如,我想知道在这个进程内存中的所有ASCII序列“测试”的实例后面是什么(在这种情况下,我将扫描“测试”并继续阅读)。如何扫描另一个进程内存以查找特定字符串后面的内容?

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

回答

6

尝试VirtualQueryEx

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

+0

是的,获胜者。为“测试”找到多个匹配的几率很好。 – 2010-08-17 17:33:35

相关问题