统一2个空间记忆

时间:2010-12-10 20:57:32

标签: c++ memory process win32-process


有没有办法读取另一个进程内存,好像它的内存是我在C ++ / Windows中的进程内存的一部分(不使用“ReadProcessMemory”)?

“CreateRemoteThread”怎么样?我希望能够读取其他进程的内存,但不仅仅是在我的远程线程和我的应用程序本身。这会完成这项工作吗?

2 个答案:

答案 0 :(得分:1)

您可能想要尝试的一件事是创建一个临时文件,然后从两个进程映射文件。这应该会让你共享内存页面。

答案 1 :(得分:1)

MSDN has a sample that explains how to use CreateFileMapping to share memory between two processes.

基本上,使用页面文件作为后备存储创建具有显式名称的文件映射,然后在第二个进程中使用相同名称打开该文件映射。要在两个进程中映射相同的地址,您必须传递先前商定的内存范围并将其传递给MapViewOfFileEx。请记住,您无法保证两个进程之间通常不使用任何内存地址,因此您可能不希望您的设计基于两个进程之间具有相同的地址。