- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
QQ2007Bate3协议分析
——登录认证篇
作者:charytang
联系方式:Email: runtang@ QQ:3398171
创建时间:2007年7月31日星期二
1.????? 说明:
本文以QQ2007Bate3版本(0x1051)为例,介绍QQ2007的登录认证过程与之前版本的变化。本文是以学习为目的的技术研究,不涉及任何商业利益。任何企业和个人与此文有关的商业行为,请与腾讯公司联系。
本文的协议分析过程为黑盒方式,必然会存在不准确的地方,故仅供读者参考。同时,本文借鉴了很多互联网中流传的技术资料,在这里就不一一列举!
转载请注明出处!
2.????? 名词解释:
本文使用到以下名称,在这里解释一下,方便读者理解
名称 描述 临时密钥 即可以在数据包中直接提取的加密密钥,一般是数据段的前16Bytes。 密码密钥 QQ密码,经过两次MD5散列后的16Bytes字符串 会话密钥 登录认证成功后,协商出的密钥(16Bytes),用于后续报文解密使用。 C?S 表示从客户端发向服务器端的报文 S?C 表示从服务器端发向客户端的报文 MD5 一种不可逆的散列算法,详细资料问google TEA 一种简单(微型)加密算法,QQ的主要加密方法,详细资料还是问google B3 指QQ2007Bate3版本
3.????? 与之前版本比较:
在B3(好像B2就变了,但没分析)中,登录认证过程发生了较大变化。主要是将密码验证的过程提前在0xdd中完成,之前版本应该是在0x22中完成。同时0x22(C?S)不再是简单的临时密钥加密,而是在0xdd(S?C)中产生密钥,这个包可是密码密钥加密的哦:)
2007Bate1及之前版本 QQ2007 Bate3版本 命令 方向 功能 解密 功能 解密 key 0x91 C?S 找服务器 临时密钥 找服务器 临时密钥 前16Bytes S?C 找服务器 临时密钥 找服务器 临时密钥 使用上面的 0x62 C?S 请求登录令牌 未加密 请求登录令牌 未加密 - S?C 响应登录令牌 未加密 响应登录令牌 未加密 - 0xba C?S 请求登录令牌 临时密钥 请求登录令牌 临时密钥 前16Bytes S?C 响应登录令牌 临时密钥 响应登录令牌 临时密钥 使用上面的 0xdd C?S 无 密码验证 临时密钥 前16Bytes S?C 无 响应密码验证 密码密钥 MD5(MD5(PW)) 0x22 C?S 登录请求 临时密钥 登录请求 临时密钥 在0xdd S?C 包中 S?C 登录响应 密码密钥 登录响应 密码密钥 MD5(MD5(PW))
4.????? 原始数据包结构:
与之前版本基本没有变化,如下:(UDP承载情况,TCP自己分析去吧,差不多!)
C?S:
字节 描述 0 0x02,报文开始 1-2 版本号,如2007B3为(0x1051) 3-4 命令 5-6 序列号 7-10 QQ号 11-N 数据段,基本是加密的 N+1 0x03,报文结束 S?C:
字节 描述 0 0x02,报文开始 1-2 版本号,如2007B3为(0x1051) 3-4 命令 5-6 序列号 7-N 数据段,基本是加密的 N+1 0x03,报文结束 原始数据包的构成基本与原来的版本一致,但略有不同。目前发现在0x22、0x18命令时会在数据段前增加一些结构数据,后文分析。
5.????? 数据包分析
下面只分析数据段的内容,其它不提了。
5.1.??? 查找服务器 0x91
此过程客户端会向多台服务器发送查找服务器请求,每个服务器响应是否会接受此连接,如果不接受则返回重定向的IP。
5.1.1. C?S:
原始数据段为0x30字节,其中前0x10为key(临时密钥),后0x20为密文数据。
初始客户端会发送 15个0x00,作为尝试连接。
后续的请求解密后格式如下
00 01 01 00 00 00 03 00 00 00 00 3a 3c 0e 21
后4Bytes指出从哪个服务器IP定向来的。
5.1.2. S?C:
密钥使用C?S时的临时密钥。
返回数据分为两种:
密文长度为0x20字节,解密后如
00 01 01 00 00 00 03 00 00 00 00 3a fb 3f 39
开始的00 01 应该表示此服务器不接受连接,指向下一服务器(后4Bytes为 IP)。
密文长度为0x10字节,解密后如
00 00
表示此服务器成功接受连接,不再重定向。
[注:可能会有多个服务器接受连接,客户端一般会选择第一个成功接受的服务器]
5.2.??? 请求登录令牌(一)
您可能关注的文档
- A1包、通风空调系统.doc
- ACE90魔术社2015——2016学年度.doc
- B1包、高清云录播系统及监控.doc
- BIT-2016-ZHB078号.doc
- ChoosingAtriumLightinginthenewGraduateSchoolof.ppt
- CL-P204萃淋树脂对溶液中钒的吸附性能研究.doc
- CrossEvaluationofProposedPHYStructuresfortheIEEE.ppt
- DesigningandBuildingaResults-BasedMonitoringand.ppt
- dāngdàizhōnɡwén当代中文.ppt
- dānɡdàizhōnɡwén当代中文.ppt
最近下载
- 小学生心理健康教育主题班会教案.docx VIP
- 糖尿病入院记录模板.docx VIP
- soap病历中医的书写课件.ppt VIP
- V90伺服驱动器与S7-1200通过FB284进行PROFINET通信的具体方法和步骤(非常详细).docx VIP
- 体育教学论:体育教学过程PPT教学课件.pptx VIP
- DB61_T 1741-2023 矿山生态监测规范.doc VIP
- 2025年广东省湛江市中考物理试题(含答案解析).pdf VIP
- 数字技术赋能基层社会治理研究.docx VIP
- 高考语文一轮复习-- 辨析修改语序不当、搭配不当病句——抓住病症,找出病因.doc VIP
- 北京市中国人民大学附属中学2025届高三年级10月质量检测练习化学试卷+答案.pdf VIP
文档评论(0)