LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3004|回复: 15

QQ2006正式版登陆包分析以及困惑,登陆数据包的加密方式变了么?

[复制链接]
发表于 2007-1-21 00:38:48 | 显示全部楼层 |阅读模式
QQ登陆包如下 (QQ号略去,UDP以及其他协议的协议头全部去除,只剩下UDP的数据区)
02 0f 5f 00 91 00 00 XX XX XX XX 16 25 7f 8b 0d c6 4a 66 09 67 ee 2b eb 72 fb b9 49 cb d1 1b dc 13 63 35 53 90 47 14 e4 a9 af af 62 10 ad 37 8e ff 49 53 c7 4f 1b ca 07 98 50 b3 03

分析如下:
02 (包开始)

0f 5f (版本号, QQ2006正式版)

00 91 (登陆命令,似乎不是0xba,而是0x91...?是不是加密算法有变化?)

00 00 (序列号)

XX XX XX XX (QQ号,我在此略去)

16 25 7f 8b 0d c6 4a 66 09 67 ee 2b eb 72 fb b9 (随机密钥)

49 cb d1 1b dc 13 63 35 53 90 47 14 e4 a9 af af 62 10 ad 37 8e ff 49 53 c7 4f 1b ca 07 98 50 b3  (密文)

03 (包结束)

我用这个密文和密钥用TEA算法反向解密为什么总是得到00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (15组0),我抓了好几组登陆包,当然登陆密钥每次都不同,应该密钥是随机的,但是反向解密的结果始终是上面这15组0.

但是我用这15组0和密钥再加密,似乎结果是不定的,可以有无数组结果.

请问有人知道是怎么回事么?有没有人也在研究QQ登陆协议的朋友?
发表于 2007-1-22 13:45:26 | 显示全部楼层
从你分析的情况来看,0x91可能不是登陆命令,具体是什么我也不知道。。不知道是不是新加的命令。

希望lz再研究研究
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-22 13:49:04 | 显示全部楼层
可是这是QQ2006正式版的第一个发出的包啊,我测试过很多次了.都是这样的.

而且我看了LumaQQ的登陆部分的代码,它好像用的不是QQ2006的协议阿,好像是2005的阿.只是界面变成2006版,这样的话腾讯一旦不支持2005了,或者要求强制升级了,就没法用了.
回复 支持 反对

使用道具 举报

发表于 2007-1-22 13:54:08 | 显示全部楼层
是的。所以前一阵子上不去。不过很多qq2005正式版的用户也上不去,tencent 又回复支持 qq2005了,

所以研究qq2006新协议是有必要的
回复 支持 反对

使用道具 举报

发表于 2007-1-22 13:54:15 | 显示全部楼层
是的。所以前一阵子上不去。不过很多qq2005正式版的用户也上不去,tencent 又回复支持 qq2005了,

所以研究qq2006新协议是有必要的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-22 14:15:20 | 显示全部楼层
有没有人有兴趣一起研究呢?关于解密这块好像我的知识储备不够.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-22 14:16:23 | 显示全部楼层
最好需要懂汇编的人,把QQ反汇编出来跟踪一下,看看登陆的时候怎么处理的.
回复 支持 反对

使用道具 举报

发表于 2007-1-22 14:49:52 | 显示全部楼层
汇编我不懂。赫赫
回复 支持 反对

使用道具 举报

发表于 2007-1-22 15:40:01 | 显示全部楼层
小心哦,反汇编有可能犯法
回复 支持 反对

使用道具 举报

发表于 2007-1-26 15:12:54 | 显示全部楼层
Post by qhgary
QQ登陆包如下 (QQ号略去,UDP以及其他协议的协议头全部去除,只剩下UDP的数据区)
02 0f 5f 00 91 00 00 XX XX XX XX 16 25 7f 8b 0d c6 4a 66 09 67 ee 2b eb 72 fb b9 49 cb d1 1b dc 13 63 35 53 90 47 14 e4 a9 af af 62 10 ad 37 8e ff 49 53 c7 4f 1b ca 07 98 50 b3 03

分析如下:
02 (包开始)

0f 5f (版本号, QQ2006正式版)

00 91 (登陆命令,似乎不是0xba,而是0x91...?是不是加密算法有变化?)

00 00 (序列号)

XX XX XX XX (QQ号,我在此略去)

16 25 7f 8b 0d c6 4a 66 09 67 ee 2b eb 72 fb b9 (随机密钥)

49 cb d1 1b dc 13 63 35 53 90 47 14 e4 a9 af af 62 10 ad 37 8e ff 49 53 c7 4f 1b ca 07 98 50 b3  (密文)

03 (包结束)

我用这个密文和密钥用TEA算法反向解密为什么总是得到00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (15组0),我抓了好几组登陆包,当然登陆密钥每次都不同,应该密钥是随机的,但是反向解密的结果始终是上面这15组0.

但是我用这15组0和密钥再加密,似乎结果是不定的,可以有无数组结果.

请问有人知道是怎么回事么?有没有人也在研究QQ登陆协议的朋友?


登入 是 00ba, 不是 0091 ..
抓 00ba 的包来分析吧 ..
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表