引用网址:
1、0xdd 命令 Client -> Server
原包
0x02 -> head
0x1e 0x49 -> version
0x00 0xdd -> command
0x59 0x2a -> sequence
0x00 0x82 0x51 0x0a -> qq number
0x02 0x00 0x00 0x00 0x01 0x01 0x01 0x00 0x00 0x64 0x37 -> 11 byte unkown
0xa7 0x80 0xf7 0x7c 0x5f 0xd1 0xda 0x8f
0x37 0x59 0x4e 0x4e 0xe6 0xc7 0xd7 0x80 -> 明文密钥1
密文<中间为用密钥1加密的数据>
0x03 -> tail
用密钥1解密上面的密文可得
0x00 0xde
0x00 0x01 0x00 0x00 0x08 0x04
0x01 0xe0 0x00 0x00 0x03 0x30 0x00 0x00
0x00 0x01 0x00 0x00 0x0c 0x01
0x00 0x38 ->以下有56个字节
0x54 0xda 0x8a 0x97 0x3f 0x6e 0xe1 0x99
0xf6 0x6e 0xe3 0x94 0xe4 0xfe 0xe7 0xb0
0x6c 0xfd 0x0c 0x12 0x5d 0x4e 0x4d 0x77
0xd8 0xa1 0xd6 0xd3 0xed 0xf6 0x8e 0xe3
0x2f 0x4e 0xb3 0xa1 0x9d 0x64 0xea 0x04
0x3c 0xda 0x74 0xc6 0xa7 0x11 0xd8 0x49
0x12 0xdd 0x1b 0xcf 0x90 0x43 0x40 0xe3
0x00 0x78 -> 以下有120字节
120字节密文<用QQ密钥的2次MD5加密>
其它数据略
用密钥的二次MD5做密钥解开120字节后得到数据 104个字节
0x0f 0x75 0x4f 0x8e -> unknow
0x00 0x01 ->固定
0x00 0x82 0x51 0x0a ->qq number
0x00 0x00 0x03 0x30 0x00 0x00
0x00 0x01 0x00 0x00 0x0c 0x01 0x00 0x00
0x00
<以下是密钥的一次MD5>
0x86 0x4e 0x7e 0xc8 0x8d 0xc9 0xab 0xa4
0xa5 0xfd 0xb7 0xb0 0xde 0xaa 0xc9 0x32
0x4c 0xed 0xff 0xbd -> time
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
0xde 0x80 0x06 0x83 -> client ip
0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00
0x00 0x10 -> 以下的16字节长度
0xf1 0xf9 0x2b 0xaa 0xbc 0xde 0xab 0x4a
0x85 0xd5 0xb4 0x27 0x2b 0x65 0x81 0xbe
<以下是密钥2>
0x9f 0x70 0x9e 0x26 0x84 0xf7 0xab 0x55
0x35 0x72 0xd4 0x54 0x0f 0x9a 0x79 0x4e
取得密钥2是关键,因为以后的传输将不再用明文的密钥加密,
如果没有密钥2,将无法解开服务器返回的0xdd命令的数据包。
也就无法取得最终的session key.
阅读(852) | 评论(0) | 转发(0) |