c++ - 让一个程序看到另一个程序的内存

标签 c++ memory

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

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

最佳答案

这不是 C++ 的特性,它在操作系统本身的控制之下。

例如,Windows 提供了 ReadProcessMemory() API 调用,这样你就可以让你肮脏的小手接触到另一个进程的内存。当然,equivalent for writing以及所以你可以造成甚至更多的伤害:-)

所有这一切也取决于是否拥有正确的权限。

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

关于c++ - 让一个程序看到另一个程序的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4482911/

相关文章:

c++ - wxwidgets 自定义事件不会传播到父窗口

c++ - 从顶点着色器中修改着色器存储缓冲区对象

c++ - 在 MSVC 2010 上使用 bjam 构建 Boost 1.50 时出错

c - 如何知道我的二进制可执行文件的内存占用

c++ - 为什么指针的值会意外改变?

c - Realloc 函数无法正常工作?

c++ - C++ 中的 IEnumerable?

c++ - 是否可以从宏定义宏

c - 尽管内存已被释放,Valgrind 仍检测到内存泄漏

php - 替代 Stream_Copy_To_Stream() php