您现在的位置是:首页 > 互联网 > 正文

CE(CHEAT(ENGINE)修改器新手入门教程)

发布时间:2022-08-30 04:26:35来源:

导读 大家好,小太来为大家解答以上问题。CE(CHEAT,ENGINE)修改器新手入门教程这个很多人还不知道,现在让我们一起来看看吧!目录准备:下载安

大家好,小太来为大家解答以上问题。CE(CHEAT,ENGINE)修改器新手入门教程这个很多人还不知道,现在让我们一起来看看吧!

目录准备:下载安装CE第2级:精确扫描数值第3级:扫描未知数值第4级:扫描浮点数第5级:代码替换函数第6级:关于指针第7级:简单代码注入第8级:寻找多级指针。

作弊引擎一般简称CE,是一款开源的作弊软件。它的功能包括:内存扫描,十六进制编辑器,和调试工具。作弊引擎本身自带一个插件制作工具,可以用来直接生成插件工具。CE可以说是目前最好的游戏修改器之一,这个工具绝对值得学习(只需要一点时间)。

本章将引导小白学习如何使用CE。因为是入门教程,所以不会讲解一些深奥的原理。它的目的是教你如何使用这个工具修改一些游戏中的数据,快速上手。在这里,我们将使用CE中内置的Tutorial-i386.exe工具进行教学演示。如果你能在演示工具中灵活掌握每个关卡的通关流程,相信你也能把学到的技术运用到其他任何游戏中。除非做好充分准备,否则暂时不要尝试附加网游。

更多教程:https://www.cnblogs.com/LyShark/category/1496775.html

准备:下载并安装CE

首先,CE工具的官网是https://www.cheatengine.org/.下载后,解压到指定目录直接打开作弊Engine.exe,即可使用。给你准备好了。

CE6.8中文版CE7.1中文版

链接:https://pan.baidu.com/s/19YliG62wh8BOnl6fDKZPSg提取代码:p926

Ce(作弊引擎)中文入门课程[原CCB]

类型:其他工具尺寸:语言:时间:2021年10月2日查看详情

工具打开后,默认为英文。你需要修改一下,如下图。选择编辑-设置-选择中文,重启。

1.解压后打开CE目录,可以看到下面的目录结构,其中作弊Engine.exe是CE的主进程,而Tutorial-i386.exe是一个练习环境,我们后续的内容会重点介绍这个练习环境。

2.然后我们打开作弊Engine.exe(或cheatengine-i386.exe,如果系统是32位)。请确保以管理员权限运行CE修改器,如下所示:

3.使用CE修饰符来附加cheatengine-i386.exe进程。操作过程如下:

教程到此结束。第一关就是这么简单。

好,点击下一步按钮进入下一步(或者输入密码进入你要练习的步骤)

第二关:精确扫描数值。

附加Tutorial-i386.exe进程后,我们单击教程的下一步按钮,然后继续第二个级别。第二关的功能还是很简单的,主要目的是遍历我们想要的动态数据,比如人物的寿命,人物的魔力等。将被准确扫描。可以说这个关卡既简单又实用,也是以后外挂制作中最常用的环节。那么,我们来看看Tutorial-i386.exe程序对这一关通关流程的描述:

第二步:扫描精确值(密码=090453)

现在,您已经在作弊引擎中打开了培训计划,您已经为我们的下一个练习做好了准备。

该窗口左下方显示的“健康:XXX”,

每次你点击“打我”按钮,它的值就会减少。

要进入下一个级别,必须找到这个值并将其更改为1000。

有很多方法可以找到这个值的位置,但我会告诉你一个最简单的方法,‘精确值’扫描:

上面简单描述的意思是,如果你需要把100换成1000,就过关了。具体步骤见下面。

1.首先,游戏的规则是我们每点击一次打我按钮,生命值就会减一。首先,我们搜索这100,看看是否能找到什么。

现在开始搜索100的精确值。在值中输入100,然后单击第一个扫描按钮。

一般游戏默认是4字节。您不需要在这里更改扫描类型和数值类型。默认就可以了。

这次扫描我们得到了35个结果,肯定有我们要找的血量值,但是好像太多了,继续找。

关键步骤:为了找到更准确的数据,我们回到教程,并点击击中我按钮。这时,血量值发生了变化:

让我们再次输入95,然后单击“再次扫描”按钮。只剩下一个结果(这是我们正在寻找的)。我们双击该地址,将其添加到地址栏中:

此时,地址栏中只有一个结果。这是我们正在寻找的内存地址。双击它,将其添加到地址栏中。

双击值95,将其更改为1000。点击确定按钮,通关即完成。

此时,当您返回Tutorial-i386.exe程序时,您会发现教程的“下一步”按钮变为可用。再次单击“打我”按钮,值会变大。继续点击下一步进入第三关。

第三关:未知值扫描

经过第二关的练习,你已经明白了如何用‘精确值’去扫描求值。让我们进入下一步。

这个入口主要用来搜索进度条,人的血条等。因为这些数据通常是一个进度条,我们无法直接看到数据。这时候就可以通过筛选变化的数据,一步步找到动态地址。

步骤3:未知的初始值(密码=419482)

上一遍,我们知道初始值的大小,所以可以用‘精确值’扫描,但是这一遍只有一个状态栏,不知道它的初始值。

我们只知道这个值在0到500之间,每点击一次‘打我’就会减少一次,减少的生命值会显示在进度条的顶端。

这一点很重要,因为在某些游戏中,血显示的不是数字而是血条,所以教程2中的方法会失效。

就看你教你怎么修改这些讨厌的未知数了。

此时,单击CE修改中的新扫描,然后选择未知初始值。其他选项不需要移动。

点击第一次扫描,然后肯定有超过N个结果,因为有这么多的CE没有显示出来。

老办法,回Tutorial.exe,打我,CE会告诉你血量减少了多少,比如-6。

这里换个思路吧。假设CE没告诉我减了多少或者我根本没看清楚。那我们该怎么办?观看下面的操作。

一、扫描减少的数值:下拉框,选择减少的数值,再次按扫描(此时血容量减少)。

二、扫描不变的数值:拉框,然后选择不变值(此时血量没有变化)。

三、反复操作:回到教程,点击打我=扫描减少的值=扫描不变的值。重复操作,最后只剩下4个地址。

四、简单判断:简单判断(教程告诉你这个值小于500)很容易找到最终地址。

双击地址将其添加到地址栏,然后将值更改为5000。

就可以通过考试了(前面的教程里有提到,这里就不赘述了)。

每个人都必须理解这次行动的想法:

血容量减少=CE搜索减少的值

恒定血容量=CE搜索的恒定值

血量增加=通过CE搜索增加的值。

通过反复筛选,很容易找到最终结果。

第四关:浮点数扫描。

在之前的教程中,我们使用了4字节扫描,但有些游戏使用了‘浮点数’来存储数值(这样做是为了给新手制造一些麻烦,让他们修改游戏不那么容易)。

浮点数是带小数点的数值(如5.12或11321.1)。就像关中的卫生和弹药,都是用浮点方式存储数据。不同的是,生命值是单精度浮点数,而弹药值是双精度浮点数。

第四步:浮点数(密码=890124)

点击‘打我’减少一些生命值,点击‘开火’消耗0.5弹药。

这两项都要修改到5000以上才能过关。

虽然‘精确值’扫描方式也可以完成这一级别的工作,但是你应该尝试其他更简洁的扫描方式。

1.扫描浮点数时,我们需要将数值类型改为浮点数。扫描浮点数时,不必输入小数97.0000。扫描浮点数时,输入97即可。

2.此时,将浮点数97更改为6000。

3.然后搜索双浮点数,也就是找到弹药的内存地址。

4.最后重写弹药,从99.5改成6000通关。

5.最后,点击下一步,这一关。

这里应该强调的是:

浮点数的长度为4个字节,可以用4个字节搜索浮点数,但需要模糊搜索。

双浮点数的长度为8个字节,使用8个字节可以搜索浮点数,但需要模糊搜索。

现在很多游戏都是用浮点数处理的。比如你扫描一个游戏,发现一个值是1120403456,然后你就要把它当成一个浮点数。

4字节1120403456=浮点数100。目前大部分游戏都是基于4字节(包括浮点数)。

第五关:代码替换功能

有些游戏重启时,数据会存储在与上次不同的地方,甚至在游戏过程中数据的存储位置也会发生变化。在这种情况下,您仍然可以通过几个简单的步骤来修复它。

这一次,我将尽力解释如何使用'代码替换'功能。第五级的值会在每次启动教程时存储在内存中的不同位置,因此地址列表中的固定地址不起作用。

步骤5:代码替换(密码=88899)

此开关的目的是禁用改变数值的按钮。很神奇,但是有什么用呢?

1.在游戏中,我们可以用这个功能来保持钱数不变。

2.可以使用该功能禁用怪物攻击,从而达到无敌效果。

3.让弹药不减,达到无限弹药的效果。

好处太多了,用这种方法可以轻松实现上述功能。

提示:如果你锁定地址的速度足够快,“下一步”按钮也会变成可点击的。

1.首先,找到血容量的内存地址。如果找不到,先看看前面的关卡,这里就不赘述了。然后,右键单击该地址=找出是什么重写了该地址:

2.在弹出的小窗口中点击是按钮,会弹出如下所示的小窗口。该窗口目前没有任何数据。

3.然后,我们返回教程,并单击教程中的“更改数值”按钮。将出现以下代码MOV[EAX]。EDX不在乎他的意思。

4.一行代码将出现在小窗口中。选择代码并单击替换按钮。

5.最后一步:按OK即可。

6.然后回到附加程序,单击按钮更改值。你会发现按钮没用。此关闭操作已经结束。

操作很简单,但为什么这会使按钮的功能失效:

实际上,更改按钮通过代码0045aecb-8910-mov[eax],edx更改值。

我们操作的最后一步是把这行代码替换成什么都不做(英文是Nop),这样会禁用按钮的功能。

第6级:关于指针

在上一步中,我们解释了如何使用'代码替换'函数来处理改变位置的数据地址,但这种方法往往达不到预期的效果,所以我们需要学习如何使用指针。

在Tutorial.exe窗口的底部有两个按钮。一个按钮可以更改值,另一个按钮不仅可以更改值,还可以更改值在内存中的存储位置。

接下来,我们将找到内存中的基址。为什么我们需要找到指针?在之前的教程中,如果你仔细观察,你会发现我截图中的地址和你的不一样。

也就是说,这些地址总是在变化的,我们称之为动态地址。

第六步:指针:(密码=098712)

问题:计算机每次是怎么知道这个动态地址到底是什么的?

其实不是所有的地址都会变。也有在内存中不会改变的地址。我们称它为基址。

实现思路:用不变地址定位可变地址,也就是用基址定位动态地址。

1.首先,像往常一样,我们先找到程序的动态地址。我们搜索100,如下所示。

2.单击以更改值并继续搜索。

3.找到血量的地址后,添加到地址栏,然后右键点击地址=找出是什么重写了这个地址,然后点击修改值按钮,出现一行代码(见第五级)。双击该行代码(或单击详细信息)。

4.然后会出现一个信息框。具体代码是什么意思就不解释了。CE会告诉你下一步该做什么。图:

CE接下来我们找01732898(可能不是你电脑上显示的这个地址因为是动态地址)继续操作:

5.返回CE,点击新建扫描,先打勾十六进制,填写01732898,点击首次扫描。

确保勾选十六进制,否则CE在搜索十六进制字母时会报告错误。搜索结果出来了:

这个地址00601630用绿色显示,在你的电脑上也应该是这个地址,因为是基址。

记住:CE中显示的绿色地址是基址,黑色地址是动态地址。

6.手动添加指针,然后单击手动添加地址。

图,输入00601630,点击确定。

7.注意:指针在地址栏中显示p地址的类型。

我们把值改成5000,然后点前面的锁。

然后点击教程里的改变指针按钮,这一关就过了。

这一关很重要。大家一定要多练习(学会前六关,已经可以修改大部分游戏了)

描述:

1.并不是所有的游戏都需要找到基址再做指针。有些游戏直接是基址。

2.基址是绿色的。如果末尾有多个绿色地址,一般情况下,选择第一个。

级别7:简单的代码注入

从这个关卡开始,你会初步接触到CE的反汇编功能,这也是CE最强大的功能之一。在第6级,我们讨论了寻找指针和用基地址定位动态地址。但是这个级别可以不用指针修改,哪怕对方是动态地址,功能更强大。

代码注入是将您编写的一小段代码注入目标流程并执行它的技能。在本教程中,你将有一个健康值和一个按钮,每次按下它都会减少你的健康值1点。你的任务是使用‘代码注入’,每按一次按钮增加2点生命值。

步骤7:代码注入:(密码=013370)

教程里每按一次按钮,就会自动减1点血。你的任务是每按一次按钮就换成增加2点血。

还记得5级的无血修改法吗?这个级别是5级的加强版。

建议您删除原始代码中减少生命值的那一行,否则您将不得不添加3个生命值。

照例根据动态数据反复搜索,找到血量的地址,然后右键地址=找到写的地址。为什么找不到被访问的地址?这里不需要懂,照做就是了。

然后点击hitme按钮,会出现一行汇编代码0042585d-83ab780400001-subwordptr[ebx00000478],01。

该指令的作用是将[ebx678]地址中的数据减1,sub是减法的汇编格式。

双击该行代码以查看详细信息:

这个代码是什么意思?众所周知,Sub的意思是减少

红框中:EBX=0184D5E0,我们用计算器算一下(注意是十六进制)

14d5e0478=184da58——只是血容量的动态地址。

够清楚了吗?这是血量减1的代码(1省略)。实际上,在CE中也有减1的提示。

知道了这行代码的意思,我们再回到教程的要求:把负1改成正2。

继续操作。选择反汇编程序,如下所示

单击工具并选择自动装配。

第一步:选择ct工作台框架代码

第二步:选择代码注入。

别搞错了,对应的地址是'Tutorial-i386.exe'2585D,这里没必要搬,保持默认就好。

然后按确定,汇编代码就会自动生成。这些代码是什么意思?我们不需要担心,找到关键行:subdwordptr[ebx00000478],01

将原来的子dwordptr[ebx00000478],01改为添加dwordptr[ebx00000478],02,每次增加2。

然后你可以在地址栏看到这个脚本。点击前面的单选框执行,然后点击教程里的打我。这个水平是可以过的。

你感觉到他的魔力了吗?逆水平的修改:

1.每次怪物打我,都是从伤血变成加血。

2.发射更多的子弹。

3.钱花得越多,花得越多。

如果你学会了这个水平,你就脱离了菜鸟的行列,已经可以应付大部分比赛了。

第八层:寻找多级指针。

这是6级的加强版,也是CE6中的4级指针。x教程比5.x中的简单,多级指针就像玩益智游戏。拼图不止一个,盒子里还有盒子。有四级指针,也有八级指针,十二级指针等。在游戏中。想法是一样的。

在这一步,我们将解释如何使用多级指针。在第6步中,您已经知道了一级指针的概念和用途,您可以使用值的第一个地址来查找存储数据的真实基址。

在这一遍中,您将看到四级指针,它们从第一个指针指向第二个指针,然后从第二个指针指向第三个指针,再从第三个指针指向第四个指针,最后指向健康值的真实基址。

第八步:多级指针:(密码=525927)

第一步与第六步基本相同。找出是什么访问了这个地址,然后记录下动态地址。

然后我们一步一步向下搜索。在搜索的过程中,我们分别记录动态地址和对应的偏移地址。

最后把这些地址加起来,锁定值为5000,点击改变指针,就可以通关了。

1.第一步,你需要按照第二遍中的方法找到动态地址,然后添加到地址栏中。

查找一级指针:找到血容量地址0169B5F8(动态地址),然后右键=查找写入。

然后返回到教程程序,并单击更改值按钮,如下所示

单击详细信息。

出现的代码的详细信息。

这个怎么看?ESI=0169B5E0

ESI18=0169B5F8是血容量的地址,也就是。要找血容量的地址,就得找ESI。注意图中的一行:

用于查找地址的指针的可能值是0169B5E0。

如果觉得分析太麻烦,就按照CE的建议做吧。这里要提醒你的是可能这个词,也就是说可能不全对。

六级也提到了偏移的概念。这里的一阶失调为18。

总结:一级偏移量为18,下一个搜索目标为0169B5E0。

查找二级指针:,查找ESI,勾选hex(十六进制),输入0169B5E0进行新的扫描。

然后在地址栏添加新地址0169B5E0,右键地址=选择要访问的地址。

一定要注意:这里的操作和上面的不一样。第一次是找写的地址,这一次的选择是找访问的地址。

如果没有代码信息出现。我们只需点击教程中的更改值按钮,然后将收集两个指令。cmp指令与指针无关,但对我们有用的是第二条指令movesi,[esi]。

由于这是movesi,[esi]默认情况下,我们将其偏移地址视为0。

然而,问题来了。我们发现这里显示的地址与上次显示的地址相同。为什么?

CE默认使用硬件断点,只有在指令执行后才能停止,而这条指令只是将esi原来指向的地址中的值重新赋值给esi,所以esi的值在执行后已经被覆盖,而我们想知道的恰恰是执行这条指令前esi的值,esi就是我们监控的地址。

所以直接搜这个地址就行了。

在下面添加地址0168495C,然后使用找出访问此地址的内容,并再次执行此操作。

最后二阶偏置为0,下一个目标为0169B5E0。

查找三级指针:接下来,和找一级指针一样。这里,我们选择弹出框中的第二条指令。可以看出,次级偏移是14。

继续寻找三级指针,方法同上。这里,三级指针是0c。

最后得出第三级偏移为0c,下一个目标为01684628。

查找四级指针:继续搜索动态地址01684628,如下。

记住:CE中绿色的地址是基址,黑色的地址是动态地址。如果有多个绿色地址,我们通常选择第一个。

我们已经找到了这里的所有地址。让我们把它们串起来看一看。

00601660c14018

取出基址(一级指针)的值'Tutorial-i386.exe'1FD660,加上一级偏移量0C作为地址,这是二级指针的地址,然后取出二级指针的值,加上14,这是三级指针的地址,以此类推。

添加并测试指针:最终测试,指针是否有效。

添加锁值5000,然后单击示例中的更改指针按钮,看看是否可以清除。

多级指针需要注意什么:

1.1级指针是查找写,其余的是查找访问。

2.绿色地址是基址,黑色地址是动态地址。

3.添加指针时注意模块地址。

4.指针是由偏移量处的基址组成的,所以在教程中我们只需要找到4个偏移量和1个基址。

我建议如果想深入学习,最好学习Windows32位汇编语言。

第9级:找到共享代码

我们将学习共享代码。在C语言中,字符属性以结构的形式存储,结构中存储的信息是连续的。我们将解释如何处理游戏中的共享代码,这种代码通常用在除了我们自己之外的其他同类型对象上。

往往你在修改游戏的时候,会发现一个单位的生命值,或者自己角色的生命值。你会发现一个情况:如果去掉生命值相关代码,结果是你的角色无敌,但你的敌人也无敌。这就是共享代码造成的鬼。

第九步:注入:(密码=31337157)

这个游戏模拟了一个游戏,左边是我方,右边是敌方。当我们点击重启自动执行的时候,我们这边会因为血量不足而死亡。

你的任务是找到重写生命值的代码,并修改它,这样你就能赢,但永远不要使用锁定生命值的方法。

提示:遍历血容量时,应该使用单个浮点数进行搜索。

1.首先,你需要按照第一关的搜索方法,搜索以下四个角色的血量。我搜索了一下,在下面做了备注。

2.你可以右击每个动态地址,选择【找出是什么重写了这个地址】,你会发现四个地址都指向同一个汇编代码,也就是说它们使用的是共享代码。

3.我们直接在每个地址上点击右键选择【浏览相关内存区】,然后对比四个地址,找出一些规律。

我们队友的结构

敌人的结构

从上面四张图可以看出,我们的队友编号为1,敌人编号为2。我们可以通过数字判断它是不是敌人,决定是否让它流血。

当然也可以通过判断名字的首字母来决定。如果是D或者E开头,说明队友不能让它失血。否则直接执行扣血码。

4.接下来,我们必须注入代码。CE切换到内存浏览窗口,然后选择【工具-自动组装】、【模板-代码注入】,点击确定。

最上面的原码是mov[ebx04],eax,表示血量在ebx04的位置。

5.为了遍历状态位,我们需要计算队号和血量的偏移值,

下图显示戴夫血量地址为019E0794,队号地址为019E07A0,两者之间的十六进制减法(019E07A0-019E0794=0C)给出0C。如果血量是ebx04,那么队号应该是ebx040C或者ebx10。

6.直接写下面的汇编代码,然后执行。注射完成后,返回练习程序,点击【重启游戏,自动执行】。这一关就顺利过关了。

关于CE(CHEATENGINE)修改器新手入门教程的这篇文章到此为止。更多相关CE修改器使用教程,请搜索脚本之家之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持剧本之家!

本文到此结束,希望对大家有所帮助。

标签:

上一篇
下一篇