植物大战僵尸开挂秘籍,植物大战僵尸2开挂版

首页 > 游戏 > 作者:YD1662023-05-31 16:42:31

前言:

外挂的本质其实就是找到进程中的某个变量或者某行代码的内存地址,然后进行修改,完成其想要完成的功能。这是最基本的要求,当然如果想要深入去学习制作外挂的话,还有很多东西很多内容,首先,你要懂得汇编,其次如果是制作Windows平台上的外挂的话,要深入了解PE文件格式,Windows内核等相关知识,再次如果应用程序中的代码或者变量是加密的话,或者是加壳的话,你要深入学习解密和脱壳方面的知识,最后应用程序如果是加了检测的话,还要懂得如何过检测。今天,我们通过实现在植物大战僵尸中秒*僵尸的这样一个小小的例子,去学习一下如何找到某内存地址然后修改该内存地址中的内容,完成秒*僵尸的功能。

思路:

我们先要盲猜一下植物大战僵尸游戏设计者的思路:植物打一下僵尸,僵尸是会减少血量的,当血量减少到0的时候,僵尸就挂掉。

因此,关键找到植物打一下僵尸然后所执行的扣除血量的指令,我们可以先找到某一只僵尸的血量值所在的内存地址,然后让植物打一下僵尸,接着看一下是进程中哪一条指令修改了这个内存地址,而这一行指令很有可能是植物打一下僵尸,然后执行的扣掉僵尸血量的指令。

1.找到某个僵尸血量值的内存地址

打开CE工具,附加一下植物大战僵尸的进程,然后等某一只僵尸出现时,使用CE工具首次扫描一下,扫描类型选择未知的初始数值。

植物大战僵尸开挂秘籍,植物大战僵尸2开挂版(1)

然后种下一棵植物,让这个植物打僵尸,打一次,我们就在原先的扫描基础上,把扫描类型换成减少的数值,然后点击再次扫描。一直打一直扫,扫到差不多,看一下比较像血量值的。

植物大战僵尸开挂秘籍,植物大战僵尸2开挂版(2)

发现这个数值有点像,上次的数值是植物还没打到的数值,为130,然后植物打了一下,这个数值变成110了,扣了20点血量,因此,我们尝试着把这个值当成这个僵尸的血量值,其内存地址为0x29C10840

植物大战僵尸开挂秘籍,植物大战僵尸2开挂版(3)

2.找到扣僵尸血量的指令

我们再让植物打一下僵尸,然后查看一下修改该内存地址(0x29C10840)的指令代码,我们找到了,是这一条指令修改了该内存地址的值,很明显,[edi 000000C8]是该只僵尸的血量内存地址值,ebp是即将需要赋的值。

植物大战僵尸开挂秘籍,植物大战僵尸2开挂版(4)

首页 12下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.