天龙sf代码(C++天龙八部xdbg逆向分析人物数据基址)
数据分析突破口
首先,通过血量查找数据地址。由于人物数据一般都在结构体里面,找到血量基址后进行偏移查找,就大概率可以找到人物其他属性。
CE查找血量
通过改变装备,更改最大血量,定位到血量地址。
然而,这个地址并不是最终的血量地址,每次重启游戏都会发生变化。因此还有必要进一步查找基址。
xdbg附加游戏
在内存页查找血量地址:
下一个硬件字节访问断点,只要打开人物属性面板就会断下。
从血量01追溯到血量03,当前血量地址为:[ecx+0x10]+0x28A8
继续向上追溯,是int3断点,所有要Ctrl+F9跳到当前函数ret,再F8跳出当前函数追溯ecx。
当前血量地址为:[[edi+0x10]+0x28A8
继续向上追溯edi。
血量基址:
常量可以表示为模块基址+偏移的形式:
分析人物其他数据
有了血量基址,我们拿到倒数第二层偏移:
双击地址,用偏移形式显示,并找到向下偏移0x28A8:
继续向下查找可以获得如下基址:
C++动态库引入静态库
为了编程方便,之前使用动态库封装了常用的Windows API,但是发布出去的代码还要附带dll,而且本身就是动态库不能再引入动态库,所以,将常用功能直接封装成静态库,使得注入的dll引入静态库。
本文由某某资讯网发布,不代表某某资讯网立场,转载联系作者并注明出处:http://kdqu.cn/index.php/tuiguang/808.html