吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 31879|回复: 67
收起左侧

[游戏安全] 植物大战僵尸自动收集阳光&金币

  [复制链接]
b1ackie 发表于 2019-8-2 16:02
本帖最后由 b1ackie 于 2019-11-27 09:07 编辑

一.自动收集阳光
大致思路,猜测有一个点击阳光的函数,当我们点击阳光后,会调用它,完成增加阳光的一系列操作。但是只有当我们点击的是阳光时,才会调用它,所以点击阳光应该是有一个判断的,判断点击的是否是阳光,找到这个判断应该是可以实现自动收集阳光的。
分析
我们可以通过找到点击阳光的函数,再去寻找判断来达到我们的目的。点击阳光后会增加阳光数量,那么我们就可以先去寻找存储阳光的地址。使用CE,寻找存储阳光的地址,附加游戏后,每当游戏中的阳光数值变化后,在CE中使用精确数值搜索,搜索当前阳光值,确定一个地址后,将其中的值修改为999,发现游戏中阳光数量也随之变化,那么这里就是存储阳光的地址 。
CE寻找阳光存储地址.png
右键点击这个地址,选择find out what writes to this address,回到游戏中,等待一个掉落的阳光,点击增加阳光后,这个窗口出现了变化,记住这个地址0x43C0AF,使用OD搜索此地址进行分析(此时需要关闭CE,才能使用OD附加程序)。
CE寻找.png
使用OD进入此地址进行分析,在这里下断,每次增加阳光时都会断下来,阳光数值的变化是阳光本身的值加上ecx的值,看当前ecx的值是0x19(25)这正是一个大阳光的值。
增加阳光的地方.png ecx的值.png            
执行返回到上一层,根据里面的代码分析,我们刚才出来的这个函数,就是当我们点击阳光后,增加阳光数量的函数。点击阳光的判断并不在这里,这个函数只是当阳光到达左上角时增加阳光数量而已。
阳光增加.png

继续执行出去,返回之后,在上面这个函数下断,回到游戏中,当我们点击阳光时就会断下来,F9后,回到游戏中点击继续游戏还是会断下来,但是发现阳光的位置发生了改变,不断的在向左上角移动,那么这就是点击阳光的函数了。

点击函数.png

在点击函数的上面有许多的判断跳转,其中有一个关键的跳转决定是否进入此函数。猜测这里大概是一个标志的判断,判断我们点击的是什么,如果点击阳光的话,就进入这个函数,否则不会进入这个函数。我们可以去查看这个地址,是否符合我们的猜测。
判断.png


找到与0x0比较的这个地址,下一个内存断点
内存断点.png
回到游戏中,点击一个阳光,程序断了下来,可以看到给这个地址赋值1,与0作比较是会跳转的。
1.png
当我们点击一个植物时,程序断了下来,可以看到赋值0,JNZ是不会跳转的。这里应该就是一个点击标志的判断,只有当我们点击阳光的时候才会赋值1,调用函数。但是有一个问题是,有的时候点击植物的时候并不会断下来,在后续的调试中发现,这里并不是判断植物的,产生阳光的时候才会赋值0,这里后续会提到。
0.png
修改就很简单,只要让这里无条件跳转即可,改为JMP。
阳光修改.png

二.自动点击金币
有了阳光的经验,金币就好办多了,还是寻找金币的存储地址。但是没有通过精确搜索找到金币的存储地址,没办法只能用别的办法。

精确搜索.png

通过寻找当前减少的数值,来寻找。不断的寻找减少的数值和未改变的数值,寻找,最终筛选剩下4个,尝试修改其中一个,发现游戏中金币数值改变。看到实际中存储的数据,比游戏中显示的少了一个0,之后再搜索寻找,发现金币数值除以10即可精确的找到地址,金币的数值在内存中应该是少了一个0进行存储的。

变动搜索.png



还是老方法,右键,选择find out what writes to this address,增加一个金币之后,记下这个地址回到OD中搜索。收集一个金币,看到给地址中的数值加了1,但是一个小金币的数值应该是10,说明金币的存储在内存中是少一个0的。


金币地址.png

执行出去,可以发现居然是刚才阳光的函数,说明点击增加阳光和金币是同一个函数,那么修改同一个条件就可以实现自动收集阳光和金币。


金币call.png

回到刚才增加金币的那里,向上查看就能看到阳光的增加函数。分析一下是如何判断金币和阳光的。看到是通过eax的值来判断的,动态调试看到,eax=4或5时,代表阳光的增加,1和2的时候代表金币的增加。eax=4的时候,代表的是大阳光,赋值0x19,eax=5的时候代表的是小阳光(夜晚关卡,小蘑菇产生的小阳光,一个增加15阳光值,43C09B处的eax+0xA,让ecx中值=0xF),赋值0xF


阳光的具体增加.png

对于金币来讲eax=1时,代表小金币,eax=2时,代表大金币(43C109处,eax+0x3,让edx=5,大金币一个增加50),eax=3,代表钻石(43C116,43C117两处会让edx=0x64,一个钻石增加1000)。

金币的具体增加.png


关键跳转那里的后续在这里
植物大战僵尸天上无限掉落阳光&金币,太阳花无限产生阳光&金币


免费评分

参与人数 13吾爱币 +12 热心值 +13 收起 理由
wyd66 + 1 + 1 感谢授“渔”
codering + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lzctg9168 + 1 + 1 用心讨论,共获提升!
末白 + 1 + 1 热心回复!
tzblue + 2 + 1 用心讨论,共获提升!
Yuzig + 1 + 1 热心回复!
nasa2001 + 1 + 1 我很赞同!
Candysgooter + 1 我很赞同!
花二娘 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
huang55 + 1 + 1 热心回复!
失踪啦嘞 + 1 + 1 热心回复!
asq56747277 + 1 + 1 谢谢@Thanks!
dreamlivemeng + 1 + 1 厉害了

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

天魔降伏 发表于 2019-8-2 18:11
都有现成的作弊器,还用得着这麻烦
那一夜谁懂22 发表于 2019-8-2 18:31
mobin2618 发表于 2019-8-2 18:09
左耳近情 发表于 2019-8-2 18:24
谢了大神
孤树上人 发表于 2019-8-2 18:40
应该可以直接装破解版的吧
wolye2055 发表于 2019-8-2 18:46
这个多得很哟以前喜欢耍 ,现在就算了
niukkkly 发表于 2019-8-2 18:52
破解的思路还是不错的
ArgentumPC 发表于 2019-8-2 19:06
实际想想很多破解版本的思路都是这么来的。
sxm88173090 发表于 2019-8-2 19:37
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-26 17:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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