植物大战僵尸一个调用CALL通关所有模式关卡
本帖最后由 luoyuchen 于 2019-2-25 19:46 编辑{:1_926:}还是我分析的植物大战僵尸。但是这是我原创。自己分析出来的。当然很多都会觉得这个植物大战僵尸很简单。对 我们需要的不是简单不简单。我们要的是过程对吧。
就好比大型网络游戏,只要找到CALL一样可以实现某些功能。 这个不分单机还是网游。
那我们还是直接开始。
那我们就像我们的标题一样,我所利用的模式就是“”宝石迷阵“”这个娱乐模式。
我们还是需要找一下调用CALL的来源。我们搜索下面的那个完成数。
首先我们的思维可以是这个样子:我们消除一个,那么是不是就会调用那么消除的CALL呢?
当然,是或者不是我们都要通过实践的分析才能得出结论。
我们得到了地址以后还是一样。查看是谁访问了这个地址;因为我们要找出来源嘛,对吧!
从下图中我们可以看出,我再一次对ADD下手了。
接下来我们把我们得到的地址扔进OD里面下段分析。
断下来以后还是一如既往的查看返回。这儿我们从第一个开始。
我们在CALL下个断点,返回游戏消除一个。让程序断下来。
断下来以后我们应该怎么办?答案是 我们必须养成的一个习惯。查看返回了多少个参数。这个习惯必须要有。
那么这儿返回的是14 转为十进制那么就是20计算为:20/4=5个参数
我们在返回到CALL 在push 0x1下个断 F8往下走分析参数
那么参数已经分析完了。我们又不知道这个CALL到底是不是我们要找的怎么办?
那我们肯定要用代码注入器测试一下对吧 。现在我们的是11个。
我们CALL一下。变成12了对吧
我们在CALL 10下试试,变成了22。那么我们的代码就没问题了
还是老样子,我们分析静态地址。
诶,是否少了些什么对吧。这给我们的标题不一样啊。
我们继续往下看。
在这个图中,我们什么都看不出来。普普通通。
那接下来呢。
提示:完成75次配对完成关卡。
但是这不是那个模式啊。
不管是不是那个模式,结果这一关我们两个僵尸都没出来,就通关了。
我们总结一下:
不管什么时候,只要调用那个CALL 就会调用那个模式。 当程序判断75次完成以后,那么通关。
其实我们最大的快乐,不是就一次次分析程序失败以后,得到的成功所带来的快感么。
你可能在一个地方失败几十次,几百次。但不管你失败过多少。当你成功的时候你都会觉得这是值得的。
这儿有些朋友需要的视频讲解:https://pan.baidu.com/s/1cLNTtC3bpwxmKBXrJaCpoQ 孤独的Provence 发表于 2019-2-25 12:56
能不能发下德玛西亚3.0这个工具 谢谢
链接: https://pan.baidu.com/s/1MA3vQrnTV-QhItPOP54rGw 提取码: vcqn 复制这段内容后打开百度网盘手机App,操作更方便哦 同意观点!
其实我们最大的快乐,不是就一次次分析程序失败以后,得到的成功所带来的快感么。
你可能在一个地方失败几十次,几百次。但不管你失败过多少。当你成功的时候你都会觉得这是值得的。 额,为啥都拿植物大战僵尸开刀呢?嫌他好欺负啊{:1_890:}{:1_894:} 能不能发下德玛西亚3.0这个工具 谢谢 感谢分享思路 z568364797 发表于 2019-2-25 12:45
额,为啥都拿植物大战僵尸开刀呢?嫌他好欺负啊
我也在弄植物僵尸不过我是第一次 谢谢分享,学习了 好的总结一下学渣的看法“打扰了:'(weeqw” 原谅我,看了半小时愣是没看懂;www