霜晨月 發表於 2019-7-5 14:21:00

植物大战僵尸:无限阳光辅助开发

<p>从本节课开始我们将进入实战环节,我们将手动分析植物大战僵尸的一些功能的实现并编写辅助,并根据章节的深入一步一步的完善我们的辅助,为啥这里使用植物大战僵尸呢?本来想使用网络游戏的,但涉及到驱动过保护和版权的问题暂时不能够分析,准备分析一些大型单机游戏的后来发现调试起来不太方便,不如就用植物大战僵尸。</p>
<p>这一小关我们将完成植物大战僵尸里面的阳光值的修改,以下实战内容使用了CE基础篇的第1关与第4关的搜索技巧,如果你不是很熟的话,可以去看一下这两关,本关是最简单也是最重要的一关</p>
<p>&nbsp;</p>
<h3>游戏内存的遍历(找到基地址与偏移)</h3>
<p>1.打开游戏进程,并打开CE 选择电脑图标,选择进程,并点击打开。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705142809944-1515951446.jpg" alt=""></p>
<p>&nbsp;</p>
<p>2.在CE基础篇里面,你已经学会了遍历一些数据,此时我们来搜索这个150,使用4字节搜索即可。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705143013408-1193614986.jpg" alt=""></p>
<p>&nbsp;</p>
<p>3.让阳光发生变化,并快速的找到阳光地址,将其加入到最下方的内存地址栏中。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705143129244-853640793.jpg" alt=""></p>
<p>&nbsp;完成基础篇CE使用教程的你,相信能快速的找到这个动态地址了。</p>
<p>&nbsp;观察这个地址,会发现这是一个动态地址,即每次游戏重新载入则这个地址都会发生变化,所以我们要继续寻找。</p>
<p>&nbsp;</p>
<p>4.继续在这个地址上面,右键选择查找改写的地址,当我们选择查找改写地址的时候,CE就为我们在这个地址上下了一个内存写入断点。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705143836095-1512385162.jpg" alt=""></p>
<p>在上面的选项中其实也是可以选择内存访问的,只不过那样的话准确性不是很高,这里我们第一次找基址就选择内存写入吧。</p>
<p>选择了内存写入后,CE并没有出现任何指令,此时我们回到游戏,等待增加阳光,增加后会出现一条汇编指令。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705144158592-1209278942.png" alt=""></p>
<p>&nbsp;</p>
<p>5.点开这条汇编代码,add ,ecx 这条指令很明显,就是将ecx的数值,赋值给,一级偏移找到了5560,那么我们继续记下EAX=146C1B60,并再次完成搜索。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705144618278-425375167.png" alt=""></p>
<p>&nbsp;</p>
<p>&nbsp;6.我们首先关闭上面的那两个窗口,然后在CE中勾选十六进制搜索,继续搜索146C1B60这个内存地址。搜索完后会发现一堆地址,我们并不确定那一个是,所以CE会为我们将最靠谱的地址放在最前面,也就是我们标红的这几个,后面的地址14...这样的地址太多并且是重复的,尽量不要考虑了,总之尽量去寻找前缀不重复的,成功率会大一些,这个要靠经验自己摸索了。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705145117733-1998512009.png" alt=""></p>
<p>&nbsp;将上面的前4个地址,加入到下方的地址栏中,依次分析。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705145530290-1087832282.png" alt=""></p>
<p>&nbsp;</p>
<p>7.先来搞第一个,001292AC这个内存地址,右键选择内存访问,可以看到很多地址,我们尽量排除,尽量看是不是有给赋值的指令,且后面有数字的。这里没有</p>
<p>&nbsp;<img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705145920519-552707243.png" alt=""></p>
<p>再看一下第二个,我们把mov eax,,我们把768记下来!!</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705150302671-117070675.png" alt=""></p>
<p>然后,打开这个地址,并记录下esi的地址。此处是 ESI=00FE7E60</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705150550175-1823986103.png" alt=""></p>
<p>&nbsp;此时,关闭上方的两个窗口,我们继续使用CE工具,搜索00FE7E60这个内存地址,好了,我们看到了几个绿色的地址,在CE中,绿色的就是全局地址,也就是基地址,我们下面就来添加这个指针,看一下是不是这几个绿色地址里面的其中一个,这种情况下,只能一个一个的尝试</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705150814273-1793170931.png" alt=""></p>
<p>&nbsp;</p>
<p>8.选择第一个绿色的地址,并将其加入到下方地址栏中,右键查看访问地址。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705151216715-351178318.png" alt=""></p>
<p>公式: &nbsp;&nbsp;006A9EC0+768+5560=动态地址</p>
<p>&nbsp;</p>
<p>9.用CE添加一个指针确认一下,这里读取到了数据,等于75,回到游戏发现阳光是75说明查找正确了。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705151437825-1488705892.png" alt=""></p>
<p>如下,游戏中与CE中显示的数值相同。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705151608063-714803620.png" alt=""></p>
<p>&nbsp;</p>
<h3>使用易语言制作辅助</h3>
<p>&nbsp;1.打开易语言创建一个窗口应用,然后添加内存读写模块,内存读写模块已给大家整理好了,下载地址在上面。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705152503753-1264359102.png" alt=""></p>
<p>2.绘制以下界面,并点击启动窗口。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705153329634-2125416073.png" alt=""></p>
<p>3.写入以下代码。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705153537583-1450227621.png" alt=""></p>
<p>4.点击读取,与改写依次测试</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705153634250-453879656.png" alt=""></p>
<p>5.最后生成作弊器,即可步骤如下。</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705153721390-273026996.png" alt=""></p>
<p>ok,易语言很强大,后期的所有实战教程都会与易语言和CE打交道。当然用VC++也是可以的,但是没有这个来的方便!</p>
<p><img src="https://img2018.cnblogs.com/blog/1379525/201907/1379525-20190705153810785-167705378.png" alt=""></p>
<p>&nbsp;</p>
<p>模块的话,可以使用黑羽模块,网上可以查到</p>
<p>http://www.downxia.com/downinfo/33941.html</p>

</div>
<div id="MySignature" role="contentinfo">
    <b>文章出处:</b>https://www.cnblogs.com/LyShark/p/11138068.html
<br>
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!<br><br>
来源:https://www.cnblogs.com/LyShark/p/11138068.html
頁: [1]
查看完整版本: 植物大战僵尸:无限阳光辅助开发