吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 7679|回复: 106

[原创逆向图文] 三招干废“植物大战僵尸”

  [复制链接]
wanao2008 发表于 2020-8-6 11:02 | 显示全部楼层 |阅读模式

本帖最后由 wanao2008 于 2020-8-6 18:48 编辑

一直以来都是用CE修改“植物大战僵尸”的相关数据,突然觉得很不爽,为什么不直接修主程序呢?
既然学了逆向,为什么不用呢?
其实“植物大战僵尸”就三个关键点,一、阳光,二、冷却时间,三、一击毙命
哦对了,版本不同,地址可能不同,我的这个文件版本:1.0.0.1051

一、修改收取阳光得到的值
标准一个大阳光=25,小阳光(夜晚阳光)=15
1、启动游戏,打开CE,载入游戏,“首次扫描“当前阳光值50,会找到很多地址
2、当掉落阳光时收取,阳光总值变为75,回到CE“再次扫描“75,一般就剩下一个地址了
3、双击找到的地址,把地址放到下方地址栏,然后在地址栏鼠标右击地址选”找出是什么改写了这个地址“
4、当再次有阳光掉落并收集时,就会出现我们要的地址,如下图:
1-白天的阳光,大阳光.png
5、找到了关键地址:00430A11,用OD载入主程序,CTRL+G,输入地址,就到了程序处,如图:
3-1-.png
6、向上找到函数开始处下断,经过分析,得到ECX为增加的值,那么就找是谁修改了ECX,向上找到2处。
      1)、004309EF,2)、004309FB
      第一个19为十六进制,转为十进制就是25,既然找到了,那就不客气了,就看你想让一个阳光值多少了。
      我改为:004309EF    mov ecx,0x3E8
      第二个为小阳光的修改处,我改为:
      004309F6      cmp eax,0x5     ”这句没动,也可以NOP“
      004309F9      mov ecx,0x3E8

二、去除冷却时间
还是先用CE查找关键地址,方法如下:
1、先放下一个植物,然后回到CE,这时游戏自动暂停,“扫描类型”选择“值介于....两者之间”,输入10-1000,
(第三的一击毙命也是用这个方法)如图:
3-一击毙命.png
2、继续游戏后马上再回到CE,这样游戏又暂停了,这时“扫描类型”改为“增加的数值”,
    技巧:为了加快搜索,这里的“扫描类型”要经常变换,常用的有:
    1)、“增加的数值”
    2)、“未变动的数值”
    3)、“值介于....两者之间”
    以上三种方法结合使用,尤其“未变动的数值”能去除很多的数据。
3、最后就会找到一个相应的地址,同样双击,放到地址栏,然后在地址栏鼠标右击地址选”找出是什么改写了这个地址“
4、回到游戏,就会出现一个地址:
      0048728C   8347 24 01    add dword ptr ds:[edi+0x24],0x1
5、用OD载入游戏,CTRL+G来到关键地址处:
无标题1.png
关键代码就这4行:
0048728C  |.  8347 24 01    add dword ptr ds:[edi+0x24],0x1
00487290  |.  8B47 24       mov eax,dword ptr ds:[edi+0x24]
00487293  |.  3B47 28       cmp eax,dword ptr ds:[edi+0x28]
00487296  |.  7E 14         jle short PlantsVs.004872AC
这里修改方法很多种,大家可以交流,我说几种吧:
1)、00487296     /7F 14         jg short PlantsVs.004872AC
2)、将00487290行NOP
3)、00487293      83F8 00       cmp eax,0x0

三、一击毙命
同二的方法很相似,如下:
1、先放下一个植物,然后回到CE,这时游戏自动暂停,“扫描类型”选择“值介于....两者之间”,输入10-1000,如图:

2、然后回到游戏,当僵尸中弹后,再次回到CE,这时“扫描类型”改为“减少的数值”,
    为了加快搜索,这里的“扫描类型”要经常变换,常用的有:
    1)、“减少的数值”
    2)、“未变动的数值”
    3)、“值介于....两者之间”
    以上三种方法结合使用,尤其“未变动的数值”能去除很多的数据。
    提供一些数据供使用:僵尸的初始血量为270,豌豆射手的攻击为20。
3、最后就会找到一个相应的地址,同样双击,放到地址栏,然后在地址栏鼠标右击地址选”找出是什么改写了这个地址“
4、回到游戏,当僵尸中弹后,就会出现一个地址:00531319 - 89 BD C8000000        - mov [ebp+000000C8],edi
5、用OD载入游戏,CTRL+G来到关键地址处,下面的查找要比第二复杂一些,方法如下:
    1)通过F2下断,F8跟踪,此处并非关键点,必须上层查找。
无标题2.png
在堆栈处找到“返回到 XXXXXX.........”这样的地方,鼠标右键选“反汇编窗口中跟随”
就会跳转到上层地址处,从这里向上找到本段程序(函数)的入口处,一般都是“PUSH XXX”
下断(F2),跟踪(F8)分析后,没发现关键代码,继续向上层查找,
还是到堆栈处找到“返回到 XXXXXX.........”这样的地方,鼠标右键选“反汇编窗口中跟随”
无标题3.png
同样向上找到本段程序(函数)的入口处:0046E003   .  53            push ebx
下断(F2),跟踪(F8)分析后找到关键地址处:
无标题4.png
经过分析发现这里给寄存器EDX赋值0x14,也就是十进制的20,正好是豌豆射手的实际伤害值。
0046E073      8B148D C8F16900        mov edx,dword ptr ds:[ecx*4+0x69F1C8]
由此可得:dword ptr ds:[ecx*4+0x69F1C8]=伤害,
改:mov edx,0x1000,让伤害为1000(这是十六进制的1000,你转为十进制看看。)

怎么这么费尽?不能简单点吗?
重新分析00531319地址代码处:
0053130F    2B7C24 20       sub edi,dword ptr ss:[esp+0x20]
00531313    894424 1C       mov dword ptr ss:[esp+0x1C],eax
00531317    8BC5            mov eax,ebp
00531319    89BD C8000000   mov dword ptr ss:[ebp+0xC8],edi
0053131F    E8 ECC3FFFF     call PlantsVs.0052D710

00531319    89BD C8000000   mov dword ptr ss:[ebp+0xC8],edi
看上面这句代码的意思是将EDI的值存到ebp+0xC8地方,分析得到EDI为中弹后剩余的血量。
那么只要将EDI变为0,就可以了。
mov dword ptr ss:[ebp+0xC8],0,这样修改行吗?答:不行,因为这样修改会把下面的CALL语句覆盖。
向上找,看谁修改了EDI,0053130F处sub edi,dword ptr ss:[esp+0x20] 修改了EDI,就改它。
这里方法很多,比如sub edi,edi,xor  edi,edi。


至此,三项全部修改完成,再也不用每天打开CE来修改了。

其实说句实话,本来很好玩的游戏,一但修改了,就没意思了!

欢迎回贴交流!






评分

参与人数 66威望 +1 HB +159 THX +35 收起 理由
lies + 1
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
DDK4282 + 1 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
EMT + 1 + 1
虚心学习 + 1
创客者V2.0 + 1
459121520 + 1
美好映像 + 2 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
sjtkxy + 1 + 1
四脚吞金兽 + 1 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
大龙科技 + 1
菜而爱玩 + 1
臭打蛋 + 1
消逝的过去 + 1
后学真 + 1
冷亦飞 + 1
xgbnapsua + 2
平安 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
fjgh + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
菜鸟上路 + 1
倚窗听雨 + 1 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
小老头 + 1
zoe + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
temp + 1
crosssss + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
清风而已 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
ldljlzw + 1
爱慧琼 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
我是好人 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
playboy + 2
拿着雪糕 + 1 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
h112233h456 + 1
kll545012 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
bnjzzheng + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
mengzhisuoliu + 1
2036263631 + 1
fxk290666763 + 1
谈心123 + 1 [快捷评语]--积极评分,从我做起。感谢分享!
foreversos + 1
liugu0hai + 1 [快捷评语]--2021年,我们爱0爱1
brswbx201610 + 1
a810680485 + 1 + 1
mengzhisuoliu1 + 1
goldmvp + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
6378895 + 1 + 1
beijita520 + 1
a2605720503 + 1 [快捷评语]--2021年,我们爱0爱1
zwj00544 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
kefeijiajia 发表于 2020-8-6 22:41 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
moli9 发表于 2020-8-6 22:59 | 显示全部楼层

纯小白居然看懂了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
chenye 发表于 2020-8-6 23:30 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| wanao2008 发表于 2020-8-7 08:42 | 显示全部楼层

谢谢各位的支持!写的不好,请多指教!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
pansophy 发表于 2020-8-7 13:26 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| wanao2008 发表于 2020-8-8 22:34 | 显示全部楼层

"植物大战僵尸"都被大家玩坏了,成了练手神器了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
小柒 发表于 2020-8-17 21:19 | 显示全部楼层

感谢分享教程
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jayfox 发表于 2020-8-22 21:13 | 显示全部楼层

无敌是多么的寂寞,所以还是慢慢玩吧
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hchack 发表于 2020-8-23 10:03 | 显示全部楼层

无敌之后就不好玩了,还是慢慢得玩吧
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表