CE自带新手教程 1-6关详解

本文详细介绍了CheatEngine教程的前六关,包括精确值和浮点扫描、未知初始值搜索、代码查找替换、以及指针概念的应用,帮助初学者掌握内存修改技巧。
摘要由CSDN通过智能技术生成

 简介

Cheat Engine自带了一个Tutorial引导初学者快速入门CE,一共10关,其中第10关分为3小关,本篇将对1~6进行详解。7~10见下一篇

完整的视频讲解在BIlibili同名账号:KrnlsYs

我使用的版本是CE7.5,处于演示目的,我是用的是中文版,建议各位有能力的还是用英文版

在如下图所示位置启动自带教程,以32位为例(x86_64是64位版本,与32位的思路完全一致,只是汇编和寄存器等方面有所不同)

打开以后大概长这样

第一关、

说的非常啰嗦就不截图了,实际上只是选定目标进程而已,在这里选择Tutorial程序,完成之后即可点击下一步

第二关、精确值扫描

实际上就是用精确值扫描这个生命值,并将其修改为1000

按照图示设置扫描

发现有400多个结果

点击按钮使血量变化为99,点击下次扫描搜索99

此时仅剩一个结果,说明这就是真正的血量,根据要求修改为1000

双机添加到下方地址列表,并在“值”列双击,将其修改为1000即可,来到下一关

第三关、未知初始值扫描

游戏中很常见的情况是不知道想修改的值具体是多少,因此可以通过变化趋势筛选,最终找到这个值

这关需要我们找到生命值并修改为5000。

先搜索未知初始值

此时有大量结果,点击攻击我,搜索减少的值

仍然有大量结果。再次点击攻击我,可以发现下方提示了具体掉了多少血量

这种情况下可以搜索具体减少了多少,修改扫描类型为减少的值为

设置为9点击再次扫描

可以发现除了第一个之外,其余四个都不像是血量,因此将第一个修改为5000即可过关。当然也可以进一步重复之前的步骤筛选,但也没必要,因为这种一眼就看出来了

第四关、浮点扫描

这关可以结合第二关和第三关的方法一起扫描,唯一需要注意的是,生命值是以浮点数存储,而弹药是以双浮点存储,扫描时类型要选择正确,否则扫不到

找到真实地址后分别将以上两项数据修改为5000以上即可过关,比较简单,就不演示了

第五关、代码查找

简单来说,这关需要我们查找写入生命值的代码,并将其替换为什么也不做的代码(nop),这样可以实现简单的无敌效果,因为修改生命值的代码已经被替换为什么也不做的代码了(当然可能存在副作用,后边关卡会讲)

首先还是先找到这个值,注意搜索4字节整数,根据前几关的方法找即可,不再演示。

找到以后右键,查找写入该地址的代码

此时提示附加调试器,点击确定,然后会弹出一个窗口,里边没有指令出现,因为还没有代码修改这个值,因此点击tutorial中的修改值让这个值变化,就会出现一条新指令。也可以点击多次,会发现点了几次前边的计数就是几,代表这个指令执行了多少次

右键选择使用Nop替换 用空指令替换(不同版本翻译可能有差异,总之就是这个意思),然后确定

此时再次单击按钮会发现值已经不会变化了,因为修改它的代码已经被我们替换为什么也不做的代码了,来到下一关

第六关、指针

指针也叫作地址,学过编程的话比较好理解,如果没学过也没关系,只需要知道,存储数据肯定需要一个“地方”,这个地方(即指针或地址)存储着数据,比如血量。

还是先找到这个值,不再演示了。注意寻找的过程不要点击修改指针。找到以后,记住这个地址

右键查找写入,弹出框后再次点击修改值,会发现新增了代码

双击这条代码,弹出一个新框

标红的代码就是我们双击的代码。mov 实际上就是赋值,注意右边是源操作数,左边是目标操作数,而[]括号表示把括号里的东西作为地址再取值,因此 mov [edx],eax的真实含义是,将eax的值赋值给edx这个地址里的值

注意其中edx就是我之前提过要记住的地址,而eax是十六进制的0xBF,用计算器转换为10进制即191,与Tutorial中对应。所以这条执行完之后,就会把191放到0x1886458这个地址里,表现为下图

既然edx是我们想要的数据的地址,所以我们可以搜索一下看看edx是从哪来的

勾上十六进制,选择4字节(如果是64位需要选择8字节)

搜索,发现出现两条,其中第一个是绿色的

绿色表示静态地址,通过静态地址和偏移(后边会讲)总是可以定位到我们感兴趣数据的真实地址,先不讲太复杂,双击加到地址列表,再双击,点一下指针即可变为如下形式,把16进制去掉就可以显示191(我这里显示的值为5000是因为我修改了,忘了截图,实际上对应本篇应该是191)

确定,再将其值修改为十进制的5000,确定,然后锁定

此时再点击tutorial里的修改指针,即可过关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值