Health: xxx
。Hit me
,健康值会减少。1000
。执行Exact Value
扫描,选择 4 Bytes
,输入当前健康值,点击First Scan
,这是因为大多数游戏中的数据通常以2字节或4字节这两种格式存储。
如果有多个地址,不确定是哪一个,点击Hit me
并输入新的健康值,再次扫描(Next Scan)
。重复此步骤,直到确认唯一地址。
双击左侧列表中的地址,使其出现在下方列表中。双击该地址的数值,将值修改为1000
。
在前一步中,我们使用精确数值扫描找到了一个已知值。这次我们将处理一个状态条,其初始值未知,但范围在0~500
之间。每次点击Hit me
,会减少一些健康值。
New Scan
开始新的扫描。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
和扫描,逐步减少候选地址数量,最终确定唯一的地址。
这个方法通过不断减少值的扫描,逐步确定未知初始值的内存地址,适用于初始值未知但范围已知的情况。
在前面的教程中,我们使用了字节扫描。这次我们将处理以浮点数形式存储的数据。一些游戏使用浮点数来存储信息,以防止简单的内存扫描工具轻易找到这些数据。浮点数是带有小数点的数值(如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
直到确定唯一地址。