- 改变血量 查找到血的动态地址(通过修改内存地址的值可以改变游戏血量表示正确
- 通过编辑发现这个地址可以改变游戏的当前血量
3、右键这个地址点击 "Find out what accesses this address" 打开访问汇编代码
4、这里需要点击yes,保存住查找状态
5、 这时会发现代码很少,我们可以脱掉装备或者吃血瓶、被怪物攻击等方式增改游戏血量,使代码量访问增加
6、这时会增加很多汇编代码,找到任意一条,代码双击打开(注意不要查找mov xxx, xxx, xxx是一样的代码,因为这样的代码无法在ce分析)
7、根据代码计算得到, 18是十六进制换算成十进制就是24,这一步后我们得到了18 = [33183480+158] , 33183480这个内存地址就是我们需要下一步需要查找的地址
mov eax, [edx+00000158]
eax = [edx+00000158] eax = 18 edx=33183480
18 = [33183480+158]
8、勾选hex,把33183480复制到ce进行new scan(查询不到多点几次)
9、这时又会得到这么多数据,从中选取有用的数据,一样的加入到结果栏,右键"Find out what accesses this address" ,
10、如果地址内没有数据,说明这个地址不是我们要找的地址
11、查找到有数据的,还是任选一条mov指令, 12、双击打开得到里面的汇编代码,
13、同样进行计算,计算过后得到表达式[[35ce1800+530]+158] ,35ce1800就是下一步计算需要的地址,同样在ce中hex搜索
mov edx,[ebx+530]
edx = [ebx+530] edx = 33183480 ebx=35ce1800
33183480 = [35ce1800+530]
18 = [[35ce1800+530]+158]
14、这时就会得到这样的数据,绿色的在ce中就表示基地址,
15、双击加入到结果栏. 024cc4b8,就是我们需要的基地址了
16、计算得到表达式
[[[024cc4b8]+530]+158]
17、验证找到的表达式是否正确
17.1 在ce中打开
17.2 点击pointer,添加地址和偏移,如果有多个偏移 点击add offset
17.3 最后重启游戏再次重新附加,验证查找的结果是否正确