在目前的版本中,其主要分析0825 0826数据包。
先来2个数据包
NO1:
02 32 41 08 25 25 B7 0F 10 A5 38 03 00 00 00 01
01 01 00 00 66 28 00 00 00 00 A8 89 BC 90 FA 7C
6A 32 55 EB D8 F4 2B 52 25 C8 C4 69 C1 09 4F A8
6A BE 0C E3 05 74 F5 65 F4 10 3A 0A 86 EB E2 CD
91 E9 1A 0A DA 71 B6 7F DB 47 61 8D 32 84 8A BC
5B 4D A5 EE 38 C2 AA E0 18 CF C0 40 6A 6E EB E4
29 DD 11 2E 98 DA 26 B2 AE 60 39 08 22 76 87 AA
DC B2 03
对包进行拆分分析:
02开始,03结束,多年不变。
32 41 所使用qq版本号
08 25 此包中qq数据的命令类型
25 B7 此包的序号
0F 10 A5 38 QQ号码
03 00 00 00 01 01 01 00 00 66 28 00 00 00 00 随机值
A8 89 BC 90 FA 7C 6A 32 55 EB D8 F4 2B 52 25 C8 随机的tea key 这个key主要是用来解密下面一段数据,即剩下的数据部分
解密后为:
00 18 00 16 00 01 00 00 04 17 00 00 00 01 00 00
13 C9 0F 10 A5 38 00 00 00 00 01 14 00 1D 01 02
00 19 03 09 8E F4 8D 8F 71 EA F1 5E EF A2 26 44
92 FB 12 49 7E 3E FB AA 62 3C 04
各字段分析:
00 18 00 16 00 01 固定6个字节
00 00 04 17 00 00 00 01 00 00 13 C9 12字节
0F 10 A5 38 QQ号码
00 00 00 00 01 14 00 1D 01 02 10个固定
00 19 后面数据的长度为25(19为16+9)
03 09 8E F4 8D 8F 71 EA F1 5E EF A2 26 44
92 FB 12 49 7E 3E FB AA 62 3C 04
第一个包至此结束
.....................................................................................................................................................................................................................
第二个:(s->c)
02
32 41
08 25
25 B7
0F 10 A5 38 以上同第一个包
00 00 00 固定
剩下的数据全是加密之后的,解密的密钥是第一个包中的那个随机密钥
7B 59
7B E9 18 31 10 F0 84 A5 CD 3B 90 72 74 C6 7A 64
E2 60 17 16 5D 61 B9 8D 74 C4 83 F5 2A 27 60 B9
77 AE AA DF 2D 74 31 54 05 9E 8F 3D 13 7B BB BB
0D F4 BB 95 17 E6 DB C9 13 05 CD 41 37 9D DB 57
9F C7 04 A1 01 72 D7 25 AE 81 A0 63 17 A0 11 6B
9F D6 E7 43 B9 63 59 3C 4A 40 B7 D2 47 EA
解密之后为:(密钥:A8 89 BC 90 FA 7C 6A 32 55 EB D8 F4 2B 52 25 C8)
00 01 12 00 38 6A 24 17 76 A8 5D 4A A2 8F 54 1C
B3 C6 17 B9 14 7D A7 93 86 6A D7 5A 7D 45 63 1C
F7 7D 20 C6 03 1E B1 B1 46 A9 3E DD 31 63 5B DA
4B DA 83 05 AA 6C 88 60 60 38 DF 43 75 00 17 00
0E 00 01 51 6D 31 0D 3B AE 2C 91 04 2C 00 00
分析:
00 成功标志
01 12
00 38 长度 56字节
6A 24 17 76 A8 5D 4A A2 8F 54 1C
B3 C6 17 B9 14 7D A7 93 86 6A D7 5A 7D 45 63 1C
F7 7D 20 C6 03 1E B1 B1 46 A9 3E DD 31 63 5B DA
4B DA 83 05 AA 6C 88 60 60 38 DF 43 75
00 17 00 0E 00 01
51 6D 31 0D 时间
3B AE 2C 91 IP
04 2C 00 00
............................................................................................................................
No3:0826
02
32 41
08 26
7C 18
0F 10 A5 38
03 00 00 00 01 01 01 00 00 66 28 00 00 00 00 随机值和第一个包的一样
E1 ED 12 FD 9D 48 96 ED 90 62 AD B6 54 FD 65 36 密钥 解密下面的数据
53 02 37 5F B8 B3
EE AD B5 D4 43 9D 4C F0 EE 44 07 A9 50 76 2D 52
B0 F1 D6 92 EF A0 27 C6 23 24 F7 34 74 84 95 4C
B6 3E 92 4D 99 5F 71 9E 37 21 63 FE FE 59 53 3E
01 25 03 32 CB 57 26 57 43 5D 12 7A 2B FE B7 B8
8A 17 32 65 E3 BC 5B AA 25 DE F4 FC 26 93 A6 F6
34 AC D5 A6 22 27 53 95 11 1A D6 61 03 96 5F D5
6A 35 BF 27 0A 1E B4 05 F7 E5 49 41 5E 12 8E 1C
6A 0B 85 9E 03 67 FE 59 C4 85 9C DC 2C A6 5D 23
DE FB 70 F9 9E C2 63 A4 D4 3B E6 E5 F8 91 65 3F
84 75 36 45 58 D3 DE 36 16 9A ED 70 49 FE 2F 68
C6 CF BE 21 78 99 56 C8 66 D4 AD B6 B2 6C 1E 41
CC 84 E4 5F 56 3A 03 C4 E5 86 FF 2C 8E B9 97 56
35 3B 9D 54 37 09 9C CF 4B 46 A0 00 9A 21 5B 87
72 B7 0C 14 2A 83 3B 37 FE 19 1C 23 8B 88 72 17
13 24 F6 AF CE EF 5C 13 54 B6 D5 FB A5 46 B5 72
19 A9 32 59 49 81 4F 6A E5 B5 35 77 61 43 1F 5E
D4 BE 65 05 F9 D8 B2 C1 62 63 32 ED 78 36 DB 7E
FD 71 DC 70 E5 37 42 F3 D9 30 62 27 A3 FF 2A D1
EE 0C B7 B2 F3 D4 F1 E3 C4 AC D0 27 77 45 DA 1A
9C 22 B8 D9 51 E0 FD C8 76 EF 5C CF 0B 76 BD 7F
EF 7B 1D 4A C6 8F CA 05 B0 2F FB 4F 65 13 27 87
7B A2 FF DC 08 EC 51 D7 DC EF 09 2E 20 FD 41 07
70 EE 2B 5B A8 08 04 2E 45 94 54 BE 97 74 0B B6
90 56 39 6F B4 7B 86 2B 5E 25 5E 9F A5 A9 D9 8A
32 2B 7E 32 A2 3B 91 36 15 B2 43 3A E9 06 69 A0
0A C5 C0 0A 0A 43 F4 4C DB 09 2A 4A B4 4A C2 DE
51 A7 A9 B1 8C 92 6D EE 21 11 7F 77 89 22 AC 6D
C4 56 36 D1 7B 5B 94 25 69 07 31 29 AF AD 81 E7
69 AE 28 80 C9 3D D0 D8 14 97 3F 96 F5 F3 A2 36
6D 6A 94 93 2E 43 F3 E1 EF 79 53 FC F8 18 2B 6B
24 FE 5C CA 69 93 5D D8 A5 C7 85 FE 52 24 92 B9
B8 C5 11 1A 08 DE CD 9B 08 98 26 03 07 10 5F 4A
F1 1B 03
解密之后的数据为:
01 12
00 38 长度
6A 24 17 76 A8 5D 4A A2 8F 54 1C B3
C6 17 B9 14 7D A7 93 86 6A D7 5A 7D 45 63 1C F7
7D 20 C6 03 1E B1 B1 46 A9 3E DD 31 63 5B DA 4B
DA 83 05 AA 6C 88 60 60 38 DF 43 75 和第二个包的一模一样
00 05 00 06 00 02
0F 10 A5 38 qq号码
00 06
00 78 长度120字节以下120字节是加密的数据,需要进一步解密
3B 70 03 15 7B 2E
E3 74 79 32 CC BB B4 B4 90 A9 EE A2 06 36 67 6B
32 E3 88 2F 00 47 B5 7D CC 23 AD 9D 5E 5A DE 2C
0C FB 31 75 86 2D 02 6B E4 44 D2 CC F3 A4 C1 42
DD 62 BD 40 EC B5 5B E3 EC 8A 5B 03 C5 C1 AC 62
E8 80 06 9E FB 68 F8 66 EC C6 F5 D8 02 DD 19 D1
0F 79 FD 5E 65 11 DA 95 93 B7 94 6E 61 EB 61 80
33 D3 EB 40 75 A2 D5 CC D7 B6 18 DC EB 50 C9 58
16 65
以上120字节的解密密钥为md5(md5(密码)+\x00\x00\x00\x00+qq号码的4字节)(本群群就是0F 10 A5 38),此密钥不能通过在线的方式算出来,需自己编程,
其中的\x00 表示一个字符串的结束,不是数字00,同时进行第二次md5时,第一次md5的结果是16个2进制,并非32个字符,一定需区分开。
此120自己解密后的数据为
D2 7C 83 8F 00 01 0F 10 A5 38 00 00 04 17 00 00
00 01 00 00 13 C9 00 00 00 95 CE D8 2C 47 6A E2
3D B2 2D 52 B9 DB D4 C8 8B 51 6D 31 0D 00 00 00
00 00 00 00 00 00 00 00 00 00 3B AE 2C 91 00 00
00 00 00 00 00 00 00 10 F0 F0 F0 F0 F0 F0 F0 F0
F0 F0 F0 F0 F0 F0 F0 F0 25 2B 8F F4 26 02 4E AE
B7 40 FB 01 BE 65 31 68
120字节解密之后的数据
00 18 00 16 00 01 00
00 04 17 00 00 00 01 00 00 13 C9
0F 10 A5 38
00 00 00 00 01 03 00 14 00 01
00 10
F4 62 29 09 AC A8 AE 05 46 56 70 CF 59 B0 42 05
00 32 00 37 3E 00 37 01 03 01 03 00
00 04 00 52 7E 00 00 00 00 00 BC A9 C1 00 9E EC
E8 2B 9F 7D 63 4C AB AB 4E 65 CA D6 C8 F1 67 DD
17 EB 99 E7 A4 2D CD DB 49 70 C1 96 44 9A 68 01
14 00 1D 01 02 00 19 03 09 8E F4 8D 8F 71 EA F1
5E EF A2 26 44 92 FB 12 49 7E 3E FB AA 62 3C 04
01 02 00 62 00 01 AB C8 50 49 1E 14 C1 3D B4 3B
D1 BF 59 09 6D 17 00 38 06 27 EA 5D 3F 92 A1 8F
E1 4B DD E1 1A 51 F8 54 B9 CC C0 8A A8 8B 1F D9
B6 B0 FC 9E 9A AA 5C D4 35 64 CD E5 18 BC 04 BF
46 37 C5 2B 3B F3 03 5A 2D DD 49 C1 91 23 58 28
00 14 6E 7F C3 DE A6 AF 87 AB 3E F5 D1 67 5B 54
34 84 8E D1 50 AF 00 1A 00 40
7C 0D 5B FB 46 3E A3 3F DB C0 8D C7 4A BD B2 25
4B 76 03 9C C5 DB AE F9 B3 26 D7 84 BD 60 93 DF
F2 D7 6B E8 14 38 3D 57 95 44 0F A6 DB FF FA A8
31 58 53 6D FE CD 75 BF F1 DB 1A 34 29 5B B0 D0