Chinaunix首页 | 论坛 | 博客
  • 博客访问: 779548
  • 博文数量: 265
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1985
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-13 12:33
文章分类

全部博文(265)

文章存档

2011年(1)

2010年(66)

2009年(198)

我的朋友

分类: LINUX

2009-12-24 17:35:51

Author: xisigr[xeye]
EMail: xisigr@gmail.com
Site:
Date: 2009-10-27

[ 目录 ]

0x00 前言
0x01 TEA算法简介
0x02 QQ2009如何获取Session Key及其安全性
  0x021 连接服务器操作0x91
  0x022 客户端登陆请求0xba
  0x023 发送密码验证0xdd
  0x024 获取登陆信息0xe5
  0x025 QQ命令0xa4操作
  0x026 获取Session Key 0x30
  0x027 总结
0x03 QQ2009文件传输机制及其安全性
  0x031 发送端请求传送文件
  0x032 持续发送连接信息
  0x033 发送端发送文件名
  0x034 发送端发送文件内容
  0x035 总结

0x00 前言

本文通过对网络中传输的QQ数据流进行黑盒协议分析,得出QQ文本信息和文件传输的传输机制,从而讨论传输中的安全性。鉴于是黑盒分析,如有遗漏或不当之处,务请读者批评指正。文中提及的QQ,既是QQ2009正式版SP4版本。

测试环境:Windows 7|Wireshark|QQ2009正式版SP4|QQ默认登录方式|样本数据是未删减的真实数据。

0x01 TEA算法简介

QQ聊天文本信息在网络中采用TEA算法进行加密传输。TEA加密算法是一种分组密码算法,其明文密文块64比特(8字节),密钥长度128比特(16字节)。

默认是32轮迭代,QQ使用16轮迭代。

void encrypt (uint32_t* v, uint32_t* k, uint32_t* v1) {

uint32_t v0=v[0], sum=0, i;                 /* set up */

uint32_t delta=0x9e3779b9;                  /* a key schedule constant */

uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];/* cache key */

for (i=0; i < 16; i++) {                    /* basic cycle start */

sum += delta;

v0 += ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);

v1 += ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);

}                                           /* end cycle */

v[0]=v0; v[1]=v1;

}


void decrypt (uint32_t* v, uint32_t* k, uint32_t* v1) {

uint32_t v0=v[0], sum=0xC6EF3720, i;          /* set up */

uint32_t delta=0x9e3779b9;                    /* a key schedule constant */

uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];  /* cache key */

for (i=0; i<16; i++) {                        /* basic cycle start */

v1 -= ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);

v0 -= ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);

sum -= delta;

} /* end cycle */

v[0]=v0; v[1]=v1;

}

注:本文不涉及到对TEA算法安全性讨论。

 

0x02 QQ2009如何获取Session Key及其安全性

此处所描述的Session Key,指的是在QQ登录成功后,将由服务端产生一个16字节密钥,此密钥将作为加密QQ信息的最终密钥。要还原聊天文本信息,必须使用Session Key来进行解密。相比以前版本(QQ2007,2008登陆协议集合是相同的,2009协议集合发生变化,难道QQ协议集合是两年一变?),在 QQ2009中,QQ的协议命令集发生了很大变化。其中剔除了0x22这个登录命令,加入了新的和登录信息相关的命令0xe5,0x4a,而且登录的机制和产生密钥的顺序也有所改变。在QQ2009中,从用户开始登陆,到取得 Session Key,需要执行6个QQ命令,最终在服务器发送的0x30这个命令中得到。由上面的简单分析,已经了解QQ文本的加密方式,那么Session Key又是如何产生的,是否可以在数据流中截获到Session Key呢。在下文中,将按QQ命令发送的顺序(0x91,0xba,0xdd,0xe5,0xa4,0x30)来对这些疑问进行一一解答。

0x021 连接服务器操作0x91

(1)数据流方向:客户端--->服务端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 91
序列号:7c 13
QQ号码:00 93 04 ad <9634989>
临时密钥A:c6 ec a5 ad ed 58 06 dd a4 9d 35 9a d5 14 f6 22
加密数据:ae e9 2a ed c4 2b 5c 40 78 b9 e2 c8 2c 2f b0 74 67 bd 26 da 9c 36 9b ac e6 80 57 9a 44 3c 2c 11 b5 fd b8 ad 07 02 99 46 b7 3e c5 1e b9 b8 df 58
结束包:03
+------QQ净核报文------+

+-----临时密钥A解密数据------+
00 01
00 00
08 04
01 E0
00 00 02 20 00 00 00 01 00 00
09 D3
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+-----临时密钥A解密数据------+

(2)数据流方向:服务端--->客户端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 91
序列号:7c 13
加密数据:09 05 49 69 2b a0 1f b3 9b f6 66 95 7e c6 29 b3 d0 95 d8 bd c5 82 e3 9a e4 0f 8e 8d 23 e4 24 0e 33 69 6b 32 90 f1 32 a8 52 b3 c8 14 95 d9 97 2b bd 48 71 be 18 f0 e3 c8 73 f4 d0 34 08 1c bf 4b 2b bd 40 57 d1 54 99 88 4b 1a 54 e1 40 33 ce aa 50 e7 b2 c2 c8 5c 6e da
结束包:03
+------QQ净核报文------+

+-----临时密钥A解密数据------+
00
4A DB FF 34 <服务器时间: Monday, October, 19, 2009,13:55:00>
DD DD A7 90 <客户端IP:221.221.167.144>
00 00 00 00 00 00 00 00
00 38 <数据长度>
F4 E0 BA B0 F4 47 12 0B 71 7A DC EC 26 65 B7 E2 1B C8 19 22 FD A6 EF CB 7F D8 41 FD BE 11 B8 5F A8 7E 70 4C 11 BC BD A0 CA B6 E9 62 35 E6 84 E0 7C A6 73 FE C2 52 72 2E 00
+-----临时密钥A解密数据------+

0x022 客户端登陆请求0xba

(1)数据流方向:客户端--->服务端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 ba
序列号:6f b6
QQ号码:00 93 04 ad <9634989>
临时密钥B:0e 28 6f c6 68 02 67 89 5f 9d 54 d0 a6 b2 93 ce
加密数据:59 1f 2c 32 66 60 47 45 ee 4d e8 4e c0 58 03 7c 0b 33 6c 57 ec 9f a0 ae 5a da 2d ec d8 9a 15 a3 2a 27 97 b5 50 fa 12 89 53 bf cc c4 11 18 7e c4 bf 64 05 3a 72 2c 8e 9d d4 03 49 60 b8 1e 27 dc 12 a9 4b 4b 56 7d c5 78 ba 7e cb 48 a9 7f 85 b1 2e 6e 48 5a 8f 7d bc 6c 03 83 55 75 77 23 24 dc 99 69 36 d5 17 bf df 0f
结束包:03
+------QQ净核报文------+

+-----临时密钥B解密数据------+
00 01
00 00 08 04 01 E0
00 00 02 20 00 00 00 01 00 00
09 D3
00 38
F4 E0 BA B0 F4 47 12 0B 71 7A DC EC 26 65 B7 E2 1B C8 19 22 FD A6 EF CB 7F D8 41 FD BE 11 B8 5F A8 7E 70 4C 11 BC BD A0 CA B6 E9 62 35 E6 84 E0 7C A6 73 FE C2 52 72 2E
03 00 05 00 00 00 00 00 00 00
+-----临时密钥B解密数据------+

(2)数据流方向:服务端-->客户端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 ba
序列号:6f b6
加密数据:ba 0f 25 0b ba 90 39 20 5a d3 7f ff ea c1 4f 86 86 a5 c8 e3 e3 93 42 1d bb 2d 6c 23 2f ab fb 6e eb af 1b 0c c5 30 03 46 1a 20 8a 1e de e1 81 1f 61 15 a7 6a e7 e9 6e 30 ef ae 38 89 70 e0 70 4e 1e 2d 09 7d 36 08 ec f1 42 5c a0 f2 66 30 ef 64
结束包:03
+------QQ净核报文------+

+-----临时密钥B解密数据------+
03 00 05 00 00 00 00 00
00 38
7F F3 C6 DE 37 9E 03 AE 7A 08 47 B6 FD 33 49 42 2A A3 2F 25 FD 50 F7 B4 0D 29 71 55 CD 3B 21 45 F6 56 DA E4 5E AA 6B 9D 5D 0A 04 F1 33 0C 09 1D 5C FD D5 34 88 95 20 BD
+-----临时密钥B解密数据------+

0x023 发送密码验证0xdd

(1)数据流方向:客户端--->服务端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 dd
序列号:15 9b
QQ号码:00 93 04 ad <9634989>
随即密钥C:fb 68 c2 05 b9 d2 d7 09 1f 8b 30 b0 57 9f fa 80
加密数据:48 9e c4 bc ab 0d 6c 4f 97 9c 7f 75 80 6d 4d ac 92 09 9d 62 63 1e 8c 47 7e 09 f8 5a b4 93 3b 72 eb 4d e6 97 e0 20 55 da c2 7f 47 42 8c 4e 4a 73 18 3d df 38 95 2d dd 54 01 08 46 64 87 b7 6f cc 8c 5d e3 95 67 26 9a 2f b7 d7 9c af 5c d6 e6 9e be ac 54 a1 b2 7a 22 87 ae eb 2b ef 65 7a 9f 0b 69 e1 94 26 50 7f a8 0a 7d 7d d0 7e 03 0b 42 0e be 7d 5a 66 0c 12 c5 b4 a5 3a c6 aa b4 e1 98 eb 17 27 dc cd 45 b2 82 c8 dd 06 b2 9b 89 9d 59 7e 70 a4 10 b9 51 3e e6 0e 17 9e 39 4b 01 43 53 ff e5 ee 72 70 33 9f ed 28 bc cf 0d fe 83 d3 3c 2c 57 5d 10 69 94 5a 50 43 ad ce 2b 58 ce 9c 3e 8f 37 f8 43 1a dd 4c ae cd 16 f5 6e dc aa 78 a3 60 26 70 57 8a 50 60 59 02 44 dc 0d 9c b6 bb c4 12 c4 b5 b6 ae 34 b1 9e a1 da fa f2 bd b5 a7 b0 5a e1 78 b3 c3 0c c2 0a d3 c4 93 d6 17 a5 09 c7 14 a9 9b ba 2b fa 83 51 54 75 4f 02 83 d7 de 62 e4 40 3d 45 07 e9 5f 22 ff b3 d6 fe b0 98 79 77 39 b0 a1 d3 31 45 3d 1d 92 5b f9 58 31 eb 44 81 17 95 7d 07 0b ab 02 fb 19 12 f3 92 dd a0 2c 77 d5 c4 67 66 6f ae 4c 98 b5 9f 36 44 56 6a 03 85 53 30 c5 39 f688 ca 6e 95 0a 21 27 a7 3c 13 ae 86 bb 56 9a af f9 71 2f 61 36 d0 82 1e e0 3a a8 59 72 17 a2 c4 b1 32 45 5d 7d 68 fc fe 26 68 a3 55 a0 86 51 fc 99 5b 4c 23 26 21 e3 78 a4 01 4a 3c 68 94 dc ca 96 df 50 15 23 0f 82 23 d6 e2 c0 5d 7f 75 eb de 7e 1d dd e2 b9 52 47 4e d1 8f 55 30 e1 d7 44 89 8f 85 bc 99 59 fa d7 1b a9 d2 f5 14 f3 b8 be b9 d0 a1 09 19 60 9a 10 db 36 63 74 d3 c6 30 a8 b5 80 9c 36 61 69 6b 17 7c a0 e5 99 7a fd f3 34 94 25 26 a1 68 96 e3 ba d9 38 c8 79 68 fd 13 68 7a d0 af fd 21 e4 90 cb 2f eb 7d 7c ba 00 7a 44 b0 ac 6b e0 2e e1 d2 f0 df 86 2e 4f fe a8 10 ae cb a8 32 e3 6a b2 f0 23 53 02 de 6f 8c 81 cb a1 14 43 54 01 cd ef c8 14 d2 94 08 94 37 ad 4c 03 24 52 9f 87 00 5b 9b 93 8b e4 cc be ab 5b dd 14 ad 76 e6 a6 1f 37 be ff a3 b3 1a 29 33 fb 07 dc 6e 7d 5b 96 eb 36 e3 4f e6 36 06 c6 95 7c e6 bd 94 6b c6 45 20
结束包:03
+------QQ净核报文------+

+-----临时密钥C解密数据------+
00 DE
00 01 00 00 08 04 01 E0
00 00 02 20 00 00 00 01 00 00 09 D3
00 38
7F F3 C6 DE 37 9E 03 AE 7A 08 47 B6 FD 33 49 42 2A A3 2F 25 FD 50 F7 B4 0D 29 71 55 CD 3B 21 45 F6 56 DA E4 5E AA 6B 9D 5D 0A 04 F1 33 0C 09 1D 5C FD D5 34 88 95 20 BD
00 78 <120字节的加密数据>
3D 5A 46 62 19 5B 0E E5 43 D8 71 37 C7 5F D6 D8 01 9C 63 AF DF 4A 8A 77 A6 F3 69 4E 85 57 89 87 F7 BF F2 1C 61 BF 9A F6 AF 23 D5 2C 43 E1 B9 48 58 9A C4 D2 CA 84 45 D2 CF E1 2F EE 94 D6 3D 81 B8 5B A9 BE E3 BD 58 70 D8 96 45 61 E5 F4 4D E3 D9 5D 5A B0 BF CD 7F FD 8A 85 08 60 4F 65 66 7B C0 59 C6 C9 60 5D BE D6 84 F0 C4 96 52 F9 2B E9 F2 8A 09 78 86 06 49 1D
<<用QQ密码两次MD5值解密后数据 104个字节
A6 90 96 66
00 01
00 93 04 AD
00 00 02 20 00 00 00 01 00 00 09 D3
00 00 00
03 C9 56 EF 0D 33 FD 2C 40 21 4C E5 10 3D 41 83
4A DB FF 34 <服务器时间: Monday, October, 19, 2009,13:55:00>
00 00 00 00 00 00 00 00 00 00 00 00 00
DD DD A7 90 <客户端IP:221.221.167.144>
00 00 00 00
00 00 00 00
00 10
25 1B 67 DD B7 A6 6C 4C 98 A1 93 B9 FB 89 81 D0
C3 F2 80 BB C9 12 CE 01 A5 B2 8F 1A 80 EC C4 17 <临时密钥D>
>>
00 14 AB 94 9A 29 DA 39 DF D3 C4 1A A8 15 1A E3 75 D3 31 63 85 A1 01 77 2E 01 39 EF 1E 34 00 10 1D 51 7B 87 21 F4 21 41 E6 8E 2E 6A D9 F2 C0 12 02 CF E6 33 CA 00 10 52 0A 91 B9 E8 03 2C A9 B9 30 EA 04 60 AD DD 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<很多的0,冗余数据>
+-----临时密钥C解密数据------+

(2)数据流方向:服务端-->客户端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 dd
序列号:15 9b
加密数据:
10 ac 92 12 e6 0a e1 6a 4c b9 fa b5 18 db 66 ac d6 ed 13 7b ca 48 26 e6 fe a5 28 c5 a8 fb 6d 08 d4 82 c7 c1 89 2f f1 0a 73 72 4c 71 d7 ad de 9d f0 c6 bb 77 dd d6 74 ed 79 eb 36 d0 0d e3 73 84 5f d9 33 f5 c6 77 e5 b7 d4 19 cf 07 60 67 ff 99 aa 60 7f 0c 73 f2 36 92 fe f3 70 a0 c0 99 85 ac ff dc 57 92 27 19 d0 a6 05 36 7f ae 63 f0 08 85 4f 05 89 96 42 38 6d 26 01 a6 5a a7 97 7c 22 29 bd 12 c1 be cd c5 74 68 d2 e0 13 0a 3d 46 aa 28 c3 80 80 20 69 26 21 6a ef 9d 17 19 63 ec a2 58 d0 32 26 fd 51 17 d8 dd 1b 13 69 af 2b 3f a0 9f 0b ed d0 0f 87 21 18 95 46 73 6a 88 c2 1e e4 f4 28 a0 50 a3 c6 58 b4 4a c9 d6 02 0e e7 cf 29 87 cb 02 f8 10 5b e8 ba e1 f7 ca ee 23 17 e3 1f 6f e4 2e a4 90 93 eb b1 8b 4d 67 97 39 75 fb 43 f3 c1 c2 a5 b2 f0 f2 fe eb 7d 77 39 92 91 e6 d2 a7 eb e2 a9 fa 10 3e bb e1 4f 5e 24 bd a6 aa 09 99 a4 b5 57 b4 f3 d5 79 d8 84 2c 66 fe 81 3a 04 27 ed 5d 26 fb 43 b4 d6 82
结束包:03
+------QQ净核报文------+

+-----临时密钥D解密数据------+
01 19 00 00
20
13 7E E3 95 89 3A F6 36 67 E4 C1 4A 5F 4D D9 7F D3 CC C9 60 4D AB D3 74 FA 51 F2 8C 04 73 03 B3
00 98 00 02
4A DB FF 34 <服务器时间: Monday, October, 19, 2009,13:55:00>
00 90 <数据长度>
C6 23 F8 C4 13 5D AA EC E5 EF DB 82 CC BD 0B D6 23 01 C6 9A D5 D6 B5 34 DD 07 71 3E C9 2A 3E C1 96 79 02 32 32 6B A1 6B DB 61 62 D4 5E 46 8A EE 97 B8 A3 F0 E8 0A E8 40 5F 3B 18 F8 0B 96 DF C5 C1 82 DA 50 8F 7C EC 0B 3A 16 7D CE B0 66 2E C0 83 58 21 F2 52 0E B1 79 D3 0C E5 3C 93 29 AA 96 26 FB 71 5E 0F 8F 05 EE 5B B0 B9 A0 56 7C AF 54 E1 06 EE D1 D8 DF A9 FA F7 7C D3 02 ED 28 E6 7E FF 9A 82 01 29 71 F5 1B 5C D6 6B 4C 03 81 20 51
00 38 <数据长度>
B1 17 7E EB BD 20 1C 9F C1 06 86 F4 A5 7C F0 34 C7 76 45 CE 4E E3 EA 58 97 54 C7 20 02 20 B6 EA C2 3A ED 83 05 62 CC 91 FF 96 F7 45 C4 64 DD 7C A0 A9 E6 9D 6E E8 BF 8C
4D 58 68 51 45 61 66 4B 75 74 78 35 37 46 50 4E <临时密钥E>
00 00
59 79 41 78 63 38 79 47 6A 51 58 54 70 37 47 51 <临时密钥F>
00 00
+-----临时密钥D解密数据------+

0x024 获取登陆信息0xe5

登陆成功获取信息 0xe5

(1)数据流方向:客户端--->服务端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 e5
序列号:79 f8
QQ号码:00 93 04 ad <9634989>
加密数据:
00 38
b1 17 7e eb bd 20 1c 9f c1 06 86 f4 a5 7c f0 34 c7 76 45 ce 4e e3 ea 58 97 54 c7 20 02 20 b6 ea c2 3a ed 83 05 62 cc 91 ff 96 f7 45 c4 64 dd 7c a0 a9 e6 9d 6e e8 bf 8c
1c 9c be 34 66 d6 78 3d 11 91 55 e1 51 b9 d8 06 36 7b 13 8e 8e 0c 34 fe 23 d0 ab 43 be 58 7c 57 59 83 07 99 09 e9 63 d8 8d d0 83 49 e1 ad 93 ef 1b 2e 19 30 91 2d 42 88 1a 29 92 5f b9 63 59 b5 24 8d 5a fe 34 dc 4c 50 01 36 36 b3 18 be 8c 3e 08 30 d0 36 71 52 1a 59 fb df b4 20 30 6b 7a 31 0d 97 b3 38 89 cb a8 50 0a 83 54 93 29 b4 cc 20 bc 20 c6 21 e4 1f 48 e4 a2 14 9d 36 8f 23 e1 a2 da cf 72 7a 84 6f 12 15 38 b2 f6 15 79 99 f5 bb 48 b4 1f a4 a1 ed 57 4a 00 5d 0f 49 53 e3 35 af 03 4c 24 f5 af 6d 77 18 4c 35 f1 d1 46 0b 25 d9 f6 f0 c9 8b 99 ef 70 d3 86 dd b9 af 57 84 ec fd 2e f8 da 0d 02 e3 27 44 3f a8 0d 09 de 7a 91 90 78 e4 ac ef bf 6d 6c 02 a3 85 b7 cd 89 25 a0 50 09 d2 10 30 bf de d6 8b a2 cd b0 a1 71 c2 77 8f cb a4 f2 a4 c6 42 e3 32 f6 dc 19 e3 84 f9 c2 1d 98 41 95 b8 9b fc 9c 50 30 e9 2a 11 e2 d2 dc 30 af 11 1d 2a 08 d4 d2 f3 da 5c f2 85 0a 98 db a0
+------QQ净核报文------+

+-----临时密钥E解密数据------+
01 0D 00 01 01 00 00 08 04 01 E0 00 00 02 20 00 00 00 01 00 00 09 D3
00 38
7F F3 C6 DE 37 9E 03 AE 7A 08 47 B6 FD 33 49 42 2A A3 2F 25 FD 50 F7 B4 0D 29 71 55 CD 3B 21 45 F6 56 DA E4 5E AA 6B 9D 5D 0A 04 F1 33 0C 09 1D 5C FD D5 34 88 95 20 BD
00 20
13 7E E3 95 89 3A F6 36 67 E4 C1 4A 5F 4D D9 7F D3 CC C9 60
4D AB D3 74 FA 51 F2 8C 04 73 03 B3 00 98 00 02
4A DB FF 34 <服务器时间: Monday, October, 19, 2009,13:55:00>
00 90 C6 23 F8 C4 13 5D AA EC E5 EF DB 82 CC BD 0B D6 23 01 C6 9A D5 D6 B5 34 DD 07 71 3E C9 2A 3E C1 96 79 02 32 32 6B A1 6B DB 61 62 D4 5E 46 8A EE 97 B8 A3 F0 E8 0A E8 40 5F 3B 18 F8 0B 96 DF C5 C1 82 DA 50 8F 7C EC 0B 3A 16 7D CE B0 66 2E C0 83 58 21 F2 52 0E B1 79 D3 0C E5 3C 93 29 AA 96 26 FB 71 5E 0F 8F 05 EE 5B B0 B9 A0 56 7C AF 54 E1 06 EE D1 D8 DF A9 FA F7 7C D3 02 ED 28 E6 7E FF 9A 82 01 29 71 F5 1B 5C D6 6B 4C 03 81 20 51 00 00 00 00 00 00
+-----临时密钥E解密数据------+

(2)数据流方向:服务端-->客户端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 e5
序列号:79 f8
加密数据:
3f ec a5 e0 4d dc 16 e6 57 21 ad 57 81 ce cd 5e 6e 6d 15 ed 43 6b d0 fe 2e b3 db 33 bd 75 84 0d 25 d3 01 83 16 58 45 45 35 89 e9 a0 d5 b6 c6 45 23 56 f7 a5 44 51 97 b4 e3 85 bf a7 04 2a de 48 60 cc 01 d4 f4 bf dc d6 50 af 07 2c cb e4 f0 5f 65 ac 99 ba 01 fd f7 48 2b 12 7a e5 41 f0 b3 b9 08 37 10 e9 ea db bf 23 59 88 4b a5 f1 a8 53 85 c3 19 de f1 3d 0e 37 7f ac ba 6f 3b d0 e5 a7 93 93 83 2c b5 63 b6 d8 91 3e 07 9b 54 1c 34 27 73 b1 bc 4f 1d bc 7c 68 dd 1b b4 4f ed de ce e0 59 83 9b d0 e1 0a 3d dc 89 a8 3e db 2a 21 72 48 b7 54 44 07 e7 15 f8 b3 96 e5 5a 2e e6 4c 0f a4 6c 13 ea 3e 0a 5e 48 69 e3 88 25 51 2c 32 58 48 11 ce 56 2e 56 76 51 06 70 77 3d e2 1f 02 54 57 87 2c f0 c3 e1 b8 cf db c4 84 8c 9f 95 24 12 47 12 66 34 8d f5 84 77 32 f2 de 38 ea 15 bc 14 c4 73 36 51 84 86 11 2d 41 f6 c3 83 40 ae 61 f5 d7 c0 f7 63 32 88 6f 93 97 f1 3e 68 01 17 c1 c9 7f 73 72 f0 ac 87 98 0d 69 3c f7 25 e5 69 a5 fc 60 f9 a5 dc 55 d5 fb d7 17 9a 4a 3a 2b 20 d4 95 cc 12 6d 54 60 53 3e 50 2b 3c b9 06 84 dd 17 2f 4d 16 24 2e 4d 79 33 56 43 7f 58 3d 27 b4 4a bb 28 de 36 25 15 fd 74 0e 6b 8d ea 6c be ac 8b a1 cc 1c 62 ad fa cc 9c 0b 1a 47
+------QQ净核报文------+

+-----临时密钥F解密数据------+
01 68
01 00
38 7A 55 65 70 37 51 69 39 70 67 47 64 70 6E 49 <临时密钥J>
00 00 00 01 00 00 00 64 00 C8 00 02
4A DB FF 34 <服务器时间: Monday, October, 19, 2009,13:55:00>
DD DD A7 90 <客户端IP:221.221.167.144>
00 00 00 00
00 B8 <长度184>
7E 04 B8 58 0B 3F 50 ED 9B 1A CB 6F B9 B2 D9 89 31 59 23 08 7A AE F7 29 BE 82 FA 36 0E AF F0 45 2C A6 C6 F5 43 90 00 64 B0 C0 C5 D2 6A 65 A1 D6 03 8B 6E 28 39 71 84 67 00 6E DD 77 81 88 FD 0A 9B 14 23 55 63 12 9A 28 79 13 54 6A 59 DD 8E 3F F2 53 11 07 02 8E 69 2E 41 9E 04 68 26 83 E4 1D 02 86 11 60 0C D3 FD 28 54 0D 14 18 B3 1D A7 E0 25 2A D8 F7 71 C9 39 C3 38 20 E7 8C 27 23 25 9C 72 04 3E D5 8E D8 D7 87 79 62 0F 7C 15 09 4A 3D FF B0 AE 2A FD 65 69 13 6B 32 48 93 BC 68 21 19 AB C4 61 70 3F D1 95 A4 1F 60 97 CD CE 74 B1 39 BB 3B 66 1D D6 CE FD CC
00 0D 02 40 05 48 65 41 52 74 01 03 88 00 00 00 73 01 70 43 36 55 6A 46 4E 32 36 67 7A 76 32 57 61 79 00 60 00 01
4A DB FF 34 <服务器时间: Monday, October, 19, 2009,13:55:00>
00 58 E9 82 B5 C5 E4 DF 8E 3A 71 0C 96 6C 5D 2F 88 21 80 3E 47 5E 08 7A 45 47 D1 EC BB 30 F3 90 88 44 F4 6A 6C 31 16 AF 71 E0 2E 24 B4 58 6B FB C2 89 76 E2 87 67 98 D2 0B 7B 7B FC 00 7B 9A C8 85 73 32 59 31 56 65 33 14 87 B4 4E D2 47 06 30 EB 62 9E 97 CD 19 E6 45 8B 92 00 00
+-----临时密钥F解密数据------+

0x025 QQ命令0xa4操作

(1)数据流方向:客户端--->服务端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 a4
序列号:5b b1
QQ号码:00 93 04 ad <9634989>
加密数据:
00 38
b1 17 7e eb bd 20 1c 9f c1 06 86 f4 a5 7c f0 34 c7 76 45 ce 4e e3 ea 58 97 54 c7 20 02 20 b6 ea c2 3a ed 83 05 62 cc 91 ff 96 f7 45 c4 64 dd 7c a0 a9 e6 9d 6e e8 bf 8c
5e e6 34 f6 5a 2d c8 80 e1 1e 2d 71 ec 49 26 fe ca 1d 1b b1 a3 da 66 f6 8b 8c d9 06 c5 4c 68 e1 0e 84 8a 42 ff 0a 46 dd b3 e2 c2 ca 67 1f ea 33 a6 b3 a5 34 ea 5d c3 0c e4 49 77 f2 b5 d0 aa 39 36 ce da 19 0f 1c bb 18 a5 25 f6 40 9a 58 41 ab cd 1a 4b e5 88 45 6d 12 71 8c be 61 e4 a9 7f 3f a9 8c ee 57 ed 60 69 48 1d 02 e1 9d 3f ac b6 78
+------QQ净核报文------+

+-----临时密钥E解密数据------+
02 01 03 00
20
13 7E E3 95 89 3A F6 36 67 E4 C1 4A 5F 4D D9 7F D3 CC C9 60 4D AB D3 74 FA 51 F2 8C 04 73 03 B3
3C 01 03 00 00 C7 87 7A 61 EE FB 07 66 E5 4B FF 44 75 41 5A A1 46 CD A8 1C 33 70 07 40 6F 27 05 56 D4 11 FE 51 C5 B3 74 4C 91 26 26 84 75 77 24 A2 19 6B 2B 3B CB A8 16 B2 BF 3C EB 60
+-----临时密钥E解密数据------+

(2)数据流方向:服务端-->客户端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 a4
序列号:5b b1
加密数据:24 e8 fd 96 1d 51 dd af c6 e4 3f 3f 82 90 c0 fd 3c d7 37 35 5e f5 a9 0c 40 f6 7c f7 c8 24 54 19
结束包:03
+------QQ净核报文------+

+-----临时密钥E解密数据------+
02 00
01 03
10
91 05 FE 9B AE 25 50 02 65 1C 2F 41 6C 09 9E 25
+-----临时密钥E解密数据------+

0x026 获取Session Key 0x30

(1)数据流方向:客户端--->服务端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 30
序列号:35 70
QQ号码:00 93 04 ad <9634989>
加密数据:
00 38
b1 17 7e eb bd 20 1c 9f c1 06 86 f4 a5 7c f0 34 c7 76 45 ce 4e e3 ea 58 97 54 c7 20 02 20 b6 ea c2 3a ed 83 05 62 cc 91 ff 96 f7 45 c4 64 dd 7c a0 a9 e6 9d 6e e8 bf 8c
fa 8e 1a 95 56 33 bc fc 3f 92 58 80 7f 58 de 86 fb 2f db 72 ca 07 fe 71 e4 a8 36 13 02 22 24 88 1f 0e c3 88 7a 0f 22 5f eb 33 d3 44 c3 49 52 39 fc 75 6f 6f 59 05 38 3f 21 93 2a 0f 26 5d e6 86 f0 3c a1 65 cd 42 1f 77 eb c1 7e f2 6c 07 7d a9 82 3d a2 1f 5d 86 1b e5 12 29 29 44 7a d5 e3 6a 92 4d b7 94 75 bd d6 dc 0d 81 76 c3 16 95 0c 20 94 e0 6f 93 cd 8b ba c8 c9 61 4f b5 41 c7 a4 9f 2c 0a 0c 0f 9b c0 56 13 85 c3 07 4c dc 29 58 fc 94 8e c7 ed 42 8e 47 9e c9 5f 35 15 32 d8 59 ec 83 28 cf df ef a7 a4 62 c0 fc 4f 54 e2 8a 54 d4 98 29 74 0e 14 52 73 80 9d e8 14 38 78 b4 0a 7b c9 d3 89 b2 40 bf a4 09 66 d6 6e 22 ef 22 35 3d 61 bf f7 66 e1 96 7a ac 24 57 4f ed 3a eb 6f f4 af 59 de 6f 6a 14 6e 69 a5 ac 0a cd 07 09 60 56 5e 88 c7 99 91 6e 56 cb 0b 3d 98 ae 8e 3f 13 11 34 79 8f 90 bc e4 02 08 df e7 80 94 fb be 2a 73 eb d3 89 70 c0 67 0d a8 b7 c3 a2 6e 07 16 3f 50 d8 45 49 3f 4b 43 20 69 80 3a f3 00 9e 73 1a 87 cc e1 cf 5f 73 b0 4a 66 d1 c1 29 8d 0e 98 ac 57 36 a6 26 2a 5d e6 e7 6a 9b 9e a0 b2 1f f0 f7 11 cc 53 ce 9a 11 3a ff b9 ed 21 7a e0 fe a4 0b 4e 30 b6 7f 43 81 c8 6e 93 a7 f4 44 b1 0c 34 34 dd 31 fb 6c f1 9f c8 51 a7 39 b9 c2 81 f6 da 73 55 e5 1e 2e aa 2d 07 2b 3c 92 b7 a2 8c 49 f0 60 3b 82 a9 27 67 35 61 83 fb 80 57 fa b7 da 27 92 0e d7 13 ad 85 f4 47 3b eb 6e cb 82 da 7c 39 2e b0 fc 34 bd 53 e5 fb 03 6c 78 dc 9f 36 f1 e1 f3 14 ab f1 77 6e 42 92 40 47 d4 55 65 dc 47 0d 57 ea c1 09 99 c5 1e 0f 12 ce 05 fb b3 c3 45 42 c6 5a 20 e0 66 64 76 3c 22 da 08 7e 7e cf 85 44 78 42 a1 56 cd b9 54 3d 8d eb a1 6f 8b b2 e3 e2 a2 6a b4 79 fe 8f 1d a3 49 36 a4 22 fe 99 2d 8e 49 d7 f5 31 9e ed 0e c7 6f 91 eb 61 ae a5 45 eb 8c ec f8 05 c2 48 c4 82 69 63 b2 06 5e bd 80 76 de 24 0d f0 4b d1 cd aa 77 b2 4b 0e cd 4f b6 97 cc da 52 9f 75 51 0e 7e 3d 09 36 93 22 c5 8d a1 da f9 4a 33 21 94 65 ee 26 6f 4f e6 c4 12 8c d3 45 33 47 26 3b 95 59 16 f7 77 8c 12 c0 43 8b ca c0 93 33 47 e1 5f 97 a6 11 f1 df 78 27 35 4a f1 29 10 c6 d4 a5 1c 81 de ea 7b 46 4e 82 95 7c 12 48 2a 7f 44 48 ea 82 98 59 86 91 e0 ee 0c 2a 12 f6 f0 9c 54 9c 63 02 16 d5 c6 f4 32 c3 4b 67 22 bf b4 23 8b 64 39 07 77 83 b3 09 8f b0 21 40 10 04 d4 6b f9 f0 bf f2 78 90 92 bd f9 b8 28 fd 51 77 90
结束包:03
+------QQ净核报文------+

+-----临时密钥E解密数据------+
00 01 00 00 02 20 00 00 00 01 00 00 09 D3 00 C8 00 02
4A DB FF 34 <服务器时间: Monday, October, 19, 2009,13:55:00>
DD DD A7 90 <客户端IP:221.221.167.144>
00 00 00 00
00 B8
7E 04 B8 58 0B 3F 50 ED 9B 1A CB 6F B9 B2 D9 89 31 59 23 08 7A AE F7 29 BE 82 FA 36 0E AF F0 45 2C A6 C6 F5 43 90 00 64 B0 C0 C5 D2 6A 65 A1 D6 03 8B 6E 28 39 71 84 67 00 6E DD 77 81 88 FD 0A 9B 14 23 55 63 12 9A 28 79 13 54 6A 59 DD 8E 3F F2 53 11 07 02 8E 69 2E 41 9E 04 68 26 83 E4 1D 02 86 11 60 0C D3 FD 28 54 0D 14 18 B3 1D A7 E0 25 2A D8 F7 71 C9 39 C3 38 20 E7 8C 27 23 25 9C 72 04 3E D5 8E D8 D7 87 79 62 0F 7C 15 09 4A 3D FF B0 AE 2A FD 65 69 13 6B 32 48 93 BC 68 21 19 AB C4 61 70 3F D1 95 A4 1F 60 97 CD CE 74 B1 39 BB 3B 66 1D D6 CE FD CC
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8C 56 8A 9E CF FC 83 21 87 92 3B 45 15 ED 3B A4 97 28
00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 04 01 E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 7F F3 C6 DE 37 9E 03 AE 7A 08 47 B6 FD 33 49 42 2A A3 2F 25 FD 50 F7 B4 0D 29 71 55 CD 3B 21 45 F6 56 DA E4 5E AA 6B 9D 5D 0A 04 F1 33 0C 09 1D 5C FD D5 34 88 95 20 BD 00 00 00 07 00 00 00 00 08 04 10 01 40 01 39 EF 1E 34 00 10 1D 51 7B 87 21 F4 21 41 E6 8E 2E 6A D9 F2 C0 12 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 CF E6 33 CA 00 10 52 0A 91 B9 E8 03 2C A9 B9 30 EA 04 60 AD DD 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+-----临时密钥E解密数据------+

(2)数据流方向:服务端-->客户端

+------QQ净核报文------+
包头:02
QQ版本:19 0f
QQ指令:00 30
序列号:35 70
加密数据:
89 49 8c 66 6a f4 ee 95 61 57 0a 6a 61 6a fa dd 87 87 96 5e 34 b7 00 4c 91 27 8e 3d b2 eb 40 c8 55 58 2a 4f 70 a7 a6 91 69 7c de ad 1f 33 a5 6e 5e 34 53 df a7 9c 21 dc 74 75 c3 5e 7d d2 1d 3d fd 18 67 9a 25 31 ab f3 ee 2f f1 3c a0 e1 3b fb 6b 4f a5 90 a5 ad 2c 3d 5e 55 8f 37 ba 59 56 93 5d f9 02 56 81 31 85 a2 1e 1c 95 26 f4 17 ed e7 41 dd 69 31 4b 9f c5 b6 3e d0 33 16 d9 31 23 e1 dd d8 62 2d 96 ff a7 34 d8 68 48 9f e0 16 8c ac ca a3 6c 9a f0 a7 f3 4c d1 29 f3 97 73 c6 ab 8f 61 7f a2 b3 ea 07 93 41 bf 5e fa 3b b0 c7 17 8a 84 53 38 9c 25 de 88 7c 8c 8c 56 12 85 ef 65 48 05 ad 5a 9f 39 dd 96 cd 14 16 99 12 ff f6 d0 a5 21 31 1b a7 ac da af 37 99 35 44 d5 22 02 1a 84 4e ec 86 a6 75 09 2e f0 a2 3f cd b4 9c 3b ce 48 72 4c 2e df e7 47 80 9c 32 09 d6 80 d1 25 38 d6 48 46 81 03 12 82 6c f7 a3 58 fa 59 c4 78 47 12 b4 3f 33 8f 4c 72 7d b2 0e a0 ba cd 9d e7 47 5c 34 87 22 8c d4 84 e9 1a
结束包:03
+------QQ净核报文------+

+-----临时密钥J解密数据------+
00
59 69 54 74 35 41 73 58 4A 49 32 51 68 4B 74 32
00 93 04 AD <登陆者QQ:9634989>
DD DD A7 90 <客户端IP:221.221.167.144>
0F A0 (客户端端口号:4000)
7F 00 00 01
1F 40
4A DB FF 35 <服务器时间: Monday, October, 19, 2009,13:55:00>
03
0A
00 00 00 00 8C 17 7E DF 63 87 2F 8E 82 BF 5D 6A 71 32 93 BB EC 7C 06 D1 41 C1 74 29
00 00 00 00
1F 40
CA 68 C1 1B
1F 40
03 89 40 00 00 00 01 00 C3 B3 E5 4B 96 D3 A2 63 43 D5 AC D1 E9 A6 D6 1F B2 05 BA 70 17 9E 59 89 0F B0 AD DF 66 BA 7B 65 00 00 00 01 00 00 00 00 00 00 00 40 7A 3C B2 C7 4A DB F5 75 4A B1 F0 5B 4A D6 A6 7C 00 0A 00 0A 01 00 00 0E 10 03 14 8F FE 4F BB B6 63 C7 69 C3 F1 3C DE 80 00 00 00 00 00 00 00 08 02 04 08 08 08 08 08 04 02
00 28
B3 9B 19 D2 58 71 61 33 90 6A A0 3F 74 08 6D 9E 2F A1 AC 69 32 52 B9 6D 18 A3 5F B9 AC 83 9E 64 98 2F C7 08 7F EC 13 74
00 30
48 17 12 79 3F CC 3B 09 F2 FD 2A 3D A6 AD F2 56 84 7A 60 DC CB 99 20 B4 6C 10 D9 23 0B 61 D9 7D 6D 39 D5 D7 3F 0D BF 49 98 A1 BD 04 F0 1F D2 DD
3A FB 3F 7D (服务器IP:58.251.63.125)
+-----临时密钥J解密数据------+

0x027 总结

到QQ命令0x30时,可以从服务端--->客户端解密数据中,得到Session Key。接下来聊天文本信息的加密内容,将使用这个Session Key来进行解密。在QQ2009中,发送消息的命令为0xcd,接收聊天消息的命令是0x17。

用得到的Session Key,解密一段0x17命令的数据:

+-----Session Key解密数据------+
02 61 7A 45 <发送方QQ号码>
00 93 04 AD <接收方QQ号码>
00 0C
89 25 DB 85 31 A5 1F 40 00 09 00 00 00 00 12 03
02 61
7A 45
00 93 04 AD <接收方QQ号码>
3C 29 52 27 CB 65 3C 14 53 DA BB 84 F5 B1 EC 3D 00 0B 54 A0
4A E1 53 D1 <服务器时间:Friday, October, 23, 2009,14:57:21>
00 00 00 00 00 01 01 00 A2 00 01
B2 E2 CA D4 BD F8 D0 D0 D6 D0 2E 2E 2E 2E <解密的消息内容:测试进行中。。。。>
20 00
0A 00 00 00 00
86 02
CB CE CC E5 <宋体>
0D
+-----Session Key解密数据------+

用Session Key来解密文本信息的流程分析完毕,现在总结整个流程。

通过从用户登陆到获取Session Key的一个详细分析,可以看到密钥ABC,都是由客户端随机产生的临时密钥,以明文的方式在网络中传输。而密钥EFJ和Session Key是间接由密钥D推算出来。所以如果要在抓取到的网络数据流中逆向出Session Key,那么必须要获取密钥D。现在来分析一下有没有这种得到密钥D的可能性。产生密钥D的命令是0xdd,而0xdd也是真正进行密码验证的命令。在验证登陆密码这个过程中,客户端首先用QQ密码的两次MD5值作为密钥对104字节信息进行加密,加密内容包括QQ密码一次MD5值,临时密钥D等信息,接着再用密钥C对加密数据再次加密。简单表述为:密钥C(MD5_2_PASS(104字节:MD5_1_PASS+密钥D+其他数据)+其他数据)。服务端接收到数据后,用密钥C进行解密,接着用MD5_2_PASS作为密钥还原出104字节明文数据,如果可以还原,则判断登陆成功(暴力破解做到这一步即可),要想判断严谨的话,服务器可以用数据库中MD5_1_PASS和解密出来的MD5_1_PASS进行匹配看是否相同即可。经过分析可以看到,只有拿到QQ密码才可以解密出密钥D。到此可以得出结论,在不考虑TEA算法的强度和暴力QQ破解密码的情况下,QQ聊天信息数据在网络中传输是安全的。

0x03 QQ2009文件传输机制及其安全性

QQ2009文件传输采用点对点传输模式,传输文件不经过服务器中转,最新功能是支持文件夹传送。由于纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,因此下面将以发送端和接收端来表述数据流传输方向。QQ的文件传输经过四个过程,发送请求,发送连接信息,发送文件名,发送文件。

0x031 发送端请求传送文件

发送端--->接收端

+------QQ净核报文------+
03 <文件传输中包头变为03>
00 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 00 00 60 dc
02 61 7A 45 <接收人的QQ号码>
+------QQ净核报文------+

接收端--->发送端

+------QQ净核报文------+
03
00 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 00 00 60 dc
00 93 04 ad <发送人的QQ号码>
+------QQ净核报文------+

0x032 持续发送连接信息

发送端--->接收端

+------QQ净核报文------+
03
19 0f
1b e4 77 e0 49 f4 6e 94 d1 00 00 12 6f 1e 00
+------QQ净核报文------+

接收端--->发送端

+------QQ净核报文------+
03
12 37
dc 33 a9 53 16 23 b0 27 8e 00 00 13 6f 1e 00
+------QQ净核报文------+

0x033 发送端发送文件名

发送端--->接收端

+------QQ净核报文------+
03
19 0f
15 ea 79 ee 47 fa 60 9a df 00 00 11 1a 6d 52 52 00 00 00 58 00 00 00 00
61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 2e 72 61 72
<文件名:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.rar>
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 9e 3c 3c c3 d2 92 40 46 78 f0 19 dc 7f 85 8f 5d 14 57 27 d4 60 dd 36 c2 fe 9c 52 48 32 2b b9 00 00 03 e8
+------QQ净核报文------+
 
0x034 发送端发送文件内容

发送端--->接收端
+------QQ净核报文------+
03
19 0f
93 6c ff 68 c1 7c e6 1c 59 00 00 11 1a 6e 56 56 00 00 00 58 00 00 00 00 52 61 72 21 1a 07 00 cf 90 73 00 00 0d 00 00 00 00 00 00 00 46 1f 74 20 90 2a 00 13 00 00 00 68 00 00 00 02 44 f0 d7 e4 b5 7b 57 3b 1d 33 05 00 20 00 00 00 61 2e 74 78 74 00 f0 b6 26 68 0c cc bf 0c 9f ea 53 d3 24 c4 88 99 dd 59 2b 68 d2 88 7a c4 3d 7b 00 40 07 00 <此数据为aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.rar的16进制包,剥离出来用WinHex编辑保存,即可打开>
+------QQ净核报文------+

0x035 总结
通过上面的发送过程,可以发现QQ2009文件传输在经过简单的协商后文件名和文件内容将以明文传输。UDP协议+明文传输,保证了速度,却降低了传输中的安全性。(内网之间采用TCP协议+明文传输)。

阅读(2073) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~