Cheat Engine 学习
Cheat Engine 学习使用的简单记录。
下载与安装
官方下载网址 https://www.cheatengine.org/
左侧栏 Downloads 里面的 Translations 有中文语言包,解压后扔到 CE 的 language 目录下即可
CE 自动下载到 C 盘,没法修改,要改变其安装路径只能下好之后手动剪切粘贴
基础使用
跟着它自身提供的教程过了一遍关卡
步骤 1:
在 帮助
里面选择教程,这里以 64 位的为例,双击后根据提示点击 下一步
点击电脑标识弹出进程列表
,选择刚刚打开的教程
步骤 2:
给出了健康值 100,点击 打我 按钮,健康值就会减少,需要找到这个值在内存中的位置并将其修改为 1000
由于已经给出了确定的值 100,扫描类型选择 精确数值
,再点击 打我 按钮,看到数值发现改变的位置,双击选中,添加到下方列表
双击下面列表中的数值,修改为 1000 即可进行下一步
步骤 3:
没告诉具体的初始数值,但是数值会发生变化,比如这里点击 打我 按钮,健康值会减少,所以扫描类型选择 减少的数值
(或者”未知的初始值”和”数值减少了…”),点击首次扫描,等待扫描完成,然后继续点 打我 按钮,点击再次扫描
,观察数值变化,锁定正确的地址,接着按照之前的操作修改数值为 5000
步骤 4:
扫描健康值时数值类型用单浮点
,扫描弹药值时数值类型用双浮点
,两者都改为 5000
步骤 5:
按照之前的操作先找到健康值,然后右键点击找出是什么改写了这个地址
接着点 改变数值 按钮并返回 CE,就可以看到刚刚弹出来的窗口上多出来了一些汇编,点击 替换
,再直接点确定(实际上是把这里的汇编替换成了 Nop),然后就会发现那个 改变数值 的按钮已经没用了
步骤 6:
按照之前的操作找到汇编,然后点击详情信息
,可以看到 CE 显示的指针数值
返回 CE,点击 新的扫描
,勾选 Hex
,输入地址,开始首次扫描,搜索到的地址是绿色的,在 CE 中绿色的地址是基址,黑色的地址是动态地址
在地址栏指针的显示是P->
这样的,然后修改数值为 5000,并点前面的方框让它激活
最后点 改变指针 按钮即可通过
步骤 7:
找到汇编,点击 显示反汇编程序
,再在工具
里面选择自动汇编
然后在模板
中先后选择 CT表框架代码
和 代码注入
(这里的地址不需要做修改,保持默认即可)
将原来的 sub dword ptr [rsi+000007E0],01
改成 add dword ptr [rsi+000007E0],02
,分配到当前的CT表,最后执行
步骤8:
多重指针
按照上文操作看到汇编的详情信息
这里的 18 是偏移量,rsi 中存的值就是要找的第一层指针(CE 的提示也是该值),然后查找这个地址,找到后双击添加到地址栏,右键地址,选择找出是什么访问了这个地址
(注意这里是访问,不是改写)
再点击 改变数值 按钮,这里就会出现两条汇编指令,第一条比较没用,看第二条 mov 指令
发现这里的地址和上一次一样,这是因为 CE 使用内存硬件断点,这种断点在 指令执行之后 才触发,所以 mov esi, [esi] 已经把 ESI 改掉了,而我们要找的值是改之前的 esi 值
点击 新的扫描,把扫描到的地址双击添加到地址栏,右键选择找出是什么访问了这个地址
,点击 改变数值 ,查看汇编的详细信息
偏移 18,要扫描的地址是 015E82E0
偏移 10,要扫描的地址是 015E8260
找到绿色的基地址了,手动添加地址,加上前面的四次偏移
修改值为 5000 并激活,最后 点 改变指针 按钮即可
参考文章
https://www.cnblogs.com/LyShark/p/10799926.html#_label0
https://blog.csdn.net/qq_24970227/article/details/122718062