打印

协议分析贴

包类型: inDat
命令: 0X005C
名称: 好友等级请求应答包(QQ_CMD_GET_LEVEL)

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

* 好友等级请求应答包,格式为
* 1. 头部
* 2. byte 0: 总是0x00 可能是子命令, 不确定 //0x00应该是成功的意思
* 3. byte 1- 4: 好友QQ号
* 4. byte 5- 8: 登录总时长, 秒为单位
* 5. byte 9-10: 等级
* 6. byte 11-12: 升级剩余时长,小时为单位
* 7. 如果是多个好友,重复第3到6部分
* 8. 尾部

TOP

呵呵, 对于005C命令的服务器回应包的包体部分,
第一个字节,which is always 0x00, 不应该是成功的意思。

我是基于以下原因,做这个猜测的,
1。在发送包包体的第一个字节是一个0x00,回应包正好和这个对应,
2。像腾讯新出现的命令一样,腾讯应该预留一些字节做以后功能的扩充。腾讯不应该
     轻易浪费这样一个大的命令族。以后对于等级或许还会出现新的内容什么的,这样
     腾讯只用更改子命令号就可以了

不过,这些都是推测而已 :)

TOP

新建群讨论组协议分析

包类型: outDat
命令: 0X0030
名称: 新建讨论组请求包(QQ_CMD_QUN_CMD)

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

新建讨论组子命令 0x30

请求包
* 1. 头部
* 2. 命令类型,1字节,0x30
* 3. 创建的临时群类型,1字节,0x02
* 4. 父群内部ID,4 字节
* 5. 讨论组名长度,1字节
* 6. 讨论组名,长度不定
* 7. 讨论组成员的QQ号,4个字节一个
* 8.尾部

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


包类型: inDat
命令: 0X0030
名称: 新建讨论组应答包(QQ_CMD_QUN_CMD)

注释: (QQ2005 beta 1,来自LumaQQ)
====================================  

* 1. 头部
* 2. 命令类型,1字节,0x30
* 3. 回复码,1字节
* 4. 临时群类型,1字节,0x01是多人对话,0x02是讨论组
* 5. 父群内部ID,4字节
* 6. 创建讨论组ID,4字节
* 7. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

获取讨论组成员列表协议分析

包类型: outDat
命令: 0X0030
名称: 获取讨论组成员列表请求包(QQ_CMD_QUN_CMD)

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

获取讨论组成员列表子命令 0x37

请求包
* 1. 头部
* 2. 命令类型,1字节,0x37
* 3. 创建的临时群类型,1字节,0x02
* 4. 父群ID,4 字节
* 5. 讨论组ID,4 字节
* 6. 尾部

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


包类型: inDat
命令: 0X0030
名称: 获取讨论组成员列表应答包(QQ_CMD_QUN_CMD)

注释: (QQ2005 beta 1, 来自LumaQQ)
====================================  

* 1. 头部
* 2. 命令类型,1字节,0x37
* 3. 回复码,1字节
* 4. 临时群类型,1字节
* 5. 父群ID,4字节
* 6. 讨论组ID,4字节
* 7. 成员QQ号,4字节
* 8. 如果有更多成员,重复7部分
* 9. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

退出群内讨论组协议分析

包类型: outDat
命令: 0X0030
名称: 退出讨论组请求包(QQ_CMD_QUN_CMD)

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

退出讨论组子命令 0x32

请求包
* 1. 头部
* 2. 命令类型,1字节,0x32
* 3. 临时群类型,1字节,0x02
* 4. 父群内部ID,4 字节
* 5. 讨论组ID,4 字节
* 6. 尾部

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


包类型: inDat
命令: 0X0030
名称: 退出讨论组应答包(QQ_CMD_QUN_CMD)

注释: (QQ2005 beta 1,部分来自lumaQQ)
====================================  

* 1. 头部
* 2. 命令类型,1字节,0x32
* 3. 回复码,1字节,0x00
* 4. 临时群类型,1字节,0x02
* 5. 父群ID,4字节
* 6. 讨论组ID,4字节
* 7. 讨论组成员QQ号,4字节
* 8. 如果有多人,重复7
* 9. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

修改群名片协议分析

包类型: outDat
命令: 0X0030
名称: 修改群名片请求包(QQ_CMD_QUN_CMD)

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

修改群名片子命令 0x0E

请求包
* 1. 头部
* 2. 命令类型,1字节,0x0E
* 3. 父群ID,4 字节
* 4. 修改人的QQ号,4字节
* 5. 真实姓名长度,1字节
* 6. 真实姓名,5得到的长度
* 7. 性别,1字节,0x00 表示男 0x01表示女
* 8. 电话长度,1字节
* 9. 电话,8得到的长度
* 10. email长度,1字节
* 11. email,10得到的长度
* 12. 备注的长度,1字节
* 13. 备注,12得到的长度
* 14. 尾部

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


包类型: inDat
命令: 0X0030
名称: 修改群名片应答包(QQ_CMD_QUN_CMD)

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

应答包
* 1. 头部
* 2. 命令类型,1字节,0x0E
* 3. 回复码,1字节
* 5. 父群ID,4字节
* 6. 修改人QQ号,4字节
* 7. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

获取群名片协议分析

包类型: outDat
命令: 0X0030
名称: 获取群名片请求包(QQ_CMD_QUN_CMD)

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

获取子命令 0x10

请求包
* 1. 头部
* 2. 命令类型,1字节,0x10
* 3. 父群ID,4 字节
* 4. 要查询的QQ号,4字节
* 5. 尾部

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


包类型: inDat
命令: 0X0030
名称: 获取群名片应答包(QQ_CMD_QUN_CMD)

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

应答包
* 1. 头部
* 2. 命令类型,1字节,0x10
* 3. 回复码,1字节

  如果回复码是0x00,表示获取群名片成功
      * 4. 父群ID,4字节
      * 5. 被查询的QQ号,4字节
      * 6. 真实姓名长度,1字节
      * 7. 真实姓名,5得到的长度
      * 8. 性别,1字节,0x00 表示男 0x01表示女
      * 9. 电话长度,1字节
      * 10. 电话,8得到的长度  
      * 11. email长度,1字节
      * 12. email,10得到的长度
      * 13. 备注的长度,1字节
      * 14. 备注,12得到的长度
      * 15. 尾部

  如果回复码是0x05,表示查询的用户没有设置群名片
      * 4. 父群ID,4字节
      * 5. 要查询的QQ号,4字节
      * 6. 群名片长度,0x18
      * 7. “用户没有设置群内详细信息”字符串
      * 9. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

Excellent Job, casper
只是, 那个修改群的我分析过了, 就别做重复劳动啦。

我们以后都注意一下, 看看什么已经分析出来,少点重复劳动   

呵呵, 不错, 继续!

TOP

还有什么协议要分析的?是不是只剩下文件传输协议了
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

no, 当获取了一个永久群后,如何知道群内有几个组织?有几个讨论组?
这个个问题不解决,我们就不支持群内的的组织和讨论组了。

注意,在腾讯QQ中, 群内组织和讨论组是分开的, 我还没有时间分析在协议上有什么不同。

TOP

添加删除群讨论组成员协议分析

包类型: outDat
命令: 0X0030
名称: 添加删除群讨论组成员请求包(QQ_CMD_QUN_CMD)

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

添加删除群讨论组成员子命令 0x31

请求包
* 1. 头部
* 2. 命令类型,1字节,0x31
* 3. 创建的临时群类型,1字节,0x02表示讨论组
* 4. 父群内部ID,4 字节
* 5. 讨论组ID,4字节
* 6. 操作方式,1字节,0x01表示添加,0x02表示删除
* 7. 添加或删除的成员QQ号,4字节
* 8. 如果操作多个成员,重复7
* 9. 尾部

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


包类型: inDat
命令: 0X0030
名称: 添加删除群讨论组成员应答包(QQ_CMD_QUN_CMD)

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

应答包
* 1. 头部
* 2. 命令类型,1字节,0x31
* 3. 回复码,1字节
* 4. 临时群类型,1字节,0x01是多人对话,0x02是讨论组
* 5. 父群内部ID,4字节
* 6. 讨论组ID,4字节
* 7. 操作方式,1字节,0x01表示添加,0x02表示删除
* 8. 添加或删除的成员QQ号,4字节
* 9. 如果操作多个成员,重复8
* 10. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

修改群讨论组名称协议分析

包类型: outDat
命令: 0X0030
名称: 修改群讨论组名称请求包(QQ_CMD_QUN_CMD)

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

修改群讨论组信息子命令 0x34

请求包
* 1. 头部
* 2. 命令类型,1字节,0x34
* 3. 创建的临时群类型,1字节,0x02
* 4. 父群内部ID,4 字节
* 5. 讨论组ID,4字节
* 6. 修改的讨论组名长度,1字节
* 7. 修改的讨论组名,6得到的长度
* 8.尾部

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


包类型: inDat
命令: 0X0030
名称: 修改群讨论组名称应答包(QQ_CMD_QUN_CMD)

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

应答包
* 1. 头部
* 2. 命令类型,1字节,0x34
* 3. 回复码,1字节
* 4. 临时群类型,1字节,0x01是多人对话,0x02是讨论组
* 5. 父群内部ID,4字节
* 6. 讨论组ID,4字节
* 7. 尾部
C2.4G/128M/Intel 845G/AC97/Reltek 8139 Windows2000+Magiclinux 1.2 Not Just For Fun !

TOP

有没有关于QQ个性签名的分析呀

TOP

有临时会话的协议分析么?

TOP

个性签名的获取还没有分析, 但是个性签名更改的通知已经实现。 请等待 Eva 0.3.0 , 参考具体内容。

群临时回话,大概分析了一下,没有时间完成。 慢慢来吧。

TOP