日期 : 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;`