81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析

内容参考于:易道云信息技术研究院VIP课

上一个内容:自动化助手显示物品数据-CSDN博客

然后游戏中有弓箭,弓箭有数量,可以作为突破口,也可以使用物品id

获取弓的方式

获取弓箭的方式

然后搜索250

然后搜索出一个

然后可以正常改成999

然后接下来找出是什么改写了这个数据

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第1张图片

然后把弓箭拆下来

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第2张图片

所以一共有两个地方修改它,一个是995854,一个是5BAF36,然后简单看一下看出,0x5BAF36位置有大量数据更新

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第3张图片

0x995854位置更新单一数据

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第4张图片

这里游戏掉线了,基址会与上方不一样

然后先使用 0x5BAF36 来找,使用哪个都行

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第5张图片

然后ctrl+f9,再按f8 就来到了下图位置

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第6张图片

然后下图红框位置的代码:imul指令是乘法,imul edx,edx,1E0,翻译成C++就是 edx = edx * 0x1E0,然后这就说明edx是索引

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第7张图片

现在是通过下图红框位置的装备触发的断点,现在edx是1

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第8张图片

现在是通过下图红框位置的装备触发的断点,现在edx是4

 现在是通过下图红框位置的装备触发的断点,现在edx是5

然后下标位置

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第9张图片

然后武器是6

然后下掉弓之后,会自动把弓箭也给下掉,下标是7

然后由此可见0x1E0是物品结构大小,然后下图红框代码是 lea ebp, dword ptr ds:[edx+esi+22D0],然后edx是索引,所以esi是基址,接下来找esi的值怎样来的

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第10张图片

然后看到esi是通过上层传递过来的,mov esi,ecx,这时一个thisCall,也就是当前函数是一个类的成员函数

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第11张图片

然后记录一些esi的值,方便后续用,当前是0x1E077144

然后ctrl+f9,再按f8,来到下图位置

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第12张图片

然后这里的ecx,与我们记录的内容一样,然后它来自于edi,所以接下来找edi

然后上图中的函数很长,所以来到它的上一层,ctrl+f9,再按f8,来到下图位置

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第13张图片

这里的ecx就不一样了,所以 0x1E077144 这个值只能是0x951D10函数里来的

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第14张图片

接下来来到 0x951D10函数里 一行一行的跟,看看 0x1E077144这个值第一次出现的位置,第一次出现的位置0x951D6F,从0x772300函数里得到的

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第15张图片

0x772300函数的ecx是从0x866140函数里得到,然后0x866140函数之前已经用到了,通过调用0x866140对象(0x866140的返回值是一个对象)的0x7722C0函数获取背包,它下图中它是调用的0x772300函数,所以武器或者说装备的基址是通过0x866140返回值对象的0x772300成员函数得到,发现位置 0x951D6A

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第16张图片

然后理一下分析到的东西,首先通过0x866140返回值对象的0x772300成员函数得到背包里的装备基址,然后在0x77F387位置知道了装备栏的算法,它直接是一个自定义类型数组,大小是1E0,然后装备栏第一个物品偏移是0x22D0,然后看图1所示装备栏一共有13个格子,它不可能会变,所以13是固定的,所以数组大小是13

图1:

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析_第17张图片

你可能感兴趣的:(网游逆向,游戏)