像 Cheat Engine 这样的软件是如何工作的?

shu*_*ain 7 memory virtual-memory

Cheat Engine是一种用于搜索和修改其他正在运行的进程的内存的工具。我曾经认为这非常简单:访问一个地址并简单地修改它。但我现在意识到事情并没有那么简单。每个进程都有自己的虚拟内存,两个进程不能玩彼此的内存。那么作弊引擎究竟是如何破坏进程隔离并修改其他进程的内存的呢?

cpa*_*ast 4

一个进程可以附加到另一个进程,以便它可以访问该进程的内存。这是为调试程序而设计的 - 调试器需要附加到正在调试的进程,并且需要能够读取任何内存数据、中断执行、编辑内存数据、注入代码等。Cheat Engine 只是重新调整这些调试器的用途功能以在游戏中作弊。

  • 那么,如果进程具有这种进程间内存访问方式,那么内存保护有何用处呢? (3认同)
  • @Gonzalo 在 Linux 上有用户权限,普通用户无法将进程作为调试器附加到属于 root 的进程,只有当您拥有正确的权限时才可以进行此附加,这使得保护仍然有用 (2认同)