在对一款游戏的数据分析中,明文封包的重要地位是无可取代的,准确的发送封包可以让我们在实现功能时避免很多风险与麻烦。比如,我们可以节省大量的功能函数的参数分析与特征定位,也可以跳过大量中间函数的判断,直接实现功能,甚至可以实现很多普通玩家无法做到的特殊功能。
NesCafe.Theme 2.0 [Themes]
然而,这一切都是建立在“准备”这两个字上面的,如果胡乱的使用封包,或者某些结构数据没有分析完全,很有可能会让事情变糟,掉线,崩溃,甚至封号等等。
准确的分析封包,不只限于对单个封包的结构进行分析,因为很多功能并不单一封包可以实现的,如果不能将所有相关的封包一一发送,也许无法实现某些功能,甚至可能会在“漏发”之后出现一些未知的错误。下面我们对一款本地架设的游戏封包进行分析。
我们先调到明文封包的位置,分析一个最简单的打开NPC。
图中是最外层明文包头部地址,之前的线程发包分析过程我们就不做讲解了。
我们在这个头部下断,并打开NPC,游戏会断下
![2aa5ede135b45db93065cb9fd0107a06.png](https://img-blog.csdnimg.cn/img_convert/2aa5ede135b45db93065cb9fd0107a06.png)
返回后重新下断,对结构体进行分析
这款游戏有一个特点,就是我们需要通过游戏自带的函数申请内存,才可以对明文CALL进行调用,否则游戏就会崩溃,