QQ协议分析四
0x0058(心跳) 发送包 包头:02 版本:1A 35 命令:00 58 包序号:
QQ号:10 73 a1 f6
固定:02 00 00 00 01 01 01 00 00 64 00
密文:由QQ号的ASCII码组成,然后再用sessionkey进行加密得到(31 34 32 37 37 34 38 32 32 35) 包尾:03
接收:(不需要管)
心跳包每分钟发送一次,每次都应有返回,如果没有收到返回,那就需要继续发,如果连续发送5次都没有收到返回,则说明已经掉线了。
0x0062(注销) 发送: 包头:02 版本:1A 35 命令:00 58 包序号:
QQ号:10 73 a1 f6
固定:02 00 00 00 01 01 01 00 00 64 00 密文:16 字节0 ,用sessionkey 加密 包尾:03
此包要连续发送4次。
此命令还有需要验证的情况,本人没有进行分析了,如果有需要的,自己去分析一下。 0x0080(有人加我为好友) 02 1A 35
00 80 E4 5C 00 66 13 D0 00 00 00
26 7E 25 F2 D1 C5 C0 BE 16 D8 27 E1 FE A5 2B 9B DC 49 55 9D 75 28 12 7B 20 2D CF 20 63 E0 9B 52 B1 8D BB 59 CD EE 51 57 0C 2C 1B B3 66 FD 7C 09 BF 2D 18 40 92 4F 06 65 DC 2B 64 A5 0D 8D EA 0F 03 C6 6B D7 64 AB 6F 84 B1 8C 7C 06 41 7E 29 7B 84 16 00 AE 47 40 93 64 EB 08 AD 42 10 B7 0D 77 E4 E4 71 18 5F 78 93 77 80 B2 59 F3 C4 7C 50 0F 03 解密: 34 30 1F
31 34 32 37 37 34 38 32 32 35(对方QQ 号) 1F
36 36 38 39 37 34 34 1F
18 93 E0 53 D1 2C 97 CB 0F F1 B2 A2 07 F7 34 BF D9 85 5E EC A1 B0 CF 6D FD 00 30
62 35 30 62 36 37 61 30 66 61 32 36 38 39 63 66 63 62 35 34 36 36 36 34 62 37 32 31 61 35 38 33 33 37 30 35 35 34 38 32 64 39 37 38 64 64 30 37
2009版本里面的qq,除了每分钟必须发送的心跳包外,每个五分钟,还必须发送下面两个命令,否则一会儿就掉线了。接收到的数据不需要管,我也不知道是用来干什么的。反正一直没有用。
0x0027(每个五分钟发一次) 发送
02 1A 35 00 27 3C 2F 55 19 B5 81 02 00 00 00 01 01 01 00 00 64 00 F6 28 66 4C 25 CE F1 38 60 FC D2 19 DE 1D F9 3A 03 解密: 02 00 00 00 00 接收:
02 1A 35 00 27 3C 2F 55 19 B5 81 00 00 00 F8 9B 8A E9 E9 8C 35 C7 FD 42 47 03 82 A0 76 DA 03 解密: FF
0x00C6(每个五分钟发一次) 发送
02 1A 35 00 C6 48 64 55 19 B5 81 02 00 00 00 01 01 01 00 00 64 00 35 CF 5B 8B 34 A0 EA E8 09 B9 0F 06 5D 6C 9C 74 03 解密: 02 00 00 00 00 接收:
02 1A 35 00 C6 48 64 55 19 B5 81 00 00 00 CB 27 71 89 8D 40 46 E7 4A 52 DF 0D 20 01 6D 9C 98 6D F7 F3 79 36 21 E9 53 5D A6 55 3F 64 D4 2E 03 解密:
02 00 00 01 2C 00 00 00 0A 00 00 00 00 00 00 00
0x00CE(接收消息) 发送者QQ :10 73 a1 f6 接受者QQ :00 66 13 D0
回复收到时填充的数据:00 0A 25 67 3A 3C 0F 33 端口:1F 40
信息类型:00 A6(好友信息) 固定:00 00 长度:00 15
内容:00 06 00 04 00 01 01 01 00 01 00 04 00 00 00 00 00 03 00 01 01 QQ版本:1A 35
发送者QQ :10 73 a1 f6 接收者QQ :00 66 13 D0
会话令牌:F0 02 DB 96 F7 07 00 0B 7C 1C C1 E2 42 94 9A 36 文本:00 0B(00 AF 震动,也可能是对方正在准备发消息的一个标志) 不知道(会变):1D 2B 发送时间:4B EE B6 A5 发送者头像:02 4F
是否含有字体属性:00 00 00 01
消息分片数:01 消息分片号:00 消息ID :00 00 是否自动回复:01 MSG的UTF8 :4D 53 47 00 固定:00 00 00 00 发送时间:4B EE B6 A5 不知道:50 60 9E 26
固定:00 00 00 00 09 00 86 00 固定:00 06
固定:E5 AE 8B E4 BD 93 固定:00 00
文本: 01 (02 为自定义表情) 长度: 00 39 不知道:01 消息长度:00 36 消息内容:
E5 8F 91 E9 80 81 E4 B8 80 E4 B8 AA E6 B5 8B E8 AF 95 E6 95 B0 E6 8D AE EF BC 8C E7 9C 8B E7 9C 8B E4 BD A0 E8 83 BD E4 B8 8D E8 83 BD E6 94 B6 E5 88 B0 E3 80 82
回复时的包体:
发送者QQ+ 接受者QQ+ 收到内容中的8 字节回复内容
聊天中含有自定义表情信息的:
(自定义表情在中间,,我再看看行不行呢。) 发送QQ :10 73 a1 f6 接收QQ :00 66 13 D0 00 0A 38 BC 3A 3C 0F 2A 1F 40 00 A6 00 00 00 15