CE挂OD找天龙背包数组Word文档下载推荐.docx
《CE挂OD找天龙背包数组Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《CE挂OD找天龙背包数组Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
我们再直接搜11其实也可以搜索减少的数值,但是我觉得麻烦一点而已
搜索完了,出来了三个地址,我们再改变一下数值,看看有没有结果
现在再搜索13
大家可以看到,这样是找不到,我们换一种类型再来试试看
我们先直接用1字节的数据类型来试试
搜索结果出来了,可以看到搜索出来了好多个
现在我们再把物品的数量改成11,再搜索一下
现在可以找到一个地址,说明程序定义物品数量这个变量的数据类型是字节型的,我们可以看出来,记录这个数据值的内存地址是06F2985C
好了,现在我们换OD上场,先打开OD载入游戏,并让游戏运行后,在命令栏内输入dd06F2985C并回车
在这里可以说明一下,其实我个人觉得用db06F2985C这个命令也是可以的,只不过用db命令需要选择前四个数值再下断点而已用法跟dd命令差不多,我还是先用DD命令。
我们接着说,下完dd命令后,下硬件访问断点其实这个游戏下内存访问断点也是可以的,关于用什么方法下断要根据具体游戏而言,有时候不同的游戏要下不同类型的断点。
下断后,我们切换进入游戏,选择物品或是改变物品数量,这时游戏断了下来
根据汇编代码可以看得到moval[ecx+3c]ecx=06f29820
好了,我们先清除硬件访问断点,清除后让游戏运行起来,防止游戏长时间断下来挂掉。
现在我们转到CE去找一下这个地址
找到了一个地址,地址是09db9804
我们换OD上,在OD的命令栏里打上dd09db9804并回车下硬件访问断点
下断后,我们切换游戏,选择物品,这时游戏断下来,如果断不下来可以改变一下物品数量,以后切换游戏不再重复以上内容
游戏断下来了,可以看得出来
movecx[esi+14]
esi=09db97f0
好了,我们切换CE来再来找这一个地址
好了,可以看到出现了二个地址,我们来找第一个,如果第一个找不出来的话,再找第二个地址,以此类推
我们换OD断这个地址
下断后,切换游戏,OD断下
大家可以看一下这段汇编代码
lea
edi
ptr[ecx*4]
movecxdwordptr[edi+eax]
我们来整理一下
所以说,这里出现了数组了,[[ecx*4]+eax]所以说,在这里大家要注意一下看代码
并且eax=028caab0
但是我们还要找出ecx的值,在这里,大家不要看断下来寄存器ecx的值,因为这里的ecx的值是不对的,我们要重新下断,直接在上一句leaedi[ecx*4]这里下F2断点
取消硬件断下后,让游戏运行,然后再切换游戏,选择物品,OD断下游戏
这时大家可以在寄存器窗口看到ecx=0说明是物品的位置,也就是第一栏的位置
好了,我们接着讲
刚才我们讲到数组了,我们找出eax=028caab0ecx=0我换用ce来找eax的地址
好了,找到了一个地址,我们换OD下断
下断后,切换游戏,选择物品或是改变物品数量,游戏断下
可以看得出
moveax[esi+380]esi=02902cc8再换ce来找地址,大家不要烦啊
一样找出来三个地址,其中前二个都是绿色的,有可能前二个都是基址,我们先把二个都点下来,一个一个来试我们先试第一个转入OD下断
切换游戏,游戏断下
在可以看到到基址出来了movecx[6669b8]
好了,第一个基址出来了,我们进行一下验证
打开CE我们来进行一下验证我们把基址和偏移都输入进去后
出现了这样的数值,明显和我们要找的数值不同,然到这错了吗?
刚才出来的结果和我们的要的结果不相同,因为开始用CE找地址的时候用的是字节类型,现在我们把类型改成字节类型
现在第一个基址出来了,我们再来找第二个绿色的地址,看他是不是也是基址,有可能一个游戏的背包数组基址不止1个基址,我们多试一下。
我们来下第二个地址的断点
下断后,切换游戏,选物品后,游戏断了下来
现在我们来看一下
同样也出来了一个基址moveax[666d20]
我们来测试一下看看是不是正确的
好了,大家可以看得到,二个地址都是正确的,我们现在再打开背包看一下
好了,是正确的,这个教程就写到这里吧,希望以后可以跟大家共同的交流