在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Cheat Engine 一般简称CE,是一个开放源代码的作弊软件,其功能包括:内存扫描、十六进制编辑器、调试工具,Cheat Engine 自身附带了外挂制作工具,可以用它直接生成外挂工具,CE可以说是目前最优秀的游戏修改器不是之一,这个工具绝对值得你去学习(只要花一点时间就够了)。 本章节内容将带领小白学会使用CE,由于是入门教程所以不会讲解一些太深奥的原理,其目的是教会你如何使用这款工具来修改一些游戏中的数据,快速上手操作,这里我们就以CE中内置的 更多教程:https://www.cnblogs.com/LyShark/category/1496775.html 环境准备:下载并安装CE首先CE工具的官方网站是 https://www.cheatengine.org/ 下载好后解压到指定目录直接打开 CE 6.8 中文版 CE 7.1 中文版 链接: https://pan.baidu.com/s/19YliG62wh8BOnl6fDKZPSg 提取码: p926 该工具打开后默认是英文的,你需要修改一下,如下所示,选择 edit -> setting -> 选择中文,重启即可。 1.打开解压后的CE目录你可以看到下面的目录结构,其中 2.接着我们打开 3.使用CE修改器附加 教程到这里就结束了,第一关就这么简单 好了,点击 第二关:精确扫描数值附加
上面的简单描述的意思就是,需要将100这个数值修改为1000则本关就算通过,看下面具体的步骤 1.首先游戏规则是每次我们点击 现在开始搜索精确数值 默认情况下一般游戏就是4字节,这里不需要改动 这次扫描我们得到 35 个结果,里面肯定有我们要找的那个血值,不过好像太多了,没关系继续往下看. 关键一步:为了找到更加精确的数据,我们回到 Tutorial 点击 我们再输入 此时地址栏里面只有1个结果了,这个就是我们要找的内存地址,双击将其加入到地址栏 在数值95上面双击,并修改把 95 改成 1000 点击 此时回到Tutorial-i386.exe程序,会发现教程的 第三关:未知数值扫描经过第二关的练习,你已经理解了如何利用"精确数值"扫描查找数值了,让我们进行下一步。 本关主要用来搜索进度条,人物血条等,因为这些数据通常是一个进度条,我们无法直接看到的数据,此时可以通过变更的数据一步步筛选找到动态地址。
此时在CE修改其中点击 点击 老办法,回到 这里面我们换个思路,假设CE没告诉我减少了多少或者我根本没看清,这时应该怎么办呢? 注意看下面的操作 一、扫描减少的数值: 下拉框,选择减少了的数值,按再次扫描(此时血量减少了) 二、扫描不变的数值: 拉框,然后选择 没变动的数值(此时血量没有变化) 三、反复操作: 再回到Tutorial ,点击 四、简单判断: 简单判断下(Tutorial中告诉你了这个数值是小于500的),很容易就找到了最终的地址。 双击把地址加到地址栏,然后更改数值为5000。 就可以过关了(前面教程有说过,这里就不再重复了)闯关成功。 大家一定要明白这样操作的思路: 血量减少=>CE搜索减少的数值 这样反复筛减,就能很容易找到最终的结果。 第四关:浮点数的扫描在前面的教程中我们使用
1.在扫描浮点数时,我们需要将数值类型改为浮点数,浮点数扫描时不必输入后的小数 97.0000 扫描时输入97就可以了。 2.此时将97这个浮点数改为6000即可。 3.接着搜索双浮点数,也就是找到弹药的内存地址。 4.最后改写弹药将99.5改成6000即可通关。 5.最后,点击下一步,本关通过。 这里面要强调的是: 浮点数的长度是4字节,使用4字节也可搜索到浮点数,但需要使用模糊搜索。 现在好多游戏都采用浮点数来处理。例如您在扫描游戏时发现一个数值是 1120403456 这时候您就要想到它是浮点数。 第五关:代码替换功能某些游戏重新开始时,数据会存储在与上次不同的地方, 甚至游戏的过程中数据的存储位置也会变动。在这种情况下,你还是可以简单几步搞定它。
1.首先先找到血量的内存地址,不会找的先去看前面几关,这里就不重复了,然后 在地址上 2.在弹出的小窗口中点击 3.然后我们回到教程中,点击教程中的 4.小窗口中会出现一行代码,选中代码,然后点击 5.最后一步:直接按确定就可以 6.然后回到附加的程序,点击改变数值的按钮,你会发现按钮已经没有用了。本关操作已经结束了 操作非常简单,但是为什么这样就会使按钮的功能失效: 改变数值按钮其实是通过 代码 0045aecb - 89 10 - mov [eax],edx 来实现数值改变的。 第六关:关于指针上一步阐述了如何使用 在本关的 Tutorial.exe 窗口下面有两个按钮,一个会改变数值,另一个不但能改变数值而且还会改变数值在内存中存储的位置。 接下来我们将找到内存中的基址, 为什么要找指针,在前面的教程中,如果各位细心观察的话就会发现 在我截图中的出现地址和你的地址并不相同。
1.首先老样子,我们先找到程序的动态地址,如下我们搜索100。 2.点击 3.找到血量的地址后,加入到地址栏,然后在地址上按 4.然后出现一个信息框,具体的代码是什么意思就不解释了,CE会告诉你下一步该做什么,图: CE让我们下一步找 01732898(在你电脑显示可能不是这个地址,因为它是动态地址),继续操作: 5.返回到CE,点击 一定要勾上HEX,否则CE在搜索16进制字母时会报错。搜索结果出来了: 这个地址 00601630 显示的是 记住:在CE中显示绿色的地址是基址,黑色的地址是动态地址 6.手动添加一个指针,点击 图示操作, 7.注意看:指针在地址栏显示的是 p-> 地址 这种类型的 我们将数值改成5000,再点击前面的锁定 然后点击 Tutorial 中的 改变指针 按钮,这关就可以过了。 这一关相当重要,大家一定要多多练习(学会前六关,你已经可以修改大部分的游戏了) 说明: 第七关:简单代码注入从本关开始,各位会初步接触到CE的反汇编功能,这也是CE 代码注入是将一小段你写出的代码注入到目标进程中并执行它的技巧。在这一步教程中,你将有一个健康值和一个每按一次将减少 1 点健康值的按钮,你的任务是利用"代码注入",使每按一次按钮增加2点的健康值。
老样子,根据动态数据 然后按一下 这条指令的作用是,将 双击那行代码,看下详细信息: 这行代码什么意思呢?sub 大家都知道是减少的意思 图示红框处:
明白了这行代码的意思,我们回去看看Tutorial的要求:把减1改成加2。 继续操作。选择 点击 第一步:选择 第二步:选择 对应的地址不要搞错了,是 然后按 将原来的 然后在地址栏就可以看到这个脚本了,点击前面的 单选框 执行,然后点击Tutorial中的打我,这关就可以过了。 你感觉到他的神奇了吗?逆天级的修改: 1、怪物每次打我从伤血变成加血。 如果你学会了这一关,你已经脱离菜鸟的行列了,已经可以对付绝大部分的游戏了。 第八关:查找多级指针本关是第6关的加强版,CE 6.X 教程中的4级指针比5.X的要简单些。多级指针就像玩解谜游戏一样,谜团不只一个,盒子中还有盒子。这里面是4级指针,游戏中也有比如8级指针,12级指针等等,思路都是一样的。 在这一步将解释如何使用多级指针。在第 6 步,你已经清楚 1 级指针的概念和用途,并可以利用数值的首个地址找到存放数据真正的基址。
1.第一步你需要按照第二关中的方法找到,动态地址,然后加入到地址栏中。 查找一级指针: 找到血量地址 0169B5F8(动态地址),然后 然后回到教程程序中,点击 点击详细信息 出现代码的详细信息。 这个该怎么看呢?ESI= 0169B5E0 ESI+ 18 = 0169B5F8 就是血量的地址,也就是说。想找到血量的地址就要找到ESI,注意看了图中一行字: >>>> 要查找地址的指针的可能值是 0169B5E0 如果您觉得分析太麻烦,就按CE的建议来,这里面要提醒各位注意 第6关也提到过偏移的概念。这里面的一级偏移是 18
查找二级指针: 下面找 然后把新地址 0169B5E0 添加到地址栏,在地址上 一定要注意:这里面和上面的操作不同,第一次是查找写入的地址,这次选择的是查找访问的地址。 如果没有出现代码信息。我们就到 Tutorial 中点击一下 这里由于是 mov esi,[esi] 默认我们将其偏移地址看作是 0 不过问题来了,我们发现,这里提示的地址和上一次提示的地址是一样的,这是为什么呢? CE 默认使用硬件断点的方式,断点只能停在指令执行之后,而这条指令正好是把 esi 原来指向的地址中的值再赋值给 esi,所以执行之后 esi 的值已经是被覆盖掉的值了,而我们想知道的恰恰是执行这条指令之前的 esi 值, esi 就是这个我们监视的地址。 所以直接搜索这个地址即可。 将 0168495C 这个地址添加到下方,然后使用
查找三级指针: 接下来和查找一级指针方法相同,这里我们在弹出的框中选择第二条指令。可看到二级偏移是 14 继续查找三级指针,方法同上,这里三级指针是0c。
查找四级指针: 继续搜索01684628 这个动态地址,如下。 一定要记住:在CE中显示绿色的地址是基址,黑色的是动态地址。如果有多个绿色地址,一般情况下我们选择第一个。 这里我们已经找到了所有的地址,接下来串一下这些地址看看
把基址(一级指针) "Tutorial-i386.exe"+1FD660 的值取出来,加上一级偏移 0C,当做地址,这是二级指针的地址,再把二级指针的值取出来,加上 14,这是三级指针的地址,依次类推。 添加并测试指针: 最后测试,指针是否生效。 添加后锁定数值为5000,然后点击例子中的改变指针按钮,看是否能通关。 多级指针要注意的地方: 建议大家,如果想深入研究的话,最好能过学习一下Windows 32位汇编语言
本关我们将学习共享代码,在C语言中角色属性都是以结构体的方式进行存储的,而结构体所存储的信息都是连续性的,这一关我们将会解释如何处理游戏中的共用代码,这种代码是通用在除了自己以外的其他同类型对像上的
1.首先你需要根据第一关中的搜索方法,分别将下面四个人物的血量搜索到,下面我已经搜索好并做好了备注。 2.你可以分别在每个动态地址上面,右键选择【找出是什么改写了这个地址】,会发现这四个地址都指向了同一条汇编代码,这也就说明了其使用了共享代码。 3.我们直接在每一个地址上面右键选择【浏览相关内存区域】,然后对比四个地址会发现一些规律。 我方队友的结构
敌人的结构
上方的四个图片可看出我方队友编号为1而敌人的编号为2,我们可以通过编号来判断是否为敌人,来决定要不要让其掉血。 4.接下来我们要注入代码了,CE切换到内存浏览窗口,然后选择【工具 -> 自动汇编】,【模板 -> 代码注入】点击确定。 上方原始代码是 mov [ebx+04],eax,意思就是,血量处于 ebx+04 的位置。 5.为了能够遍历到状态位,我们需要计算出队伍编号和血量的偏移值, 观察下图发现 Dave 血量地址是 019E0794 和队伍编号地址 019E07A0,两者十六进制相减(019E07A0 - 019E0794 = 0C)得到0C,如果血量是 ebx+04,那么队伍编号就应该是 ebx+04+0C 就是 ebx+10。 6.直接写以下汇编代码,然后执行,注入完成后回到练习程序中然后点击【重新启动游戏并自动执行】,本关会顺利通过。 到此这篇关于CE(CHEAT ENGINE)修改器新手入门教程的文章就介绍到这了,更多相关CE修改器使用教程内容请搜索极客世界以前的文章或继续浏览下面的相关文章,希望大家以后多多支持极客世界! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论