进程 ($M, R$ 状态机) 在 “无情执行指令机器” 上执行
一些入侵进程地址空间的例子
如果我们能直接物理劫持内存,不就都解决了吗?
Game Genie: 一个 Look-up Table (LUT)
包含非常贴心的 “游戏内呼叫” 功能
本质:程序是状态机
“劫持代码” 的本质是 debugger 行为
修改 API 调用的值
set_alarm(1000 / FPS); // 希望改成 100 / FPS
锁定生命值
hp < 0
的判定 (尤其是一刀秒的时候)hp -= damage; // 希望 “消除” 此次修改
if (hp < 0) game_over();
用一段代码 “勾住” 程序的执行