让程序看到另一个程序的内存

时间:2010-12-19 12:23:06

标签: c++ memory

有TSearch,Cheat Engine等工具。这些是用于查看和修改其他程序内存部分的黑客程序。

如果我要创建一个可以查看和修改其他程序内存的C ++程序,我该怎么做?我应该寻找的一些东西是什么?

2 个答案:

答案 0 :(得分:7)

这不是C ++的一个特性,它受操作系统本身的控制。

例如,Windows提供了ReadProcessMemory() API调用,这样您就可以在另一个进程的内存中获得肮脏的小手。当然,equivalent for writing也可以导致甚至更多伤害: - )

所有这些都取决于拥有正确的权限。

我不确定Linux是如何提供此功能的,但早期的UNIX拥有像“{1}}这样的”内存映射“文件,因此您可以获得内存。 /dev/mem文件系统中可能存在每个进程的变体,可以让您访问特定进程的虚拟内存。这是我开始寻找的第一个地方,虽然这里的其他人无疑会比我更了解这一点。

答案 1 :(得分:2)

这样做的一种方法是write your own debugger

但是,这并不容易。祝你好运。