目录
1.阳光数量(找出阳光基址)
2.向日葵生产阳光速率(基址)
3.“阳光雨”(无限掉落阳光基址)
1.阳光数量(找出阳光基址)
首先,游戏刚开始时,我们可以看到此时阳光数量为50。
在CE里,“精确数值”扫描数值50,点击“首次扫描”。
继续游戏,当点击掉落的阳光后,阳光数变为了75。此时,在CE里输入75,“再次扫描”。
可以看到结果只有一个,我们找到了存放阳光的地址。有童鞋可能会问,这样就可以修改阳光了吗?当然可以,但是它并不是绿色的基址,也就意味着当我们重启游戏后,该地址就会失效,本教程将提供查找阳光基址的方法。我们双击添加到下面的显示框里,右键该地址,点击“找出是什么改写了这个地址”。
调试器附加到当前进程后,我们需要切回游戏,种植一枚向日葵,再切回CE,可以看到如下界面。
双击这一行指令(或选中点“详细信息”),可以看到该指令中5560即为指针偏移量。CE给了我们提示:要查找的地址可能是1D200FE0。
我们首先应该记住这个第一次偏移量:5560。
(PS:右键“可能是”后面的地址,可以直接复制)切回CE,点击“新的扫描”,因为我们要搜索地址,而地址的表示形式为16位,所以要把搜索框左边的Hex勾选上,搜索1D200FE0,点击“首次扫描”。
一共有36个结果。但是别急,CE一般会把最有可能的地址放在前几个,还有一种技巧就是要找的地址一般是和其他大部分地址明显不同的。(如第7行之后都是1D开头,基本排除)。
我们可以对可能的地址右键“找出是什么访问了这个地址”,逐一查看。
当发现指令较为工整(如下图)时,我们基本可以继续进行下一步了。
双击第一行,可以发现新的偏移量为768,要查找的地址可能是02879B88。
记录二次偏移量:768。
再次搜索该地址,此时可以发现结果有绿色的基址了,我们双击任意一个基址添加到下面的显示框中,可以看到该基址为:006A9EC0,还记得之前的偏移量吗?我们现在可以用“基址+偏移量”的方式来找到存放阳光的位置了。
点击“手动添加地址”,勾选“指针”,因为有两次指针偏移,所以点击“添加偏移”,在下面的地址框里输入刚刚找出的基址006A9EC0,因为偏移量第一次为5560,第二次为768,所以从上往下依次写5560、768,最后单击“确定”,添加成功。
如图,现在我们可以通过修改这个地址的数值来对游戏阳光的修改了,而且重启游戏后地址仍然可用。
2.向日葵生产阳光速率(基址)
分析:向日葵每生产一次阳光就会进入CD,我们可以通过CD的变化来实现修改向日葵生产阳光速率。
点击“新的扫描”,为了方便查找,我们重新开启这一关卡,并种下一颗向日葵。
因为不知道向日葵CD初始值,所以搜索“未知的初始值”。
切回游戏状态,再切到CE画面,此时向日葵生产阳光的CD应该缩小了,我们搜索“减少的数值”。
重复以上步骤,直到向日葵生产出了新的阳光(如下图),此时向日葵生产阳光的CD应该增加了,我们再搜索“增加的数值”。
然后,继续游戏,“减少的数值”……
筛到最后,只剩下一个地址,通过观察可知,当该地址的当前值为0时,向日葵刚好生产了一次阳光。由此可以推出该地址就是代表向日葵生产阳光CD的地址。
我们双击添加到CT表中,数值改为0并激活(点击地址那一行最左边的框,变为叉),可以看到实现了向日葵一直吐阳光,达到了修改向日葵生产阳光速率的目的。
我们进一步寻找基址。
可能地址1D204FE0,一级偏移58。
可能地址1D711538,偏移量AC。
可能地址02879B88,三级偏移768。
找到基址了!手动添加地址……
3.“阳光雨”(无限掉落阳光基址)
分析:由上面的实验推断掉落阳光也是存在CD的,我们仍然用该方法即可查找掉落阳光的地址。
老样子,为了方便查找,重新开始本关卡,查找未知的初始值。
通过切回游戏状态再切回CE查找减少的数值进行筛选。
第一个阳光掉落时,搜索增加的数值,然后继续重复上述步骤。
筛到最后只剩一个地址,观察可发现,该地址即为掉落阳光CD。
通过尝试可以发现,当把数值修改为“1”并锁定时,就可以实现“阳光雨”功能了!
进一步查找基址。
可能地址1D296D80,一级偏移5538。
可能地址02879B88,二级偏移768。
找到基址啦!
手动添加地址:
这样我们就找到了“阳光雨”的基址,重启游戏后也能生效哦!
当然最后,不要忘记保存我们的CT表,这样下次启动CE时就可以直接导入CT表了。