植物大战僵尸年度版-之-植物的玩法
本帖最后由 涛之雨 于 2019-2-24 11:30 编辑植物大战僵尸年度版-之-阳光的玩法
之前录制的图炸了。。。今早重新录制的。。
好了,开始玩吧,
准备工作
老规矩。打开PVZ、OD、CE
先改好阳光,备用。。。今天重点是植物的玩法。。不是阳光
像酱紫。
OK
植物 0 CD的玩法
网上的教程都是判断植物的状态,0是不能种,1是能种,然后改掉判断
或是论坛某大神(就是因为这个我才来凑热闹)的通过阳光判断法(思维方式很独特)然后再改判断
我是瞬间充能完成,而不是想这些大佬们通过改判断。
OK。。
原理如下:
植物在缓冲过程中,是有动画的,而且貌似是有一个参数在一直增加。
那么直接搜索这个值,并且每次缓冲的时候都直接变成一个很大很大的数,就相当于瞬间完成缓冲。
看gif,没看清,多看几遍
先扫描未知的初始值,然后过一会,就扫描一次增加的数值,
等第一次缓冲完了,
因为不确定此刻的数值是最大还是最小,
因此再次种植后,搜索减小的数值
等到最后还剩十几个,能判断的时候
找出可能的地址(不会特别大的)
然后再次种植,排除不对的。
就不贴图了。。gif有。。录了两遍,第一次因为文件太大所以编辑不了。。
这次录制就是二倍速录制的。。。
{:17_1085:}
ok找到了关键代码。
让我们看看这个数值是怎么变换的。。
咳咳。。因为看结果。。所以就打了个码。。省内存。
好了。有些同学可能看不清变化的情况,
可以通过把【编辑-设置-更改更新时间】改小
50ms应该差不多了,毕竟只要是能估出来就行。
还是老规矩,右键,查看什么改写了该地址
然后选择附加。。
就找到了关键的地址。
简单分析。
第一行是经过判断,可以拿起植物,
第二行是一直进行缓冲ing。ok。我们这里不改第一个前的判断。。
操刀第二个。
还有啊。。有朋友说,CE有内置的反汇编程序。。
我也没说不行啊。。。只是我不习惯而已{:17_1076:}
个人爱好。。想用内置的其实也是一样的。。
按图上的方法。点击要查看的行,点打开反汇编。。
就长酱紫了。。和OD真的很像。。。
连某些快捷键都是一样的(ctrl+g跳转,其他的没试。。我还是用我的OD)
还是那句话,如果用OD附加,要先脱钩。。
否则无法附加
代码张酱紫
004B2FEA inc dword ptr ds:
不知道inc汇编语句的看这里:
那就是每次加1呗。。那就直接操刀,在不改变改行代码行数的时候,我第一个想到的就是下面的寄存器
每次增加16进制的1c。。。这么多。应该可以了吧
完美,而且因为是改的关键函数,所以所有的植物都能0cd。
啃不掉的植物
既然植物会被啃死。。。那不如就让他死不掉。。
两种方法,
找到关键函数,一个把降低血量的代码nop掉,或是向下面这个坚果墙还原术一样。。把减得代码该成加
郑重声明。这个坚果修复术没有倒放。只是因为有点慢,所以加了快进(从动作能看出来。是正常的吃饭动作)
同理。就不解释了。。
重点是这里
一些朋友出来不是这样。
是
004B4CA5 mov ,eax
这是因为OD进行了分析。但是你看不懂。。。
右键-分析-删除
既然都是+上一个负的。。。
去掉呗。。。
时间有限。植物重叠种植等下次更新。。。
wjhjcc 发表于 2019-2-24 01:11
敬佩楼主的奉献态度,
{:17_1072:}录了1500多帧的gif爆炸了。。。。
我录了好多次。。。。{:17_1084:} liuxingbo12138 发表于 2019-3-19 16:41
楼主为什么你用ce的时候开始要搜索75,还有就是我找出来的第一栏的基质有4个不知道是哪一个。。。。。用ce ...
你是看这个帖子的??
这个帖子没有搜索75啊……
至于搜索。。。应该是我的阳光当时是75,为了找到在内存中的位置。所以用多次搜索+改变数值的方法得到了位置。至于基址。有多个是正常的。随便拿一个都行。
崩溃了的话……你是不是没有添加指针。直接改的啊……
一般来说没有问题的。。
可以回复。持续关注,看到回复。 自古楼主坐沙发 板凳也要抢上一抢!! 晚点,,,,
谢谢楼主分享!
认真学习中!!! 回头试试,感谢分享。 CE里面是坚果墙血量地址吗?楼主 好久没玩这个游戏,一会过过瘾玩一下 楼主辛苦了 哈哈 学以致用 敬佩楼主的奉献态度,