内存工具
在游戏里找到任何一个数,锁住它,做成换了存档也照样有效的金手指,全程不用离开游戏。还能更进一步:改变游戏的行为,甚至左右它的运气。
用来做什么
自带金手指库收得再全也有漏的:冷门游戏、汉化版、改版,或者只是你在意的那一个数。内存工具让你自己做。大多数模拟器做到「搜索、锁定一个地址」就停了,RetroGenY 往下走了好几步:
- 浮在游戏上面的小窗口。可以拖、可以调大小,让你要找的那个数一直露在外面,边玩边搜。
- 换了存档也有效的金手指。用监视点看出游戏自己是怎么找到这个值的,生成的金手指照着同一条路走,写成扩展码。
- 改游戏的行为,不只是改数值:让某个数只增不减、跳过某个判断,都从「改过这个值的指令」列表里选。
- 控制随机。找到随机数种子,提前看到接下来会出什么,或者让每一次判定都取最好的结果。
内存工具窗口浮在游戏上。拖标题栏移动,拖右下角调大小。
打开它
- 在游戏里打开游戏菜单,在「工具」里打开 内存搜索。
- 游戏机身下面会出现内存搜索键,点它打开窗口,点 ✕ 关掉。搜索进度会一直保留。
内存搜索是高级功能:看一段广告,1 小时内都能用。用它做好的金手指和其他金手指一样存下来,以后照常生效。
找到一个数
比如你有 1250 块钱,想要 999999。
- 选宽度。钱一般是 16 位或 32 位;命数这类小数字常是 8 位。拿不准就先试 32 位。
- 输入看到的数(1250),条件保持「=」,点 开始搜索。
- 在游戏里让这个数变一下:买点东西,或者捡点钱。
- 输入新的数,点 继续筛选。重复几次,直到只剩几个地址。
- 在结果上点 金手指,「锁定为」填 999999,点 保存到金手指。
不知道具体数字?血条、计时、隐藏属性都不显示数字。那就按条件找:挨一下打,用「已减少」筛;回血,用「已增加」筛;站着不动,用「未改变」筛。另外还有「不等于」「大于」「小于」。
换了存档也有效
单纯锁一个地址,游戏一挪数据就失效,而很多游戏每次存档都会挪。内存工具这样解决:
- 在找到的结果上点 监视。
- 在游戏里让这个值变一次。
- 模拟器会停在写入它的那条指令上,并记下游戏是怎么找到这个地址的。
- 再点一次 金手指。这次生成的码会跟着游戏自己的指针走,并且会明确告诉你:「通过游戏自身的指针定位,更换存档后依然有效。」
左:设过监视点后生成的金手指,是跟指针的扩展码。右:「运气」让每一次随机判定都取最好(或最差)的结果。
改变游戏怎么做
有时候锁定数值并不是你想要的。你想要的是花钱不减、但赚钱照样加;或者某个判断永远通过。「监视」页会列出写过这个地址的每一条 写入指令,带次数:
- 点 清空计数,然后在游戏里做那件事(买东西、挨打)。勾上「记录写入但不暂停游戏」,玩起来不会一卡一卡。
- 回来找次数增加了的那一条。
- 点 修改,选一种改法:替换为 NOP、加减互换、改常数、永远跳转、永不跳转、写死寄存器的值,或者自己写一行汇编。
- 改完就是一条普通的金手指,名字你自己起。
游戏的代码经常是共用的:扣钱的那段可能也负责发奖励。可能出现这种情况时 App 会提醒你;可以用断点确认这条指令只在你预期的时候执行。关掉这类改指令的金手指,要重进游戏才会恢复。
随机和运气
大多数游戏的随机数是一行乘加算出来的,种子那 4 个字节因此是内存里唯一每次变化都满足同一条式子的数据。「种子」页帮你把它找出来:
- 运气:选「最好」或「最差」,游戏里每一次随机判定都会被压到最小或最大。会心一击、稀有掉落、捕获率都算。如果开「最好」反而什么都失败,说明这个游戏是掷得越大越好,改用「最差」。敌人也会受影响,用完记得关掉。
- 高级:把游戏停在不动的地方扫描种子,预测接下来会出的数,还能锁定种子。
给喜欢折腾的人
- 内存:任意地址的十六进制视图,从搜索结果一点就到。
- 断点:某条指令执行时停下,再一条一条单步,看寄存器。
- 窗口关着时监视点照样在工作。一触发,窗口会自己弹出来。
和别的模拟器有什么不一样
- 搜索、锁定、保存都在游戏里完成,不用切出去。
- 自动生成跟指针的金手指,下次存档不会失效。
- 从真实的写入指令列表里改游戏行为,不用会反汇编。
- 运气控制对很多游戏都管用,因为它针对的是游戏掷骰子的方式,而不是某一个游戏的地址。
- 做出来的都是普通金手指:起名字、开关,和其他金手指一样。


