逆向实验:游戏破解.doc

逆向实验:游戏破解.doc

ID:53265143

大小:3.00 MB

页数:7页

时间:2020-04-02

逆向实验:游戏破解.doc_第1页
逆向实验:游戏破解.doc_第2页
逆向实验:游戏破解.doc_第3页
逆向实验:游戏破解.doc_第4页
逆向实验:游戏破解.doc_第5页
资源描述:

《逆向实验:游戏破解.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、冷却,还可继续使用。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。