打印

协议分析贴

修改个性签名协议分析

包类型: outDat
命令: 0X0067
名称: 修改个性签名请求包

注释: (QQ2005 beta 1)
====================================

修改个性签名子命令 0x01

请求包
* 1. 头部
* 2. 命令类型,1字节,0x01
* 3. 未知字节,1字节,0x00
* 4. 修改的个性签名长度,1字节  
* 4. 修改个性签名内容
* 5. 尾部


***********************************************************


包类型: inDat
命令: 0X0067
名称: 修改个性签名应答包

注释: (QQ2005 beta 1)
====================================

应答包
* 1. 头部
* 2. 命令类型,1字节,0x01
* 3. 标志位,1字节,0x00表示修改成功
* 4. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

删除个性签名协议分析

包类型: outDat
命令: 0X0067
名称: 删除个性签名请求包

注释: (QQ2005 beta 1)
====================================

修改个性签名子命令 0x02

请求包
* 1. 头部
* 2. 命令类型,1字节,0x02
* 5. 尾部


***********************************************************


包类型: inDat
命令: 0X0067
名称: 删除个性签名应答包

注释: (QQ2005 beta 1)
====================================

应答包
* 1. 头部
* 2. 命令类型,1字节,0x02
* 3. 标志位,1字节,0x00表示删除成功
* 4. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

获取个性签名协议分析

包类型: outDat
命令: 0X0067
名称: 修改个性签名请求包

注释: (QQ2005 beta 1)
====================================

获取个性签名子命令 0x03

请求包
* 1. 头部
* 2. 未知字节,1字节,0x00
* 3. 请求的QQ号个数,1字节
* 4. 获取签名的QQ号,4字节
* 5. 本机的签名时间,4字节
* 6. 如果有请求多个QQ号签名,重复4(如果是自己的QQ号,本机签名时间始终是0)


***********************************************************


包类型: inDat
命令: 0X0067
名称: 获取个性签名应答包

注释: (QQ2005 beta 1)
====================================

应答包
* 1. 头部
* 2. 个性签名子命令,1字节,0x03
* 3. 标志位,1字节,0x00表示成功
* 4. 请求包中最后一个QQ号+1,4字节
* 5. 要获取签名的QQ号,4字节
* 6. 上一次该签名被修改的时间,4字节
* 7. 签名长度,1字节
* 8. 个性签名内容,7得到的长度
* 9. 如果有多个QQ号,重复5
* 10. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

备注没有弄出来吗?好像lumaqq中都已经有了,我比较需要这个功能,因为我都把他们的真实姓名填到了备注中,如果没有这个的话,我都不知道谁是谁了
还有,lumaqq中群中好像多了讨论组之类,有没有分析它的源码?

TOP

pupilzeng, 慢慢来完善吧。
你也帮帮忙嘛。

备注好办,因为我不太用,也没有人提及这个,所以就懒得做。
群内分组, 慢慢完善吧。 协议很早就分析出来了, 界面要做改动,懒得动了。下个版本。先
放一个版本用,  

TOP

群管理员应该是彻底搞清楚了, 还知道群成员类型里还有个股东

TOP

如果支持摄像头和音频就好了

视频直接用v4l设备,即/dev/video

音频……这个应该很容易搞定了嘛~~

TOP

音频,视频比较麻烦, 如果不知道QQ使用的压缩算法, 根本就没办法实现。
要得到这些压缩算法, 可能很难。

TOP

有关login包的分析

我看eva和lumaqq的源码,都说在login包中,表示登陆模式前为36字节的固定内容,未知含义,我分析时发现,紧靠登陆模式这个字节前的一个字节,是变化的,而且是你机子当前登陆的QQ的个数,如果一直是用一个QQ抓包,那肯定是1了,我开多个时,他就相应往上增了,估计是腾讯统计你开了多少个QQ用的.知道了其实也没有什么大用,但说明一下了

TOP

其实,音频视频,他们用的都是现成的产品,他的关于里有说明,另外可以看看voip技术,视频估计就是用的openh323里的也不定呢

TOP

哪里有完整的协议分析啊,我正在用c#写qq客户端,想找一个完整一些的,谢谢!

TOP

TOP

腾迅自定义头像下载协议分析

自定义头像分析:

服务器URL: cface_tms.qq.com
服务器端口:4000

下载步骤:
1。 请求自定义头像
2。 请求自定义头像回应
3。 请求下载
4。 请求下载回应
5。 图像下载


自定义头像包包头(46字节):
1 -- byte 0     : 0x03, 包起始符
2 -- byte 1     : 包命令, 1字节, 0x04 为信息命令, 0x02为传输命令
3 -- byte 2 - 3 : 随机号, 未知, 2字节
4 -- byte 4 - 5 : 0x0000, 2字节
5 -- byte 6 - 7 : 包序号, 2字节, 根据包命令不同,使用不同序号队列, 但都从以1开始,
                        依次+1, 如果是请求下载包,
6 -- byte 8 - 13: 6 字节 0x00
7 -- byte 14- 15: 2 字节, 未知标志, 客户端发出的总是0x0000, 0x0001为是否是数据包标志
8 -- byte 16- 39: 24字节, 全0x00
9 -- byte 40    : 1字节, 本次操作需要的包数
10-- byte 41    : 1字节, 本次操作的包序号, 范围在 0 到 第9部分减1 之内
11-- byte 42    : 1字节, 0x00, 分隔标志
12-- byte 43- 44: 2字节, 版本标志, 服务器是0x0000
13-- byte 45    : 1字节, 0x00


请求自定义头像信息:
1 -- 包头 (2命令: 0x04,  5子命令:0x0001 (big endian), 7 0x0000, 9 0x01
2--  byte 46- 53 : 8字节, 全0x00
3 -- byte 54- 55 : 2字节, 后面包长度, 不包括这两个字节
4 -- byte 56     : 1字节, 0x01
5 -- byte 57     : 1字节, 0x00
6 -- byte 57 - 58: 2字节, 后面请求好友QQ号的个数
     注意:一次请求最多可以请求20个QQ好友的自定义头像资料
7 -- byte 59 - 62: 4字节, 好友QQ号
8 -- 重复 7 部分, 直到到达 6 部分指定的个数


请求自定义头像信息回应包:
1    包头 (2命令: 0x04,  5子命令:0x0001 (big endian), 7 0x0001, 9 0x01
2--  byte 46- 53 : 8字节, 全0x00
3 -- byte 54- 55 : 2字节, 后面包长度, 不包括这两个字节
4 -- byte 56     : 1字节, 0x00
5 -- byte 57     : 1字节, 0x02
6 -- byte 58 -59 : 2字节, 后面好友信息块的个数
7 -- byte 60 -63 : 4字节, 好友QQ号
8 -- byte 64 -67 : 4字节, session id
9 -- byte 68 -83 : 16字节, 头像文件的md5值, 也当做文件名来用
10-- 重复 7, 8, 9 部分, 直到到达 6 部分指定的个数


请求下载包:
1    包头 (2命令: 0x02,  5子命令:0x0001 (big endian), 7 0x0000, 9 0x01
2--  byte 46- 53 : 8字节, 全0x00
3 -- byte 54- 55 : 2字节, 后面包长度, 不包括这两个字节
7 -- byte 56 - 59: 4字节, 好友QQ号
8 -- byte 60     : 1字节, 未知, 总是0x01, 猜测是后面session id的个数
9 -- byte 61 - 64: 4字节, session id
10-- byte 65 - 68: 4字节, 起始偏移量, 开始默认全部 0xff
11-- byte 69 - 72: 4字节, 请求数据长度, 开始默认全部 0x00


文件传送通知包:
1    包头 (2命令: 0x02,  5子命令:0x0001 (big endian), 7 0x0000, 9 0x01
2--  无


图象文件传送包:
1    包头 (2命令: 0x02,  5子命令:0x0001 (big endian), 7 0x0001, 9 0x07
2--  byte 46- 53 : 8字节, 全0x00
3 -- byte 54- 55 : 2字节, 后面包长度, 不包括这两个字节, 最大0x0335字节
4 -- byte 56     : 1字节, 0x00, 分隔符?
5 -- byte 57 - 60: 4字节, 好友QQ号
6 -- byte 61 - 64: 4字节, session id
7 -- byte 65 - 68: 4字节, 头像文件总大小
8 -- byte 69 - 72: 4字节, 图象偏移量, 即本包数据第一个字节的偏移字节数
9 -- byte 73 - 76: 4字节, 后面图象数据长度
10-- byte 77 -end: 图象数据, 因为是BMP图片所以第一个包的开始是“BM”

TOP

添加好友协议分析

包类型: outDat
命令: 0X00A7
名称: 添加好友请求包(QQ_CMD_ADD_FRIEND_EX)

注释: (QQ2005)
====================================

请求包
* 1. 头部
* 2. 要加的人的QQ号的字符串形式,4字节
* 3. 尾部

***********************************************************

包类型: inDat
命令: 0X00A7
名称: 添加好友应答包(QQ_CMD_ADD_FRIEND_EX)

注释: (QQ2005)
====================================

应答包
* 1. 头部
* 2. 要添加的好友的QQ号,4字节
* 3. 回复码,1字节

如果回复码是0x00,表示可以加对方为好友
* 4. 对方验证状态,1字节,0x00 表示不需要验证,0x01 表示需要验证,0x02表示对方拒绝别人加其为好友
* 5. 尾部

如果回复码是0x99,表示对方已经是好友了
* 4. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

添加好友验证协议分析

包类型: outDat
命令: 0X00A8
名称: 添加好友验证请求包(QQ_CMD_ADD_FRIEND_AUTH_EX)

注释: (QQ2005)
====================================

请求包
* 1. 头部
* 2. 对方验证状态,1字节
* 3. 要添加好友的QQ号,4字节
* 4. 是否允许对方加自己为好友,1字节,0x01允许,0x02不允许
* 5. 把好友加到第几组,1字节,我的好友组是0x00,然后以此类推

如果对方验证状态为0x00,表示对方不需要验证
* 6. 尾部

如果对方验证状态为0x02,表示对方需要验证
* 6. 验证消息字节长度,1字节
* 7. 验证消息,6得到的长度
* 8. 尾部

***********************************************************

包类型: inDat
命令: 0X00A8
名称: 添加好友验证应答包(QQ_CMD_ADD_FRIEND_AUTH_EX)

注释: (QQ2005)
====================================

应答包
* 1. 头部
* 2. 对方验证状态,1字节 0x00表示对方不需要验证,0x02表示对方需要验证
* 2. 要添加的好友的QQ号,4字节
* 3. 回复码,1字节,0x00 表示成功
* 4. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP