文章目录
- Exact Value scanning
- 任务
- 实现步骤
 
- Unknown initial value
- 任务
- 实现步骤
- 原理说明
 
- Floating points
- 任务
- 实现步骤
- 原理说明
 
- Code finder
- 任务
- 实现步骤
- 原理说明
 
- Pointers
- 任务
- 实现步骤
- 原理说明
- Change Pointer 操作:
- Active(活跃状态)和数值修改:
 
 
- Code Injection
- 任务概述
- 实现步骤
- 原理说明
 
- Multilevel Pointers
- 任务
- 实现步骤
- 原理说明
 
- Shared code
- 任务
- 实现步骤
- 原理说明
 
 
Exact Value scanning
任务
- 底部窗口显示Health: xxx。
- 每次点击Hit me,健康值会减少。
- 任务是找到并将健康值修改为1000。
实现步骤
-  执行 Exact Value扫描,选择4 Bytes,输入当前健康值,点击First Scan,这是因为大多数游戏中的数据通常以2字节或4字节这两种格式存储。
  
-  如果有多个地址,不确定是哪一个,点击 Hit me并输入新的健康值,再次扫描(Next Scan)。重复此步骤,直到确认唯一地址。
-  双击左侧列表中的地址,使其出现在下方列表中。双击该地址的数值,将值修改为 1000。
  
Unknown initial value
任务
在前一步中,我们使用精确数值扫描找到了一个已知值。这次我们将处理一个状态条,其初始值未知,但范围在0~500之间。每次点击Hit me,会减少一些健康值。
实现步骤
- 开始新扫描:
- 点击New Scan开始新的扫描。
- 设置扫描类型和数值类型:
- 数值类型设置为4字节(大多数Windows应用使用4字节)。
- 扫描类型选择Unknown initial value。
- 点击First Scan进行初次扫描。
- 执行减少值扫描:
- 点击Hit me减少健康值。
- 在Cheat Engine中选择Decreased Value。
- 点击Next Scan进行下一次扫描。
- 重复扫描:
- 重复点击Hit me和Decreased Value扫描,直到只剩下几个可能的地址。
- 确定正确地址:
- 因为我们知道值在0~500之间,选择最可能的地址并添加到列表中。
 修改健康值:
- 将健康值修改为5000以完成这一步骤。
原理说明
未知初始值扫描:当我们不知道初始值时,无法使用精确数值扫描。选择Unknown initial value进行初次扫描,将所有可能的内存地址作为候选。
减少值扫描:每次点击Hit me,健康值减少。选择Decreased Value进行扫描,可以过滤掉那些值未减少的地址,从而逐步缩小范围。
逐步缩小范围:通过多次点击Hit me和扫描,逐步减少候选地址数量,最终确定唯一的地址。
这个方法通过不断减少值的扫描,逐步确定未知初始值的内存地址,适用于初始值未知但范围已知的情况。
Floating points
在前面的教程中,我们使用了字节扫描。这次我们将处理以浮点数形式存储的数据。一些游戏使用浮点数来存储信息,以防止简单的内存扫描工具轻易找到这些数据。浮点数是带有小数点的数值(如5.12或11321.1)。
任务
修改健康值(float类型)和弹药值(double类型)为5000或更高。
实现步骤
- 开始新扫描:
- 点击New Scan开始新的扫描。
- 设置数值类型和扫描类型:
- 设置健康值扫描:数值类型选择Float。
- 扫描类型选择Exact Value。
- 在数值框中输入当前健康值,点击First Scan进行初次扫描。
- 减少健康值并重复扫描:
- 点击Hit me减少健康值。
- 输入新的健康值,点击Next Scan。
- 重复点击Hit me和Next Scan直到确定唯一地址。
- 双击地址将其添加到下方列表中,修改值为5000。
- 设置弹药值扫描:
- 点击New Scan开始新的扫描。
- 数值类型选择Double。
- 扫描类型选择Exact Value。
- 在数值框中输入当前弹药值,点击First Scan进行初次扫描。
- 减少弹药值并重复扫描:
- 点击Shoot减少弹药值0.5。
- 输入新的弹药值,点击Next Scan。
- 重复点击Shoot和Next Scan直到确定唯一地址。
- 双击地址将其添