一、打开CE,载入游戏进程
二、打开人物属性,查看护甲的值是52
三、在CE搜索精确数值52,点击首次扫描,搜索结果有7000多数据
四、让护甲值变动,通过穿戴装备,此时搜索59
五、点击在此扫描,只有一个内存地址存放了该值
六、右击该地址,选择找出是什么访问了这个地址,然后再通过换装备,找到访问该内存地址的值
七、一共有5条指令访问了该内存地址
八、一般找寻mov 寄存器,[表达式]这样的访问,在OD中挨个地址下断点,发现004F54DA - 8B B4 90 74010000 - mov esi,[eax+edx*4+00000174],这句是我们想要的,此时eax=30EE1C30 edx=0
九、OD附加该游戏,前提CE先解除附加,CE重新打开游戏进程一次,即可解除附加
十、附加成功,ctrl+G,跳转到004F54DA
十一、查看eax来源,发现eax来自[ecx]
十二、在函数头部下断,查看堆栈窗口,返回到,按回车
十三、ecx来自[esi+D0],所以目前的表达式为[[esi+d0]+174],再找esi的来源
十四、esi来自eax,eax一般都是call的返回值,所以最终表达式为[[eax+d0]+174]
十五、验证公式是否正确,在006101E5处,下断,在命令行输入上面的表达式,获取的正好是护甲值