《天涯明月刀》的明文包内容大多比较简单,不过也有个别封包的结构较大,分析起来较为复杂,以拍卖行的搜索函数为例。
首先通过send返回到明文包的位置(如图)
这个封包的大小为0x56,随意搜索一个物品的名字使游戏断下(如图)
在这里可以很轻易的的出如下信息
+0 00
+1 UTF-8名字
+4E NPC ID1
+52 NPC ID2
而其他信息应该都是搜索的选项之类的,接下来我们通过词缀进行搜索,再次使游戏断下(如图)
这个封包出现了很多不同的地方,接下来我们进行多次下断,并进行对比,可以得出如下信息
+0-1F 00
+20 00 FF 8F FF FF 00 00 FF 1F 01 00 00 00 78 00 00 00 03 00 00 00 80
+36 搜所附加属性数量 (有一条填01,两条填02,以此类推)
+37+m*4 附加属性ID(m最大值为附加属性数量-1)
+49 0A
+4E NPC FLAG1
+52 NPC FLAG2
这里+20处的字节集是拍卖行的种类,等级等信息,这些可以使用固定的数值。这样我们就得到了拍卖行搜索封包的全部内容,接下来只需要对附加属性库进行分析就可以任意搜索了。当然,普通的玩家只能针对装备上的附加属性进行搜索,而通过发包可以对任务附加属性进行搜索,这也算是一个很实用的BUG了。