本文不是技术贴,想找现成的分析好的协议的人建议别往下看,要找可以去伟大的Luma那看SDK,自从一年前粗略的写了下2006的登录过程分析后,短时间内翻版无数,而且都比原版销量好的多-_-#,更有甚者引用不带作者出处也就算了,还引用一篇老版本的有bug的文章,导致我邮件不断,艾,麻烦。。。
其实只要了解QQ协议的框架,无论版本怎么变化升级,分析分析就能得出结果的:),幸好除了QQDebuger外我还有一个自动协议分析工具^_^方便自己抓包分析
2007多了个0x91,TouchServer来判断服务器是否接受连接,以前是放在0x22里,这样第一步就是确定服务器,难怪登录速度变快了
之后接了一个请求ServerToken的包0x62,才是请求LoginToken,LoginToken里可能会返回需要验证码,以前是1个包,现在图片变大了,需要2个包来发送,每个包里有个ImageToken和NextImageToken。
得到Token之后不是立刻请求登录(0x22)了,而是先验证密码0xDD,确实先进了一点,验证包里夹了个密码验证字串0x20,是md5(pass)+random,还一个未知的0x14,随便填充就行,剩下的几个字节和密码有关。验证完成之后就是硕大无比的登录包了。里面有很多某台机器固定而不同机器不同的数据包,意思不名。。。
登录上去了测试了下老协议哪些能用哪些不能用了,发送消息还是兼容的,但是接受不到好友消息了,可以接收群消息,一些普通包如天气预报,等级似乎没变,下载好友信息好像不能用了,添加好友删除好友什么的还没测试,暂时就做了这么多了。