求《植物大战僵尸自动阳光》阳光自动收集器。

您现在的位置:>>
>>正文内容
【原】用CE查找《植物大战僵尸》游戏阳光值基址
新手初学内存数据分析,工具用的CE 5.6版本,网上随便下的。分析内存数据,对于写游戏辅助是非常重要的技术。这里将植物大战僵尸游戏阳光值的基址寻找过程大概的记录下来,以便以后查阅,避免忘记。
首先打开植物大战僵尸游戏:
打开ce工具,找到游戏进程,打开。
开始阳光值是50,一般而言,我们猜测应该是用一个int类型的变量存放阳光值,一个int类型是4个字节,故ce查找使用4字节,精确查找,输入50,首次搜索。
左边出现了很多值,这时候到游戏中,种一个向日葵,阳光值变成0。到CE种搜索精确数字0,再次搜索。
这时候左边列表中只有一个选项了,将其加到下面的地址列表中,为了验证正确性,将其值修改下,看看游戏中阳光值是否也修改了。
游戏中阳光值也修改了,确定找到的是正确的,右键该地址&&查找写入该地址的代码,会出现一个空的窗口。
回到游戏中,改变下阳光值。这时候切换回ce,空窗口中有了东西,双击该地址,可以看到edi+0005578h地址里就保存了阳光值,而保存edi值165D4008的地址就是上级地址,暂定为一号地址。右键复制代码到新建文本文档中,保留后面使用。
回到ce主界面,来看看是哪个地址保存了edi的值,勾上hex,将edi的值165D4008填入。新的搜索。
可以看到左边又出现了一堆的值,不用怕,根据某个wg教程(具体忘记是哪个了),如果不是基址,以类似001xxxxx的地址保存的一般都是堆栈数据,可以删除不考虑。将剩下的数据加入下面的地址列表中。
找到刚刚加入的数据的第一项,右键&&查找访问该地址的代码(注意不是写入该地址的代码),出现一个窗口,里面有一堆数据,并且每项被访问的次数都在疯狂增加,先不管他,为了有针对性,再到游戏中改变下阳光值。回到刚打开的窗口,最后面会出现几个新的项。优先选择访问次数少的(也就是我们改变了阳光值,他才访问,而不是不改变也访问)mov指令项,双击查看详细信息。
可以看到地址ecx+h中保存的是前面暂定的一号地址,该地址指向的值是165D4008,而ecx中保存的值是010A9138,那么又是什么地址中保存了这个值呢,这里保存165D4008值的地址暂定为二号地址。右键复制代码,保存在前面新建的文本文档中,以便备用。
回到ce主界面,勾上hex,填入010A9138,新的搜索。
这时候可以看到左边出现了几个绿色的地址,在ce中,绿色标注的地址就是基址。故将几个绿色地址再加入下面的地址列表中。
随便挑选一个绿色的地址,如果该地址指针+若干偏移后能正确的指向阳光值保存的变量,就说明找正确了。添加一个指针,填入基址,然后按照前面文本保存的数据填入多个偏移地址。这里基址和保存阳光值的变量的关系为:
一级地址=基址里保存的值
二级地址=地址[一级地址+h]里保存的值
阳光值=地址[二级地址+h]里保存的值
测试确认基址是否正确,修改下刚刚出现在下面地址列表里的那一项的值,如果游戏中阳光值也变化了,说明基址查找正确。2.68 KB  46 赞
可以彻底解放你的双手

参考资料

 

随机推荐