使用过 cheat engine 这种比较通用的内存修改器,貌似是通过数值变化(你的钱从 500 变到 300 ,游戏进程内存刚好有 500 变到 300 的变量)来知道某个指标(金钱、生命)存储在哪个内存地址。 但是对于特定游戏的修改器,如风灵月影这种,似乎不需要通过数值变化,就能知道金钱变量存储在哪个地址(相对地址,进程空间内)?我理解进程很多内存空间都是动态分配与释放的,某个变量固定在某个相对地址不太可能? 变量, 内存, 地址, 进程
进程都是从 0 开始的相对地址,实际物理地址是操作系统和硬件一起管理;分配到栈空间的变量相对地址固定,比如全局变量、函数内静态变量,角色属性多半是这种;堆空间虽然是动态分配,也可以找到某个定值的地址再通过固定的偏移找到目标变量吧