Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >植物大战僵尸:无限阳光辅助开发

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

作者头像
王 瑞
发布于 2022-12-28 07:06:16
发布于 2022-12-28 07:06:16
8080
举报

从本节课开始我们将进入实战环节,我们将手动分析植物大战僵尸的一些功能的实现并编写辅助,并根据章节的深入一步一步的完善我们的辅助,为啥这里使用植物大战僵尸呢?本来想使用网络游戏的,但涉及到驱动过保护和版权的问题暂时不能够分析,准备分析一些大型单机游戏的后来发现调试起来不太方便,不如就用植物大战僵尸。

这一小关我们将完成植物大战僵尸里面的阳光值的修改,以下实战内容使用了CE基础篇的第1关与第4关的搜索技巧,如果你不是很熟的话,可以去看一下这两关,本关是最简单也是最重要的一关

游戏内存的遍历(找到基地址与偏移)

1.打开游戏进程,并打开CE 选择电脑图标,选择进程,并点击打开。

2.在CE基础篇里面,你已经学会了遍历一些数据,此时我们来搜索这个150,使用4字节搜索即可。

3.让阳光发生变化,并快速的找到阳光地址,将其加入到最下方的内存地址栏中。

 完成基础篇CE使用教程的你,相信能快速的找到这个动态地址了。

 观察这个地址,会发现这是一个动态地址,即每次游戏重新载入则这个地址都会发生变化,所以我们要继续寻找。

4.继续在这个地址上面,右键选择查找改写的地址,当我们选择查找改写地址的时候,CE就为我们在这个地址上下了一个内存写入断点。

在上面的选项中其实也是可以选择内存访问的,只不过那样的话准确性不是很高,这里我们第一次找基址就选择内存写入吧。

选择了内存写入后,CE并没有出现任何指令,此时我们回到游戏,等待增加阳光,增加后会出现一条汇编指令。

5.点开这条汇编代码,add [eax+5560],ecx 这条指令很明显,就是将ecx的数值,赋值给[eax+5560],一级偏移找到了5560,那么我们继续记下EAX=146C1B60,并再次完成搜索。

 6.我们首先关闭上面的那两个窗口,然后在CE中勾选十六进制搜索,继续搜索146C1B60这个内存地址。搜索完后会发现一堆地址,我们并不确定那一个是,所以CE会为我们将最靠谱的地址放在最前面,也就是我们标红的这几个,后面的地址14...这样的地址太多并且是重复的,尽量不要考虑了,总之尽量去寻找前缀不重复的,成功率会大一些,这个要靠经验自己摸索了。

 将上面的前4个地址,加入到下方的地址栏中,依次分析。

7.先来搞第一个,001292AC这个内存地址,右键选择内存访问,可以看到很多地址,我们尽量排除,尽量看是不是有给[eax]赋值的指令,且后面有数字的。这里没有

再看一下第二个,我们把mov eax,[esi+00768],我们把768记下来!!

然后,打开这个地址,并记录下esi的地址。此处是 ESI=00FE7E60

 此时,关闭上方的两个窗口,我们继续使用CE工具,搜索00FE7E60这个内存地址,好了,我们看到了几个绿色的地址,在CE中,绿色的就是全局地址,也就是基地址,我们下面就来添加这个指针,看一下是不是这几个绿色地址里面的其中一个,这种情况下,只能一个一个的尝试

8.选择第一个绿色的地址,并将其加入到下方地址栏中,右键查看访问地址。

公式:   006A9EC0+768+5560=动态地址

9.用CE添加一个指针确认一下,这里读取到了数据,等于75,回到游戏发现阳光是75说明查找正确了。

如下,游戏中与CE中显示的数值相同。

使用易语言制作辅助

 1.打开易语言创建一个窗口应用,然后添加内存读写模块,内存读写模块已给大家整理好了,下载地址在上面。

2.绘制以下界面,并点击启动窗口。

3.写入以下代码。

4.点击读取,与改写依次测试

5.最后生成作弊器,即可步骤如下。

ok,易语言很强大,后期的所有实战教程都会与易语言和CE打交道。当然用VC++也是可以的,但是没有这个来的方便!

模块的话,可以使用黑羽模块,网上可以查到

http://www.downxia.com/downinfo/33941.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
植物大战僵尸:代码实现无限阳光
本次实验内容:通过逆向分析植物阳光数量的动态地址找到阳光的基址与偏移,从而实现每次启动游戏都能够使用基址加偏移的方式定位阳光数据,最后我们将通过使用C语言编写通用辅助实现简单的无限阳光外挂,在教程开始之前我们先来说一下为什么会有动态地址与基址的概念!
王 瑞
2023/02/25
1.2K0
植物大战僵尸:代码实现无限阳光
植物大战僵尸:逆向分析阳光
植物大战僵尸这款游戏可以说是很多90后的回忆了,基本上只要是90后或多或少的都接触过,而玩游戏与制作辅助是两个概念,今天我将给大家分享一些游戏辅助方面的制作技巧,之所以使用植物大战僵尸这款游戏是因为游戏简单容易分析,且不需要考虑驱动保护版权等相应的问题,这里我会把我的分析思路分享出来,来供大家参考。
王 瑞
2022/12/28
6990
植物大战僵尸:逆向分析阳光
植物大战僵尸:辅助制作高级技巧
通过向游戏中注入一段特殊的汇编代码,实现自动获取动态地址,省略找基址的麻烦。该方法适用于游戏基址层数过多无法直接获取到基址,游戏根本无法找到基址。本地CALL就是程序中的过程调用,通过调用已知的本地CALL即可实现某些变态功能,这些变态功能往往是通过修改数值参数也做不到的,接下来我们将通过遍历阳光产生的时间,寻找阳光产生的本地Call,并使用代码注入器注入,自定义生成阳光。通过基址加偏移的方式我们可以找到游戏中的指定参数,但这种找基址的方式并不是白用百灵的,在一些网络游戏中基址加密后根本无从下手,如果此时我们需要在程序中打补丁该如何定位到我们所需要的指令上呢,接下来将介绍一种全新的找地址方式,特征码定位技术。
王 瑞
2022/12/28
1K0
植物大战僵尸:辅助制作高级技巧
学习逆向知识之用于游戏外挂的实现.第二讲,快速寻找植物大战僵尸阳光基址.以及动态基址跟静态基址的区别
              通过游戏外挂,学习逆向技术之快速寻找植物大战僵尸阳光基址.以及动态基址跟静态基址的区别
IBinary
2018/08/30
3.6K2
学习逆向知识之用于游戏外挂的实现.第二讲,快速寻找植物大战僵尸阳光基址.以及动态基址跟静态基址的区别
植物大战僵尸:学会使用人造指针
通过向游戏中注入一段特殊的汇编代码,实现自动获取动态地址,省略找基址的麻烦。该方法适用于游戏基址层数过多无法直接获取到基址,游戏根本无法找到基址。
王 瑞
2022/12/28
5490
植物大战僵尸:学会使用人造指针
植物大战僵尸:实现全屏爆炸
植物大战僵尸这款游戏可以说是很多90后的回忆了,基本上只要是90后或多或少的都接触过,而玩游戏与制作辅助是两个概念,今天我将给大家分享一些游戏辅助方面的制作技巧,之所以使用植物大战僵尸这款游戏是因为游戏简单容易分析,且不需要考虑驱动保护版权等相应的问题,这里我会把我的分析思路分享出来,来供大家参考。
王 瑞
2022/12/28
5730
植物大战僵尸:实现全屏爆炸
植物大战僵尸:寻找阳光掉落Call
本次实验内容:本次实验将接触到Call调用这个概念,什么是Call调用? Call相当于你在编程时所编写的函数,而高级语言中的函数最终也是会被编译器转换为汇编格式的Call调用,这些关键Call普遍都
王 瑞
2023/02/25
7030
植物大战僵尸:寻找阳光掉落Call
植物大战僵尸:分析植物的攻击速度
实验目标:植物大战僵尸中,植物是有攻击速度的,比如每隔一段时间会吐出一些子弹,那么由此可判断吐出子弹应该是由一个计数器控制的,也就是说只要我们能够找到控制植物攻击的时钟并改写它,也就可以实现植物的无限吐子弹。 吐出子弹的遍历技巧:
王 瑞
2022/12/28
6850
植物大战僵尸:分析植物的攻击速度
JAVA开发外挂第二弹-CE查找游戏基址
昨天讲了JAVA的JNI,今天讲一下如何用CE(Cheat Engine)查找游戏的基址, 基址就是游戏在内存中的一个静态的内存地址,可以通过偏移找到本次游戏的数据地址。
博博1998
2022/04/25
4.4K0
JAVA开发外挂第二弹-CE查找游戏基址
植物大战僵尸:实现游戏内自动收集阳光
植物大战僵尸这款游戏可以说是很多90后的回忆了,基本上只要是90后或多或少的都接触过,而玩游戏与制作辅助是两个概念,今天我将给大家分享一些游戏辅助方面的制作技巧,之所以使用植物大战僵尸这款游戏是因为游戏简单容易分析,且不需要考虑驱动保护版权等相应的问题,这里我会把我的分析思路分享出来,来供大家参考。
王 瑞
2022/12/28
1K0
植物大战僵尸:实现游戏内自动收集阳光
植物大战僵尸:实现灵魂收割者
摘要:植物大战僵尸这款游戏可以说是很多90后的回忆了,基本上只要是90后或多或少的都接触过,而玩游戏与制作辅助是两个概念,今天我将给大家分享一些游戏辅助方面的制作技巧,之所以使用植物大战僵尸这款游戏是因为游戏简单容易分析,且不需要考虑驱动保护版权等相应的问题,这里我会把我的分析思路分享出来,来供大家参考。
王 瑞
2022/12/28
2890
植物大战僵尸:实现灵魂收割者
植物大战僵尸:寻找阳光掉落Call调用
实验目标:通过遍历阳光产生的时间,寻找阳光产生的本地Call,使用代码注入器注入,自定义生成阳光
王 瑞
2022/12/28
4380
植物大战僵尸:寻找阳光掉落Call调用
32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址
本文主要介绍了如何通过分析植物大战僵尸游戏程序,提取其中的阳光数量,并利用OllyDbg工具定位到具体代码位置,供研究学习使用。
IBinary
2018/01/08
2.7K0
32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址
植物大战僵尸:植物栏无冷却的找法
实验目标:通过使用CE遍历内存,定位到植物无冷却的核心代码处,并通过修改关键的跳转来实现所有植物的无冷却。
王 瑞
2022/12/28
1K0
植物大战僵尸:植物栏无冷却的找法
植物大战僵尸辅助
孩子一直迷恋植物大战僵尸这款游戏,从一开始的水平不行,到后来经常看植物大战僵尸的过关视频来提升自己的游戏水平,到现在游戏是玩的越来越好了,至少感觉植物大战僵尸这个游戏水平比我强很多。
码农UP2U
2020/08/26
8960
单机游戏逆向分析:植物大战僵尸中文版破解学习
0x7打开反汇编界面以后,可以看到在我们跟进这条记录的前一条指令是sub esi,ebx
极安御信安全研究院
2022/03/17
1K0
单机游戏逆向分析:植物大战僵尸中文版破解学习
植物大战僵尸:手工计算偏移地址
首先我们思考一个问题,为什么我们需要手工计算偏移地址,CE找不开心吗?当然不是,有些游戏比如像CF,只要查找改写的地址游戏就会崩溃,严重的话则会弹出TP警告框,但查找访问则不会出现这个情况,此时我们就需要进行手工计算偏移地址,来得到基址数据。
王 瑞
2022/12/28
4350
植物大战僵尸:手工计算偏移地址
植物大战僵尸:查找植物叠加种植CALL
实验目标:我们都知道植物大战僵尸游戏中植物是不可以叠加种植的,也就是一个格子只能种植一个植物,今天我们将实现一个格子里种植无限多的植物。
王 瑞
2022/12/28
8860
植物大战僵尸:查找植物叠加种植CALL
植物大战僵尸:运用特征定位技术
特征码定位技术的应用非常广泛,我们所熟知的杀毒软件的查杀原理多半是基于特征码定位技术实现查杀的,在外挂技术领域特征码定位主要用于,版本的通杀,制作一键基址获取器,动态地址的定位等。
王 瑞
2022/12/28
3590
植物大战僵尸:运用特征定位技术
逆向实战干货,植物大战僵尸快速定位自动捡阳光Call,或者标志
逆向实战干货,快速定位自动捡阳光Call,或者标志。第一种方法,找Call。首先,打开CE,搜索阳光值。然后,打开OD,数据窗口中搜索这个地址的数值。接着,对其里面的值下内存写入断点。然后,回到游戏,捡起一个阳光。最后,内存断点断下来了,我们看下指令,发现 add函数,而且看下ECX的值。16进制的19,那么10进制的25,所以我们判断这里是增加阳光的地方。然后我们根据我们的操作发现,点击阳光->阳光增加,那么我们找到了增加阳光,那么自然上找,就能到点击阳光的Call了。然后我们再根据返回的Call,找到自动捡阳光的Call。第二种方法,找标志。首先,找到Call,然后往上找,判断是否点击。最后,再根据返回的Call,找到自动捡阳光的Call。
IBinary
2018/01/08
1.7K0
逆向实战干货,植物大战僵尸快速定位自动捡阳光Call,或者标志
推荐阅读
相关推荐
植物大战僵尸:代码实现无限阳光
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档