Cheat Engine(CE)教程

本文详细介绍了CheatEngine的使用教程,包括精确值扫描、未知初始值搜索、浮点数处理、代码查找与注入、指针操作、多级指针以及共享代码的运用。通过实例演示,帮助读者掌握逆向工程和游戏调试的核心技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

CE有个自带的教程,包括精确扫描、未知初始值、浮点数、代码查找、指针、代码注入、多级指针、共享代码,本篇记录下

一、简介

Cheat Engine ,简称CE,是逆向工程师常用的几大神器之一,也是游戏汉化、破解以及外挂编写中常用的工具,其功能包括:

  • 内存扫描
  • 十六进制编辑器
  • 调试工具
  • 可以进行反汇编调试、断点跟踪、代码注入等诸多高级功能
  • 支持 lua 语言,可以实现自己定义的逻辑功能,而不仅仅是简单的锁定数据。也可以在代码注入的同时注入 lua 插件,使游戏进程与 CE 进程进行交互。 CE 的大部分功能都可以通过 lua 来操作
  • 它还支持 D3D Hook 功能,可以在游戏中显示十字准星,也可以绘制功能菜单,同时也可以对 D3D 的调用栈进行跟踪调试
  • 自带变速功能,通过 Hook 游戏相关函数改变游戏速度
  • 自带了一个 Trainer 的功能,可以将自己在 CE 中实现的功能单独生成一个 exe 文件,并可以使用 lua 创建比默认样式更加复杂的窗体或功能

下载:建议到吾爱破解下

二、教程

开始教程
在这里插入图片描述
打开进程
在这里插入图片描述

1、精确值扫描

在这里插入图片描述
简单流程:

  • 精确扫描100
  • “打我”
  • 精确扫描新的数值
  • 重复直到只有一个地址并修改值为1000

在这里插入图片描述
在这里插入图片描述

2、未知初始值

在这里插入图片描述
流程:

  • 未知搜索
  • “打我”
  • “减少的数值”
  • 重复直到只有一个地址并修改值为5000

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、浮点数

在这里插入图片描述
流程:类似精确值扫描,改为浮点数即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、代码查找

在这里插入图片描述
流程:

  • 用上面的办法找到地址
  • 右键“找出是什么改写了这个地址”
  • 指令改为空

在这里插入图片描述
在这里插入图片描述
替换为空即可

5、指针

在这里插入图片描述
流程:

  • 找到地址
  • 查看“是什么改写了地址”
  • 查看“详细信息”
  • 搜索指针地址并修改值为5000

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、代码注入

在这里插入图片描述
流程:

  • 找到地址
  • 找到代码
  • 反汇编
  • 根据要求修改

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
几个解释

alloc(newmem,2048) // 申请 2048 字节的内存,newmem 就是这个内存地址
label(returnhere) // 定义用于跳转的标签 returnhere
label(originalcode) // 定义用于跳转的标签 originalcode
label(exit) // 定义用于跳转的标签 exit

修改如下:
在这里插入图片描述

7、多级指针

在这里插入图片描述
流程:

  • 找到地址
  • 找到指针
  • 不断找指针
  • 修改值

在这里插入图片描述
在这里插入图片描述
注意这里有个偏移量18

在这里插入图片描述
然后“是什么访问了地址”

在这里插入图片描述
在这里插入图片描述
这里提示的地址和上一次提示的地址是一样的
研究下:

  • mov esi,[esi] 这条指令访问了这个地址
  • 那么 [esi] 原来是啥?原来的 esi 不就是这个我们监视的地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
找到基址了!!
此时,真正的内存地址是

[[[["Tutorial-i386.exe"+2566E0]+0C]+14]+00]+18

在这里插入图片描述
在这里插入图片描述
到此即可
其实CE自身是有搜索指针的功能的,就不用上面这样一步一步来

8、共享代码

在这里插入图片描述
流程:

  • 找出4个血量地址
  • 查找代码
  • 区分敌我
  • 修改代码

在这里插入图片描述
浏览内存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现有个队伍编号1和2
区分出敌我,那就简单了
进行代码注入

在这里插入图片描述
分析:

  • 原始代码是 mov [ebx+04],eax,意思就是,血量处于 ebx+04 的位置
  • 再看 Dave 的血量地址和队伍编号地址,两者做个差值(16进制减法,可以用计算器算),应该是0C,如果血量是 ebx+04,那么队伍编号就应该是 ebx+04+0C 就是 ebx+10
  • 我们需要在运行原来代码之前判断一下 [ebx+10] 是否等于 1

修改如下:
在这里插入图片描述
在这里插入图片描述

完结撒花!

结语

学会使用CE的基本功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值