博路发

标题: sf传奇封包详细分析 [打印本页]

作者: lajiqaz    时间: 2016-3-14 20:14
标题: sf传奇封包详细分析
本帖最后由 大禅 于 2016-3-14 21:16 编辑

一 封包加密方法
传奇的封包加密方法都是用的6BIT编码。每个封包以#开头,紧接着是一个数字(从1-9递增,到了9再返回1),作为封包验证,目的是想杜绝恶意封包。最后是以!结尾。
在那个数字和!之间就是封包内容。在客户端截获的SEND封包中,那段内容是经过了前面所说的6BIT编码的。这个编码过程是这样的:未加密代码以每3个字节为一段,一共就是24位。然后每6BIT(位)一段分开,在前面加2bit(00),然后每个字节再加3C,这样3个字节的封包数据就扩展成了4个字节的封包数据,也就达到了加密的目的。知道了加密的方法,其实解密的方法也就很简单了,大家自己写程序吧。我写了一个,如果大家需要回帖多我就发上来。
二 封包结构
在讨论封包结构的时候我们以未加密的封包内容为目标,并且除开#,数字,和最后的那个!
传奇的封包格式是这样的:
DWORD DW; //(4字节)
WORD W1; //(2字节)
WORD W2; //(2字节)
WORD W3; //(2字节)
WORD W4; //(2字节)
--------------------------------
//以上是必须有的,属于命令编码
CHAR *charbuffer;//长度不定
//这个不一定有
--------------------------------
前面那12个字节是必须有的,表示命令的编码;后面的那个字符串不一定每个封包都有,要看具体的命令。比如如果前面的命令是SAY,那么后面的字符串内容就是你说的话。
前面12字节的内容视具体指令的不同而不同,但是W1这个字节一般都是命令编码。比如建东西的指令在传奇中预定义是1000,换算成16进制就是3E8,那么在他的封包的W1处就是0X(表示16进制)3E8.
而其他各个成员变量所代表的东西是时常变化的,没有固定的格式。在这里智能给大家几个比较常用的范例。DW处或者W2,W3处很多时候用作代表动作执行时的X坐标和Y坐标;W3处很多时候用作代表动作进行的方向。根据我个人的经验,如果该动作和方向有关,那么DW处应该就是代表X和Y坐标,而W3处就时代表方向;如果动作和方向无关,那么DW处不确定,W2,W3处代表坐标。
在传奇中,方向的代码如下规定:
7 0 1
6 +2
5 4 3
其中+代表任务所在位置,他周围的8个方向代码就是像上面那样规定的。
三 封包解析方法
既然传奇有那么多的动作,而我们又不知道他们的命令的具体格式,那么我们就只有脚踏实地的分析了。
首先,我们要自己写一个封包解析的工具,作用是用来把我们在客户端截获的SEND封包内容解析成未加密形式。
接着我们就要在游戏中不断重复我们要分析的动作,并同时用WPE等工具截获SEND封包。
然后退出来处理SEND封包,先把数据还原成未加密形式,再开始分析。
比如,我在游戏中不断重复说话这个动作,在不加任何参数的时候,截获的封包为:>>>>>ITG>>>>>>>>...........(后面说话的内容省略)
经过分析,数据还原后为(这里不用字符表示了,用16进制码表示)
00 00 00 00 (2字节“说话”动作代码)00 00 00 00 00 00.......(省略号表示还原出来的说话内容)
所以我们可以分析出来,说话这个动作的动作详细代码为:
DW=00 00 00 00;
W1=2字节“说话”动作代码;
W2=W3=W4=00 00;
*Charbuffer=bufferof(说话内容);
作者: longbin176    时间: 2016-3-14 20:17
顶一个,谢谢
作者: zwl5229035    时间: 2016-3-18 08:57
我虽然看不懂但是顶一个
作者: xtaihbg    时间: 2016-3-18 13:36
虽然看不懂  但是要顶
作者: a274544628    时间: 2016-4-5 20:55
longbin176 发表于 2016-3-14 20:17
顶一个,谢谢

我看看了 呵呵
作者: a274544628    时间: 2016-4-5 21:00
xtaihbg 发表于 2016-3-18 13:36
虽然看不懂  但是要顶

豆腐干风格豆腐干地方
作者: a274544628    时间: 2016-4-5 21:01
a274544628 发表于 2016-4-5 20:55
我看看了 呵呵

相反词vbcvb
作者: a274544628    时间: 2016-4-5 21:02
a274544628 发表于 2016-4-5 20:55
我看看了 呵呵

hbvhvbvbvb贱货贱货贱货贱货
作者: a274544628    时间: 2016-4-5 21:05
a274544628 发表于 2016-4-5 20:55
我看看了 呵呵

鬼火鬼火鬼火鬼火鬼火
作者: feng11860    时间: 2016-4-9 08:46
太深奥了,封包干嘛用的?
作者: wukesunli    时间: 2022-9-20 09:05
不要等待机会,而要创造机会。





欢迎光临 博路发 (http://www.bete68.com/) Powered by Discuz! X3.2