沙井品牌网站建设,做seo网站,杂志网站模板,网站建设哪里可以学角色的当前技能列表往往都是从系统的技能库中进行筛选而组成的#xff0c;而这个筛选的过程大多非常的复杂#xff0c;经过的代码和临时结构体的传递也非常的多#xff0c;所以在分析技能对象来源的时候常常要将OD和CE配合来使用。下面我们来分析下《天堂2》的技能列表。
首…角色的当前技能列表往往都是从系统的技能库中进行筛选而组成的而这个筛选的过程大多非常的复杂经过的代码和临时结构体的传递也非常的多所以在分析技能对象来源的时候常常要将OD和CE配合来使用。下面我们来分析下《天堂2》的技能列表。
首先通过CE对技能的名字进行扫描可以得到较多的UNICODE型结果通过二分法对技能的名字进行修改发现其中的一个地址可以改变技能的本地显示(这里要注意的是只有重新开启技能栏以后显示的技能名字才是我们需要分析的)如图 在OD中对这个地址下访问断点再次开启技能栏游戏断下如图 执行到返回后继续分析第一个参数的来源发现来源于0AF8C8C2处函数的返回值如图 经过对函数内部的分析只得到了一个0的偏移我们需要继续向上分析ecx的来源。然而当我们向上分析了一段时间后发现这里的来源始终是在一些临时地址中互相传递为了节省时间我们直接通过CE对ecx进行扫描并得到了较少的结果如图 在第一个结果上下访问断点打开技能栏游戏断下如图 执行到返回继续分析eax的来源得到来源于0AEFC541处函数的返回值如图 在函数内部可以得到一个结构体数组而数组的大小为0x10如图 返回后分析esi的来源得到80偏移继续向上分析可以在执行到返回后得到10偏移如图 再次返回并分析第一个参数可以在函数call 0A671770中得到基地址如图 接下来整理技能公式如下
[[0B7B6E74]1080]n*10 技能ID
[[[[0B7B6E74]1080]n*10C]0] 技能名字