为什么80%的码农都做不了架构师?>>>   

来自#博客园#文章,七月份的时候突然对QQ协议产生了些兴趣,于是这几个月有空就研究QQ协议,目前对QQ2010的协议已经分析得差不多了。 QQ登录分为UDP和TCP登录,还支持代理登录。默认是UDP登录。UDP登录端口服务器为8000,本地端口一般是从4000开始选择,如果该端口已 经被占用,则加1再测试,一直测试到一个没有被占用的端口。TCP登录服务器一般是80或者443端口,本地端口选择方式和UDP一样。

这些登录方式登录设置里面可以自由选择。但是无论哪种方式登录,其登录流程和数据包格式都是一样。QQ登录时需要进行6次与服务器的交互,每次交互均伴随着登录相关信息的搅浑。QQ登录主要分6步。

1. 0×0091 Touch包

该数据包是QQ客户端登录时发送的第一个包,它的作用在于测试远程服务器是否能够正常响应,根据我们的抓包分析,对于不同的QQ号码段,提供服务的 QQ服务器是不相同的,对于QQ会员有专门的QQ会员服务器。在对QQ客户端的回应包中,如果连接的服务器不对该QQ号码提供服务,它会返回另外一个服务 器地址,让客户端重新连接该地址。

0×0091发送包:

02 1E 07 00 91 5B B8 04 EE D4 E9 02 00 00 00 01
01 01 00 00 64 2F 6A 84 FA 78 CC 16 51 86 A7 B8
1C 55 E8 29 6B C8 50 95 FB 5A CE E8 6C 89 0A C9
83 D0 68 51 DB 6E D1 93 C1 32 11 9B 84 13 EF 7D
4B 55 8C 08 6C F3 F0 5F 11 16 26 E4 00 68 0D 98
02 BC 06 B9 4E E2 03
[
02 //包头
1E 07 //版本号
00 91 //命令
5B B8 //包序号
04 EE D4 E9 //QQ号码:82760937
02 00 00 00 01 01 01 00 00 64 2F //固定,QQ版本号不同则不同
6A 84 FA 78 CC 16 51 86 A7 B8 1C 55 E8 29 6B C8 //0x91密钥
00 01 //固定两字节
00 00 08 04 01 E0 //0091Data01(在后面的命令里面要用到的)
00 00 03 20 00 00 00 01 00 00 0B BF //0091Data02(在后面的命令里面要用到的)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 //首次发送为15字节0
03 //包尾
]

0×0091接收包:

02 1E 07 00 91 5B B8 04 EE D4 E9 00 00 00 C0 EB
D0 BF C5 F9 E1 F2 C9 51 9D 3B 26 07 B5 AD 46 49
49 C4 49 D7 69 36 9E 11 8E 24 2E A1 B3 AB 90 CE
CA 38 C9 99 94 8E 0A 41 03 EB AC E7 C6 BA 34 FD
64 9E E7 4B 3D 24 6F 44 0A 77 80 69 96 91 0C 00
87 6B 51 25 E5 15 9F E3 54 6E B8 C6 1D 5F DE 40
54 BB D8 0C 36 8D 03
[
02 //包头
1E 07 //版本号
00 91 //命令
5B B8 //包序号
04 EE D4 E9 //QQ号码:82760937
00 00 00 //固定全为0
00 //接触成功
4D 16 07 CC //登录时间:2010-12-25 23:03:40
7D 47 C8 04 //登录IP地址:125.71.200.4
00 00 00 00 00 00 00 00 //固定8字节0
00 38 //0091_Token长度:56字节
6E F0 FB 35 5F 8E 65 0F 77 E7 A7 D0 AE 69 8C 4D
EF 43 41 89 BB 79 9C B9 B5 0C 4C 86 5E 8D A0 CB
84 D7 66 69 CF 63 E9 0D 80 48 F4 E6 C1 30 A7 88
7E B0 68 0A E6 8C FC D4
00 //接触成功
03 //包尾
]

2 0x00BA获取验证码

因为部分QQ号码可能存在异地登录,或者QQ号码被盗发送大量垃圾信息,或者用了挂机软件或者挂机网站挂机,腾讯服务器检验到这些非正常的QQ情况时即会要求输入验证码。以下分析我都直接截取QQAnalyzer的分析图片。贴分析代码比较麻烦,关于QQAnalyzer的介绍和下载请看这篇博客:http://www.cnblogs.com/83008911/archive/2010/10/09/QQAnalyzer.html。

0x00BA发送包

0x00BA接收包

3 0x00DD密码验证

该数据包的作用是将本地QQ的密码发送给服务器端进行验证。

0x00DD发送包

0x00DD接收包

4 0x00E5数据校验

该数据包主要用于校验前几个数据包的Token数据,如果通过验证,服务器端会返回本次登录的时间和IP地址等信息。

0x00E5发送包

0x00E5接收包

5 0x00E3数据校验

0x00E3发送包

0x00E3接收包

6 0×0030获取会话密钥

该数据包是QQ登录流程的最后一个数据包,主要用于向QQ客户端返回会话密钥(Session  Key),该会话密钥由服务器端生成,目前不知道其生成算法。但是估计和QQ号码,登录IP,登录时间以及QQ密码有关。

0×0030发送包

转载于:https://my.oschina.net/u/856612/blog/98681

QQ2010协议技术详细分析QQ登陆过程相关推荐

  1. 通过QQ2010协议技术详细分析QQ登陆过程

    来自#博客园#文章,七月份的时候突然对QQ协议产生了些兴趣,于是这几个月有空就研究QQ协议,目前对QQ2010的协议已经分析得差不多了.QQ登录分为UDP和TCP登录,还支持代理登录.默认是UDP登录 ...

  2. 【转】 浏览器分析模拟登陆过程

    原文地址:http://www.crifan.com/use_ie9_f12_to_analysis_the_internal_logical_process_of_login_baidu_main_ ...

  3. 国际版QQ登陆协议的详细分析-工具准备

    关于QQ,我就不般百科了,这里放个传送门,腾讯的东西自己可以去看下 国际版QQ是我的一个朋友告诉我的,她在新西兰给我聊QQ的时候说QQ出了一个QQ International ,并且在一次和老师交流的 ...

  4. 【渗透实战】web渗透实战,相对高安全级别下,详细分析整个渗透过程以及介绍社工的巧妙性,拿一站得数十站,(漏洞已交)

    ''' 版权tanee 转发交流请备注 漏洞已经提交管理员 关键过程的截图和脚本代码已经略去.希望大家学习技术和思路就好,切勿进行违法犯罪的活动.本实战案例仅作为技术分享,切勿在未经许可的任何公网站点 ...

  5. ModbusTCP协议报文详细分析

    ModbusTCP协议分析 ModbusTCP与ModbusUDP的报文格式是一样的,它们之间的区别其实就是TCP与UDP的区别,因此下面就针对ModbusTCP的协议进行分析,ModbusTCP与M ...

  6. html判断cookies ph,【教程】如何利用IE9的F12去分析网站登陆过程中的复杂的(参数,cookie等)值(的来源)...

    在抓取网站内容,模拟网站登陆等过程中: 往往要去分析某些变量,参数,某cookie的值的来源. 而想要分析单个的值,相对于从F12所抓取到的海量信息,即N多条的记录,且每天记录中有N多数据信息,来说, ...

  7. java解析bt协议详解_【转】bt协议的详细分析

    一 BT系统的组成结构 1 普通的Web服务器:        例如Apache或IIS服务器 2 一个静态的种子文件:     即.Torrent文件,采用Bencoding编码 3  Tracke ...

  8. IP协议首部详细分析

    IP协议是我们学习网络协议最开始,也是最基础的协议.那么今天我们主要介绍一下有关于IP协议头格式的基本状态.那么就让我们具体看以下有关于IP协议头格式和Sniiffer Portable的IP头的相关 ...

  9. PID原理的详细分析及调节过程

    本文系转载汇总,仅供学习参考实用,转载链接见结尾 正文开始:这篇文章分为三个部分: PID原理普及 常用四轴的两种PID算法讲解(单环PID.串级PID) 如何做到垂直起飞.四轴飞行时为何会飘.如何做 ...

最新文章

  1. C#调用win32 api程序实例
  2. 【IM】从贝叶斯角度理解生成式和判别式及参数估计方法
  3. pyecharts应用3 Faker函数库
  4. 【ArcGIS风暴】ArcGIS10.6获取栅格影像边界范围的三种方法案例详解
  5. Java 设置文件只读
  6. MySQL的常见命令
  7. 前端抱怨API响应慢,怎么办?
  8. 如何在思科交换机上配置Telnet远程登录
  9. 【宠物领养系统项目】(附源码)
  10. 汇川500et变频器源码,说明书,解析文档等
  11. poi操作ppt创建表格
  12. 硬盘分区无法打开,提示“文件或目录损坏且无法读取”
  13. java calendar时间计算_Java Calendar计算所在时区的时间偏移量
  14. jumpserver
  15. Ubuntu磁盘管理
  16. 作为菜鸟的我,努力学编程就对了——初来乍到篇
  17. 自动生成马斯克的推特几乎无破绽!MIT用GPT-2模型做了个名人发言模仿器
  18. 【电赛】电设校赛常用电路整理
  19. 警惕苏宁电器分期(招行信用卡)陷阱!!
  20. 网络编程(计算机网络相关)

热门文章

  1. 【调剂】南华大学2021硕士研究生招生调剂公告
  2. 一行代码实现呼出热键
  3. 【转】Voip 知识
  4. 基于C#开发的《彩色连珠》小游戏
  5. 经过JDBC毗邻oracle数据库的十年夜才干
  6. 这里是一个有关KiTTY本地化程序 cnKiTTY的简单说明~~
  7. (转载自)章文嵩博士和他背后的负载均衡帝国
  8. 办公套件Office LTSC 2021中文
  9. 基于WiFi的网络授时时钟(带实时天气更新)设计——DIY方案分享
  10. 详细的买卖天猫店铺网店转让步骤