为什么游戏修改器能修改其它程序的内存?

日期 : 2020-09-27 12:00:56作者 : 冰淇淋

操作系统不是使用虚拟地址空间管理每个进程的内存,每个进程的内存空间是独立的,其它进程访问不到的么,那为啥可以写游戏修改器,修改游戏程序的内存变量。

操作系统提供支持啊,不然调试器怎么去看进程的变量。

Linux 下去查

pread

pwrite


Windows 下查

OpenProcess

ReadProcessMemory

WriteProcessMemory

分 2 种,一种 External,另一种 Internal 。

External 的,使用 WindowsAPI OpenProcess ReadProcessMemory WriteProcessMemory 来操作内存。

Internal 的,通过 dll 注入,直接附着到目标进程,就像在自己家里面一样,例如可以直接`player->health = 5000;`


标签 :