有TSearch,Cheat Engine等工具。这些是用于查看和修改其他程序内存部分的黑客程序。
如果我要创建一个可以查看和修改其他程序内存的C ++程序,我该怎么做?我应该寻找的一些东西是什么?
答案 0 :(得分:7)
这不是C ++的一个特性,它受操作系统本身的控制。
例如,Windows提供了ReadProcessMemory() API调用,这样您就可以在另一个进程的内存中获得肮脏的小手。当然,equivalent for writing也可以导致甚至更多伤害: - )
所有这些都取决于拥有正确的权限。
我不确定Linux是如何提供此功能的,但早期的UNIX拥有像“{1}}这样的”内存映射“文件,因此您可以获得内存。 /dev/mem
文件系统中可能存在每个进程的变体,可以让您访问特定进程的虚拟内存。这是我开始寻找的第一个地方,虽然这里的其他人无疑会比我更了解这一点。
答案 1 :(得分:2)
这样做的一种方法是write your own debugger。
但是,这并不容易。祝你好运。