欢迎来到天天文库
浏览记录
ID:53265143
大小:3.00 MB
页数:7页
时间:2020-04-02
《逆向实验:游戏破解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、逆向分析实验报告【实验目的】通过对电脑单机游戏植物大战僵尸的逆向分析、破解,进一步熟悉常用调试工具,如Ollydbg、cheatengine,同时能更熟练的掌握了调试中常用的方法和技巧。更加了解如何在工具中设置断点,帮助分析代码。【实验要求】一、完成基本调试工具的下载和使用。二、使用调试工具对程序进行分析,找到程序关键代码三、在ollydbg中修改程序关键代码或逻辑。具体完成以下两处主要破解:1、增大每次阳光的拾取值。2、去掉植物冷却时间。【实验环境】开发平台:windows10调试工具:OllyICE吾爱破解专版、CheatEnigine6.7
2、待破解程序:PlantsVsZombies.exe(植物大战僵尸年度旗舰版)【实验过程】一、改变阳光拾取值,步骤如下:1、运行游戏PlantsVsZombies.exe并在OllyICE中附加进程PlantsVsZombies.exe。2、在CheatEngine中附加游戏PlantsVsZombies.exe进程。3、观察游戏,发现阳光初值为精确数值50,且拾取一次阳光时数值变为75,阳光拾取值为254、游戏刚开始时,阳光值为50,暂停游戏,立即在CE中首次扫描精确数值505、回到游戏,拾取一次阳光后,阳光值变为75,暂停游戏,在CE中再次扫描
3、精确数值751、此时CE中可以得到存放阳光值的内存地址,保存该地址到记事本2、在OllyICE中搜索上述存放阳光值的内存地址并在该地址设置“内存写入”断点,可知该地址的值4B即阳光值753、F9开始游戏通过消耗25阳光值进入断点,但是观察该处未发现有何类似对阳光进行运算的语言,所以在该处后添加注释“怀疑”,后再F9进入游戏通过拾取阳光改变阳光值。1、果然,通过拾取阳光改变阳光值后跳转到了一个函数,通过查看上下文发现0044ba28有一个将之前发现的太阳的内存地址中的数值mov到eax的操作,所以eax应该就是太阳的数值。并且我们发现0044ba2
4、6有一个跳转至0044ba42即我们的断点的前一位,通过观察我们可以发现在0044ba21位上的mov操作:将0x19附于eax。巧合的是0x19转化为十进制正是25,即游戏中每次拾取阳光的阳光的增加值。于是我们猜测,0044ba21位上的19正是我们每次增加的阳光,同时发现从21到26中间有10个字节的空间可以使我们改动,于是进行尝试改动,之后发现成功。在30位上的mov操作同样引起了我们的注意,我们猜测这里是阳光值初始化的地方,接着我们进行了改动,但是测试后发现没有成功,只好暂且作罢。一、改变植物冷却时间步骤如下:1、运行游戏PlantsVs
5、Zombies.exe并在OllyICE中附加进程PlantsVsZombies.exe。2、在CheatEngine中附加游戏PlantsVsZombies.exe进程。3、观察游戏,发现植物冷却时间不同,此时待所有植物冷却完毕后,为了更好的寻找存放冷却间隔时间的内存地址,考虑先选择单一植物实验,通过选定植物冷却间隔时间值的变化,找到该植物的冷却时间内存地址4、首先猜测冷却时间是个倒计时计时器,即当冷却间隔时间越小,植物越接近冷却完,当时间间隔为0时冷却刚好完毕,当再次种下该植物时,间隔时间最大。通过后续实验发现,在CE中找不到这样的数值,故猜
6、测错误,结果相反。即冷却时间间隔是正向计时的,冷却时间间隔是从0不断增大至最大值,当冷却间隔值为0时,表示刚种下该植物;当冷却间隔值为最大时冷却刚好完毕。5、当游戏中所有植物冷却完毕后,种下选定的植物后,立即暂停游戏,在CE中首次扫描未知的初始值。6、回到游戏,继续游戏进程后立即暂停游戏,回到CE中再次扫描增加的数值。7、在该植物冷却完成前,不断重复该步骤若干次后,在CE中只有少量内存地址,观察数值可得到存放该植物冷却间隔时间的内存地址为,保存该地址到记事本1、在OllyICE中搜索上述存放该植物冷却时间间隔值的内存地址,并设置“写入内存”断点。
7、进入游戏改变冷却。观察可知从00482fea到00482ff0存在一个逻辑:给该内存的数值+1,并且将该内存的值赋予eax,直到eax大于另一个内存的值进行跳转。这正是冷却计时的原理所在,对比另一个内存的数值可知道,这个数值就是该植物的最大冷却时间,一旦该植物的eax值小于该值,在会在00482ff3处跳转。由此可知,我们可以不让他跳转来使该植物不进入冷却状态,于是将00482ff3改为nop即可。经过测试果然可行,实验成功!【实验结果】1,将添加的太阳值改成了256,初始太阳值为50,拾取了一个阳光后为306。2,种下一个卷心菜后,植物没有进入
8、冷却,还可继续使用。
此文档下载收益归作者所有