植物大战僵尸修改僵尸出场冷却时间

场景: 正常情况下僵尸是过一段时间出现几个,不会同时出现
效果: 刚开始僵尸就一块出场,这样通过小滑车就能将他们全部杀死
思路: 通过CE定位僵尸个数,然后看那个地址改写了它,在这个地址附近应该就有创建僵尸、冷却时间的函数了。

下边是详细过程:

首先CE附加程序,搜索场上僵尸的个数,当场上僵尸变化时,再搜索僵尸的个数(可能会有延时,所以确认后再搜索或者搜索一个加减一的范围),这样就获得一个地址
然后右键,看谁改写了这个地址:

在这个地址上下断点,然后栈回溯,就可以得到函数调用情况,这里直接把OD的栈回溯图也贴一下吧 :



然后IDA打开,定位到刚才那个改写的地址:

查看哪个地址调用了当前函数:

没有相关跳转分支,继续栈回溯:

还是没有,继续栈回溯,往上找:

来到重点了,上边有个分支跳转语句,当dword ptr [edi+559Ch]==0时,才会执行创建僵尸的call,当不等于0的时候就跳过

解决方法很简单,直接将此处jnz loc_4140FC nop掉,很暴力

看一下效果:

一下子全都出来了 很危险

不过小车直接将他们全都干死了 哈哈


猜你喜欢

转载自blog.csdn.net/qq_35519254/article/details/79149678