1、因为数量代码比较直观,所以分析也相对容易。可以从购买道具入手,比如购买一个道具,会出现数量代码01(当然我说的都是封包没有加密的情况)。
2、然后游戏中的数量代码一般都是4个字节,所以是00 00 00 01(顺序)或者01 00 00 00(逆序)。但是像这种情况是看不出顺序逆序的,因为两种排序的情况在封包中都能看得见,所以需要一些能涉及到更大额数值的封包。
3、封包中的字节是十六进制的,每个字节的最大值是FF也就是255,所以只要超过这个数,在4字节的数量代码中就不会出现有3个字节是00的情况,有助于分析。
4、首先打开Windows系统自带的计算器,选择“查看”-“程序员”,这样就可以用Windows自带的计算器来换算十进制与十六进制。
5、比如游戏中可以丢弃金币,假设我丢弃851722个金币,851722转换成16进制就是CFF0A,写成封包中的格式就是0C FF 0A,补齐4字节就是在前面加00,即000C FF 0A。
6、但是封包里出现的是0A FF 0C,和计算的结果刚好倒过来,所以可以判定这个游戏的封包里的数量代码都是采用倒序排列,所以补齐4个字节的时候00应该是在后面,所以图中蓝色标记的4字节才是数量代码。
7、只要算到一个数量代码是倒序的,基本可以断定这个游戏的所有数量代码都是倒序的。但是要注意倒序的仅仅是数量代码的部分,而不包括物品代码或者其它代码。