【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

这篇具有很好参考价值的文章主要介绍了【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 1.单卡片无CD

1.1 思路一

1.2 思路二

2.全卡片无CD

3.豌豆射手射速修改(修改植物射速)

4.实现豌豆射手发射“玉米加农炮”(思路)


上一期教程中,我们学习了修改植物大战僵尸的阳光数量、向日葵生产阳光速率以及实现“太阳雨”PS:上篇链接:(38条消息) 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之阳光篇_Fly1ng.M的博客-CSDN博客

首先,用CE打开植物大战僵尸。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 此时我们可以直接导入上次找出的三个基址:

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 导入成功!

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 1.单卡片无CD

为了方便我们继续,首先现将阳光数量改为9999。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

1.1 思路一

分析:植物在CD结束后卡片可选状态和鼠标点击卡片但不松手是两种相反的状态,我们可以利用这点通过1/0搜索排查。

游戏刚开始时,豌豆射手处于可选状态,我们在CE中搜索“1”。

注:因为此次搜索的值为0和1,在0~255之间,所以在搜索前必须将“数值类型”改为“字节”。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 切回游戏,鼠标点击豌豆射手但不种下,使豌豆射手处于纯黑背景状态,我们切出CE,搜索“0”。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

重复上述步骤,直到数量结果不再减少。此时结果数量可能还是很多,我们可以Ctrl+A全部选中,将所有地址都添加到CT表中。(如下图,全选后点击红色箭头添加到CT表)

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 此时,我们可以同时选中很多地址,对他们的数值进行更改,此时数值为1,我们双击数字1,修改为0,如果豌豆射手进入不可选中状态,则可说明豌豆射手CD在选中的这些地址中;如果没有变化,则继续筛选。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 最终,我们终于找到了豌豆CD的地址(其实就是最后一个)。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 接下来我们寻找基址,右键->“找出是什么改写了这个地址”,然后我们切回游戏,点击豌豆射手再放回去。能得到如下结果:【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 通过分析可知,下面那一行“01”代表了豌豆无冷却的状态,我们双击它(或查看详细信息)。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 可知“可能的地址”为1D3250E8,虽然是[eax+ecx+70],但是仔细观察可以发现EAX=0,所以一级偏移量为70,我们记下这个值,后面要用。

右键“可能的地址是”后面的地址可以直接复制:【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 点击新的扫描,因为我们要搜索地址,地址的表示形式为16位,所以我们要勾选搜索框前面的Hex,还要注意的一点,搜索地址时别忘了把数值类型改为4字节!

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 如图,可知可能的地址为1D296218,二级偏移量为144,记录。

这次扫描会出现很多地址,前几个与其他地址明显不同的都有可能,一般像这种指令比较工整的就是我们要寻找的方向。

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 如图,可知可能的地址为02879B88,三级偏移量为768,记录。

再次搜索地址时,就会发现绿色的基址了。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 双击任意一个基址添加到CT表中,可以看到基址地址为006A9EC0。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

我们点击“手动添加地址”, 因为有三层偏移,所以我们点击“指针”-->“添加偏移”。下面一栏输入006A9EC0,三行偏移从上至下依次填入先前记录的70、144、768,单击确定。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 这样我们就成功找到了豌豆射手单卡片CD的基址,我们把数值改为1并锁定,可以看到实现了豌豆射手的无CD!【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

1.2 思路二

分析:植物在刚种植后进入冷却,此时植物不可选,直到冷却结束才能再次种植,我们可以通过CD变化搜索“变动的数值”不断查找该植物的CD(至于为什么不用“减少的数值”,一会就知道了)。

首先,种下豌豆射手,搜索“未知的初始值”。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 切换到游戏状态让游戏运行一会,再切换回CE,搜索“变动的数值”。

当冷却结束后,我们也可以搜索几次“未变动的数值”筛选更少的结果,然后再种一颗豌豆射手,重复上述步骤。

通过观察可以发现,当豌豆射手在CD时,该地址当前值一直在变化;而当豌豆射手冷却完毕后,该地址为0,由此推断出,该地址就是存放豌豆射手CD的地址,仔细观察就会发现,植物卡片的CD并不是一直减少到0,而是先增大后变为0,所以“减少的数值”是搜不到的。

2.全卡片无CD

我们在1中已经找到了第一张卡片CD的基址,那么其他卡片的CD基址可以找到吗?每个卡片依次按照上述方法一步一步找基址当然能找到,可以这样太浪费时间了。这里提供一种思路:通过观察可知,植物槽上相邻卡片的地址应该离得很近,所以我们可以直接右击第一张卡片CD基址,选择“浏览相关内存区域”。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

打开地址区域后,我们点击第二张卡片再放下,仔细看,内存区域中有一个地址在随着我们点击进行00/01的切换,可知,这个地址为第二张卡片的地址。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 右键该地址,将它添加到列表中:【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 我们依然用第一次查找第一张卡片CD的基址时所用的方法,此处不在赘述。三次查找的线索如下:

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 仔细看!第一次偏移时,EAX的值变为了50,而在第一张卡片的第一次偏移值里EAX=0,我们可以大胆推断下一格植物卡片比上一格偏移量多了50!

将第二个植物的CD基址添加一下:【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 为了保险起见,我们可以继续验证一下,第三张卡片进行查找后第一次偏移为:A0+70【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 没看懂不要紧,通过计算器算一下可知,A0-50=50!也就是说第三张的确比第二张偏移多了50!【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 所以第三张卡片的基址也可以直接手动添加了:

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 综上所述,通过这种方法我们就可以求出任何一张植物卡片的基址了!

第n张卡片的基址第一次的偏移量:70+50*(n-1)

(PS:第二次和第三次偏移量不变!)

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 3.豌豆射手射速修改(修改植物射速)

思路:豌豆射手打僵尸会发射豌豆,我们假设豌豆射手应该有一个内置“计时器”,每当射出一粒豌豆后,计时器开始减小,不断循环(类似CD不断减少)

 注:为了方便操作,建议开启变速精灵,把游戏速度调慢!

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 此时,搜索未知的初始值。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 然后切回游戏,“让子弹飞一会”,再切回CE搜索“减少的数值”,当豌豆射出下一发时再搜索“增大的数值”,然后重复上述步骤。

注:此处容易失误!原因是:看起来豌豆射手好像没有发出下一发,但是计时器其实已经刷新了,(可以理解成蓄力的动画时已经开始计时了,但这个动画并不明显)所以建议快打到僵尸的这段时间不要继续“再次扫描”了!【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 我们右键,“找出是什么访问了这个地址”,如果没有切回游戏让豌豆射一会。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 分析可知,这个“-01”可能代表着豌豆的涉及射击频率,可是怎么把这个指令以代码或脚本的形式提取出来呢?接下来我们学习CE的进阶知识:代码注入。点击这行指令-->“显示反汇编程序”。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 我们在工具栏里找到“自动汇编”。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 框架代码注入后,我们再选择代码注入,因为之前选中的就是这行指令,所以我们不用管,“OK”就好。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 如图,把-01改为-04,这会增加豌豆射手的发射速度。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

好了,我们已经生成好了自己的脚本,不要急着关闭,点击“文件”-->“分配到当前的CT表”

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 锁定该脚本后,可以明显发现豌豆射手的射速变快了。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 右键该脚本点击“创建热键”,可以实现选择性的开关脚本。

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

4.实现豌豆射手发射“玉米加农炮”(思路)

首先,我们点击“查看内存”。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 右键任一地址,点击“转到地址”。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 地址栏输入:004672A5。

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 “工具”-->“自动汇编”。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 引入CT表框架代码:

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

代码注入,当前地址确定即可。【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 然后我们在下图中位置插入几行代码,稍后会逐行进行讲解:

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

注释:

cmp [ebp+24],#0 //cmp是判断,0代表豌豆射手,这句话用来判断植物是不是豌豆射手。#的意思是10进制,否则为16进制

je h //je是等于跳转,表示如果是豌豆射手就跳转到h

jne originalcode //jne是不等于跳转,表示如果不是豌豆射手就仍然按照原来的代码执行

h: //由上,如果是豌豆就跳转至此

mov eax,#11 //mov是赋值,表示把11放到EAX里。这里的11代表的是子弹类型(玉米加农炮),大家也可以尝试换成其他数字,看看会出现什么效果(注意:如果数字超出界限游戏会崩溃)

然后我们可以分配到当前CT表了:

 【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇

 激活脚本,如下图,成功了!

【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇文章来源地址https://www.toymoban.com/news/detail-415234.html

到了这里,关于【CE入门教程】使用Cheat Engine(CE)修改游戏“植物大战僵尸”之植物篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用CE修改游戏并制作游戏修改器(基于Pygame)

    Pygame是一个广受欢迎的Python游戏开发库,它提供了丰富的功能和工具,使开发者可以轻松创建自己的游戏。结合使用Cheat Engine(CE),我们可以修改游戏的内存值,从而实现自定义的游戏修改效果。本文将介绍如何使用CE修改游戏并制作游戏修改器,以及如何与Pygame结合使用。

    2024年02月03日
    浏览(107)
  • 很合适新手入门使用的Python游戏开发包pygame实例教程-01[开发环境配置与第一个界面]

    我们假定你已经安装好了我们开发python程序的sublime text,如果不知道怎么安装的可以参照我前面的博文。这里只需要解决的是配置好Pygame的问题。本篇博文主要解决开发环境配置以及第一个游戏界面的显示问题。 文章原出处: https://blog.csdn.net/haigear/article/details/130173836 没有

    2024年01月25日
    浏览(94)
  • OpenCV 入门教程:像素访问和修改

    在图像处理和计算机视觉领域,像素级操作是非常重要和常见的任务之一。通过像素访问和修改,我们可以直接操作图像的像素值,实现各种图像处理和分析操作。在本文中,我们将以像素访问和修改为中心,为你介绍使用 OpenCV 进行像素级操作的基本步骤和实例。 😃😄 ❤

    2024年02月13日
    浏览(56)
  • python游戏开发入门经典教程,python游戏开发引擎

    大家好,给大家分享一下python游戏开发入门经典教程,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 消消乐小游戏相信大家都玩过,大人小孩都喜欢玩的一款小游戏,那么基于程序是如何实现的呢?今天带大家,用python+pygame来实现一下这个花里胡哨的消

    2024年02月02日
    浏览(44)
  • MATLAB入门教程(6):修改矩阵中的值

      代码粘贴后并不好看,故使用图片粘贴如下。 代码部分是我在MATLAB里面加的注释版本(使用版本为MATLAB R2022a)   上一讲中提到了如何使用索引,那我们很简单的思路就是对索引值赋值即可 我们先生成矩阵A 接着我们用单向量索引A(15) 即是修改第十五个元素的值(从左到右

    2024年01月20日
    浏览(42)
  • EMQX 入门教程③——默认端口、端口策略和端口修改

    EMQX 入门教程——导读 emqx初次安装和启动之后,其端口使用情况如下 端口 描述 8083 mqtt ws 监听端口 8084 mqtt wss 监听端口 1883 mqtt tcp 监听端口 8883 mqtt ssl 监听端口 18083 http 监听端口 4370 Erlang 分布端口 5370 集群 RPC 端口 EMQX 4.x 版本的时候还有8081端口,不过在EMQX 5.x时,被合并到

    2024年02月03日
    浏览(36)
  • 【pygame入门】pygame游戏实例入门级教程,如有不懂欢迎随时补充留言。

    pycharm+anconda3; 第三方库: pygame;(从标题看这句略显多余) 方法一:直接在pycharm里面安装。 files-seting-project-python Interpreter 在左侧界面的最左侧边栏上面有个加号,点击后在弹出页面搜索需要的第三方库,然后直接安装。 方法二:pip安装。 因为用的是anconda所以需要在终端里面

    2024年02月04日
    浏览(47)
  • Stable Diffusion使用入门教程

    本文参考bilibili的链接:B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili 目录  一、prompt提示词 1、概况 2、prompt分类 3、提示词的权重分配 4、反推提示词 5、提示词网站 二、WebUI参数说明

    2024年02月09日
    浏览(60)
  • Jupyter入门使用教程

    Jupyter Notebook是一个开源的Web应用,在深度学习领域非常活跃。用户可以在这里创建和分享可执行代码、可视化结构和注释说明的文档。 Jupyter Notebook以网页的形式展现,用户可以在此网页中直接编辑代码、运行程序,且运行结果会直接在代码块下方显示。同时,也可以编写说

    2024年02月16日
    浏览(59)
  • Elasticsearch入门使用教程 _1

    目录 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 1.1.2.ELK技术栈 1.1.3.elasticsearch和lucene 1.1.4.为什么不是其他搜索技术? 1.1.5.总结 1.2.倒排索引 1.2.1.正向索引 1.2.2.倒排索引 1.2.3.正向和倒排 1.3.es的一些概念 1.3.1.文档和字段 1.3.2.索引和映射 1.3.3.mysql与elasticsearch 1.4.安装es、

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包