OD查找偏移表达式

1、在CE中先找到血地址2DF94C28

 2、在od数据段dd 血地址   dd 2DF94C28查找到数据

 3、在血地址位置右键-断点-硬件访问-DWORD,再操作游戏会再改变这个地址代码段下断点,查找到

 4、验证查找的是否正确,在8199FA处下断点,dd edi+288处,查看是否是血地址

 5、查找偏移表达式

fild dword ptr [edi+288]

往上查找edi  

mov edi, [eax+28]  

此时偏移表达式位

[[eax+28]  +288]

在往上查找

mov eax, [eax+1c]

[[[eax+1c]+28]  +288]

继续,查找到基址

mov eax, [D0DF1C]

最终偏移表达式是

[[[[D0DF1C]+1c]+28]  +288]

 6、验证偏移表达式是否正确, 检查是否是CE查找到的血地址

dd [[[D0DF1C]+1c]+28]  +288

注: 关于为什么不是dd [[[[D0DF1C]+1c]+28]  +288],我的理解,查看汇编代码是把[edi+288]的值压入浮点栈,其实[edi+288]就是301,dd 301肯定不对,所以需要dd存入301的地址,也就是[[[D0DF1C]+1c]+28]  +288

猜你喜欢

转载自blog.csdn.net/qq_28710983/article/details/131604684