0%

优雅地使用 Pizza Boy GBA 金手指

最近偶然又玩起了GBA游戏,瞬间又像是回到了儿时的时光。也碰到了许久以来的老问题,如何作弊,毕竟游戏里刷资源和练级实在是体力劳动,年龄大了毕竟肝不动了。

先说一下,我现在玩GBA的平台是安卓的Pizza Boy GBA模拟器加游戏手柄,总体游戏体验感觉比GBA真机还好,毕竟现在的设备机能放在这,而且还有倍速播放相关功能。

寻找金手指

我这次玩的是口袋妖怪叶绿386改版,在网上找的金手指虽然说是386版本金手指,但是经过实际测试都是叶绿原版并不支持386,比如这个

金手指的原理其实和通用的单机游戏作弊工具(cheat engine, 金山游侠等)相同,都是修改游戏内存数据。其关键就是找到我们想改的数据的内存地址,所以常规方法都是通过工具搜索相关数值,比如金钱数量,一般要经过多次搜索,可以参考这个教程

但GBA好像有些不同,我也曾用cheat engine搜索过,并不能找到相关的内存地址,可能是模拟器的机制导致数值并不能被直接搜索。而且安卓手机上由于权限的问题,类似cheat engine这种读内存的机制肯定是需要root的,这条路就行不通了

最后还是只能走金手指的路子了,毕竟模拟器原生支持,所以又回到了最初的问题,怎么找到正确的金手指。

VBA查找金手指功能

幸好,Windows平台常用的GBA模拟器Visual Boy Advance(VBA)带有金手指查找功能,所以先用VBA找到正确的金手指,然后再转换成Piaaz Boy GBA支持的金手指格式。

网上能找到的金手指一般是类似03005102:63格式的,冒号前后表示的是16进制表示的地址和对应的值。而网上找的金手指不对,肯定是因为前面的地址不对。

用VBA加载口袋妖怪叶绿386,先过一段剧情,来到第一个城市(常磐市)的商店,查看商品列表,并选择一个商品。
-w719

打开菜单:金手指 -> 查找金手指,点击开始,然后输入21,点击查找,可以看到有几十个变量。
-w415

增加想购买的数量到23,然后再次输入23,点击查找,可以看到就剩余一个地址了,显然这个就是我们想要的,如果还有多个地址,就重复这两个流程,再次修改数量再查找。
-w1145

选择这条地址记录,添加金手指,把数字设置为98,就会自动添加到金手指列表,并启用该金手指。
-w417

金手指列表,我们添加的处于启用状态
-w417

在游戏中确认购买,可以看到购买的数量变成98了,但是总价没有变,金手指生效了。
-w720

VBA内存查看器功能

但是这金手指只能修改购买数量,不在商店列表里的商品并不能购买,所以我们必须找到当前选中商品对应的地址,再添加一条相关的金手指。

网上查到的金手指虽然地址不对,但是对应的值(道具的id)应该是对的,下面是口袋妖怪的一些道具id。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
0001 大师球
0002 超力怪兽球
0003 超级球(比怪兽球更厉害些)
0004 怪兽球(普通的球)
0005 砂狐球(砂狐乐园专用球)
0006 触网球(容易抓水和虫类的怪兽)
0007 大布斯球(容易抓海底的怪兽)
0008 尼斯道球(怪兽越弱越容易抓)
0009 利比道球(容易抓抓过的球)
000a 达伊玛球(回合数越长越容易抓)
000b 高基石球(抓到的怪兽变亲密)
000c 布雷密球(珍惜怪兽球)
000d 伤药(体力恢复20
000e 解毒药(恢复毒状态)

由于已经找到了购买数量的地址,根据编程的常识,选中商品的地址应该也在这个地址附近。
所以打开工具 -> 内存查看器定位到地址030050C2
-w567

在游戏中,分别选中“解毒药”和“伤药”,并观察内存变化(每次改动完点刷新)。
-w573
-w569

由上两张图可以看到,有个地址的值由000E变为000D,正好等于这两个道具的id。
所以该地址030050CA就是我们想要的商品地址,我们就增加一条金手指030050CA:0001将购买的商品改为大师球。
-w573
-w419

启用这两条金手指,在游戏中点击购买,可以看到生效了。
-w477

在Pizza Boy GBA上使用金手指

Pizza Boy GBA并不支持VBA格式的金手指,所以必须进行格式转换,由于VBA格式金手指和CodeBreaker格式金手指转换起来比较接近,只要将地址首位的0替换为8就行了。

转换前

1
2
030050C2:0062
030050CA:0001

转换后

1
2
830050C2 0062
830050CA 0001


最后

以上查找方法理论上对所有GBA游戏都适用,祝大家玩得愉快!!!

参考

  1. https://zhidao.baidu.com/question/445579878.html
  2. https://zhidao.baidu.com/question/1690370269971489228.html