目录

【幻想神域】人物属性分析

目录

首先对角色名字进行搜索,得到3个结果,分别改变3个结果后,切换角色栏,发现角色名字变为了第三个地址的名字**(如图)**

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/162217ig1p1u1zxjqgpch3.png

通过OD对这个地址下访问断点,游戏断下**(如图)**

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/162223t7ysfm0ucsutcfym-20211013102442969.png

通过堆栈得处0x0A15D6E处函数的第二个参数是我们要的地址,跳到返回处向上分析,得到两个+4偏移**(如图)**

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/162230d550bv2bxggbs0yb-20211013102525507.png

继续向上分析,得到1CC偏移和一个数组**(如图)**

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/162235nxwfmo896ygffg0r.png

在这里下断,发现ebx不变,不过切换不同的角色栏,edx会发生变化,也就是说edx决定数组是一般角色栏还是商城角色栏。

而对上面的算法进行分析,可以得到结构体数组的结构大小为0x80,继续向上分析ebx的来源,得到+0、+4和+10偏移**(如图)**

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/162241qzerun5mnyq5o77e-20211013102519879.png

不过在这里下断,发现ecx的值和我们之前得到ecx是不同的,也就是说在函数call eax中可能还有其他偏移被我们漏掉了。在eax处下断,进入内部分析,得到+8偏移**(如图)**

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/162247nwq1hm4k0ww4wqmk.png

继续分析0xD3DB04处的esi,发现esi来源本层函数中的二叉树,而二叉树

中只有一个节点**(如图)**

https://cdn.jsdelivr.net/gh/xinqinew/pic@main/img/162253gsb9dilj9t2d2a5p.png

继续分析,我们又可以得到很多个二叉树的嵌套,并最终跳到了控件相关的遍历循环中。也就是说我们要分析的角色列表是挂在控件下的,所以只要得到了控件遍历就可以通过上面得到的公式对角色列表进行遍历了。