因此,关键是要找到植物击中僵尸后执行的扣除血量的指令。我们可以先找到某个僵尸的健康值所在的内存地址,然后让植物撞到僵尸,然后看看它是在进程的哪一行。该指令修改了这个内存地址,而这行指令很可能是植物击中僵尸然后执行扣除僵尸生命值的指令。
1.找到僵尸生命值的内存地址
打开CE工具,附上植物大战僵尸的流程,然后等待僵尸出现,使用CE工具第一次扫描,扫描类型选择未知初始值。
然后种植一株植物,让植物与僵尸战斗一次。我们在原来扫描的基础上,将扫描类型改为缩小值,然后再次点击扫描。一直刷啊刷,直到差不多了,再看看血值。
我发现这个值有点相似。最后一个数值是植物还没有击中的数值,是130。然后植物击中了,数值变成了110,扣除了20点血量。因此,我们尝试改变这个值作为这个僵尸的血量值,它的内存地址是0x29C10840。

2.找到扣除僵尸血量的命令
我们让植物再次撞上僵尸,然后查看修改内存地址(0x29C10840)的指令代码。我们发现正是这条指令修改了内存地址的值。显然,[edi+000000C8] 就是僵尸。血量的内存地址值,ebp是马上需要赋值的值。
我们仔细看看,发现ebp会先减去一个值(内存地址0x0054D0BA处的指令sub ebp,[esp+20]),然后将减法结果赋给僵尸血量(mov [edi+000000C8] ,ebp),那么我们可以用这行代码来做减法吗?当然,如果你直接让减法结果为0,就可以瞬间杀死僵尸。如何使减法结果为0?改成sub、ebp、ebp就可以了。
我们直接改一下吧。 sub指令原来是四个字节,改为sub ebp后,ebp只占两个字节。为了不影响后续指令,添加两条空指令nop进行填充。






























用户评论
这标题也太酷了吧!想看看传说中的20行代码秒杀僵尸是什么样子! 终于不用再一遍遍对着电脑刷屏了,期待详细教程!
有19位网友表示赞同!
我曾经试过很多破解游戏的,感觉都不靠谱,这篇博文说的“手把手”,会不会很详细?我还是比较信任有耐心讲解的人。希望别太难理解
有17位网友表示赞同!
僵尸大战一直是我心中的童年回忆!如果能实现秒杀功能,那该多爽啊! 赶紧分享代码吧,我已经迫不及待了!
有16位网友表示赞同!
用20行代码就能实现植物大战僵尸秒杀?感觉有点夸张了吧? 是不是把“秒杀”理解得比较宽泛?希望别只是个小bug修饰,而是真正的功能提升
有9位网友表示赞同!
虽然我玩游戏没有太多技巧,但还是想学习一些编程知识。这款游戏本身的逻辑很清晰,如果能通过代码修改功能,那确实是一项很有趣的挑战!期待详细讲解!
有11位网友表示赞同!
20行代码听起来有点轻描淡写了,植物大战僵尸这个游戏还是有难度存在的。 希望教程能够结合我的实际操作进行指导,让我不会在半途而废
有10位网友表示赞同!
我是编程新手,对游戏的逻辑不太了解,希望教程能从头开始讲解,不要急于求成! 希望能详细解说每一行的代码作用,理解游戏运行机制才是关键
有19位网友表示赞同!
感觉这个教程一定很实用,我之前一直想刷成就,但是每次都是失败收场。如果能够通过程序修改游戏逻辑,那岂不是可以轻松地完成所有目标了吗?期待分享!
有5位网友表示赞同!
我还是比较保守的,不喜欢游戏被破坏或者失去平衡性。即使能秒杀僵尸,我也担心会打折扣到游戏的乐趣和挑战性。
有9位网友表示赞同!
学习编程真是太难了,我连写个简单的程序都失败了。希望这个教程能够详细讲解,让我一步步掌握核心概念,最终实现自己的目标!
有19位网友表示赞同!
标题很吸引人,期待能用20行代码轻松碾压僵尸大军,这样就能专注于其他的游戏环节了!
有9位网友表示赞同!
我之前尝试过一些修改游戏的脚本,但是效果都不太理想。希望这个教程能够讲解更高级的技巧,让我真正掌握植物大战僵尸中的游戏机制!
有14位网友表示赞同!
学习编程确实可以拓展思维和解决问题的能力,如果能用代码改变游戏进程,那就更加有趣了!期待这个精彩的教程!
有17位网友表示赞同!
我也想试试看能不能用20行代码秒杀植物大战僵尸,应该可以用一些巧妙的设计来达成目标吧? 真是一个有意思的挑战!
有5位网友表示赞同!
我觉得游戏改编和脚本编写这种事情是需要谨慎的,它可能会影响到游戏的平衡性和完整性。 我更偏好体验原汁原味的趣味!
有8位网友表示赞同!
虽然代码实现很简单,但理解背后的游戏逻辑却很不容易。希望这个教程能帮助我深入理解植物大战僵尸的游戏机制,而不是仅仅教会我复制粘贴代码!
有11位网友表示赞同!
我也很喜欢植物大战僵尸这款游戏,用20行代码秒杀僵尸听起来确实很诱惑人! 希望这个教程能够详细讲解编程知识,让我也能体验一把修改游戏乐趣!
有19位网友表示赞同!
期待学习新的技能,如果能用编程修改植物大战僵尸的难度,那将是一个非常有趣和有挑战性的尝试,我会认真研读教程并不断练习!
有16位网友表示赞同!