qq协议 0825 和 0836 udp 登录包解析_抓包qq登录版本-程序员宅基地

技术标签: udp    网络  网络协议  

参考

0825包参考: https://www.cnblogs.com/mRRRR/p/5288931.html
虽然是2016年的, 但是里面的结构大体还是不变

参考: https://github.com/fa-ge/PCQQ-Protocol
PCQQ协议的实现, 这里面基本都写清楚了, 但是能不能用我还没试过, 最后更新时间为2018年

TEA参考: https://github.com/ColasDAD/Py3QQTEA/blob/master/QQTEA.py
用来解密QQ的TEA加密

QQ版本号参考: https://bbs.kafan.cn/thread-1295613-1-1.html

使用工具:

  • Python, 用来解密TEA, 方便的生成Hex和md5
  • 网页的dev console, 有的时候可能用来做一些杂活, 比如统计hex长度以及replaceAll
  • Wireshark, 网卡抓包, 用来抓qq的udp登录包

概念解释

qq协议中的udp包通常从02这个字节开始, 03这个字节结束, 然后后面紧跟着版本号然后就是命令, 本文以命令的2个字节作为这个包的名称, 比如:0825包的前面就是 023a570825.
下面的协议报文中的..省略号只是为了对齐, 别一起复制进去解密了

udp报文解析

0825 udp 发送包

0825发送包(本机发送)

报文原始数据:
ec4118251291c85acf44cc810800450000bf9143000040110000c0a81f2478e81418f57b1f4000ab6d89023a5708251115731717b40300000001010100006a4b00000000b899860003144579b8da863c1beed200abf0db243954f2e40089ac685f96cf905858602e7c87068d0f3c0cb7b33b17730f79ecd4d22ffdb42b98bb1c261aa2d7055a8a41def93ade17f969335848b41b8a2e671174a6487d81259c1f0b297501b8e542f04bbcc26acb7b5608d966a76ca0e0ca80648b0eee5f28bed43bd07ea12c2342bf092bd92703

hex视图:

0000   ec 41 18 25 12 91 c8 5a cf 44 cc 81 08 00 45 00
0010   00 bf 91 43 00 00 40 11 00 00 c0 a8 1f 24 78 e8
0020   14 18 f5 7b 1f 40 00 ab 6d 89 02 3a 57 08 25 11
0030   15 73 17 17 b4 03 00 00 00 01 01 01 00 00 6a 4b
0040   00 00 00 00 b8 99 86 00 03 14 45 79 b8 da 86 3c
0050   1b ee d2 00 ab f0 db 24 39 54 f2 e4 00 89 ac 68
0060   5f 96 cf 90 58 58 60 2e 7c 87 06 8d 0f 3c 0c b7
0070   b3 3b 17 73 0f 79 ec d4 d2 2f fd b4 2b 98 bb 1c
0080   26 1a a2 d7 05 5a 8a 41 de f9 3a de 17 f9 69 33
0090   58 48 b4 1b 8a 2e 67 11 74 a6 48 7d 81 25 9c 1f
00a0   0b 29 75 01 b8 e5 42 f0 4b bc c2 6a cb 7b 56 08
00b0   d9 66 a7 6c a0 e0 ca 80 64 8b 0e ee 5f 28 be d4
00c0   3b d0 7e a1 2c 23 42 bf 09 2b d9 27 03
解析

qq协议头

0020   .. .. .. .. .. .. .. .. .. .. 0
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40832960/article/details/124856358

智能推荐

pytorch和tensorflow有什么区别?_pytorch和tensorflow的区别-程序员宅基地

文章浏览阅读4.2w次,点赞27次,收藏227次。PyTorch 是一种用于构建深度学习模型的功能完备框架,同时tensorflow也是常用的框架之一。大家在学习的时候,尝尝会用来做比较。那么pytorch和tensorflow有什么区别?大家所关心的问题,解答来了。pytorch和tensorflow有什么区别?创建和运行计算图可能是两个框架最不同的地方。在PyTorch中,图结构是动态的,这意味着图在运行时构建。而在TensorFlow中,图结构是静态的,这意味着图先被“编译”然后再运行。举一个简单的例子,在PyTorch中你可以用标准的Python语_pytorch和tensorflow的区别

docker 常见问题_backing file system is unsupported for this graph -程序员宅基地

文章浏览阅读379次。容器不停 restartingdocker logs [container_id] 查看日志_backing file system is unsupported for this graph driver

eclipse反编译离线安装_eclipse反编译插件离线安装-程序员宅基地

文章浏览阅读435次。反编译安装步骤_eclipse反编译插件离线安装

11-标志寄存器+adc/sbb+cmp+条件转移指令-程序员宅基地

文章浏览阅读1.1k次。CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下三种作用:用来存储相关指令的某些执行结果用来为CPU执行相关指令提供行为依据用来控制CPU的相关工作方式这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。在后面我们将标志寄存器简称为flag。flag和其他寄存器不一样,其他寄存器都是用来存放数据的,都是整个寄存器具有一个含义。而flag寄存器是按位起作用的,也就是说,,_cmp+

android中定时开关机的实现_安卓系统定时开关机app-程序员宅基地

文章浏览阅读1.7k次。关于android自动关机,网上有很多应用程序和例子。 相对于自动开机来说,自动关机可以在应用层通过设置alarm来实现。而自动开机,它需要底层rtc时钟的支持。我自己也没做过这个,不过在网上查到一个自动开机的实现方法。简介我的实现是在设置程序里面增加一个接口,让用户设置自动开关机,这个自动开关机的设置可以参照闹钟的设置。关于自动关机,考虑到关机的时候,用户可能正有一些重要的操作,_安卓系统定时开关机app

pyecharts桑基图制作遇到的问题_桑基图数据过多展示不下-程序员宅基地

文章浏览阅读1.1k次。https://echarts.apache.org/examples/zh/index.html官网实例学习,敲完代码后打开html文件显示空白,是由于绘制的图片内容的source和target对应值相同,解决办法为对target的值加一个空格即可。_桑基图数据过多展示不下

随便推点

论文笔记:A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild-程序员宅基地

文章浏览阅读1.9k次,点赞6次,收藏8次。论文笔记:A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild_a lip sync expert is all you need for speech to lip generation in the wild

解决Android Studio 不自动提示问题_android studio 没有提示-程序员宅基地

文章浏览阅读4.2k次,点赞6次,收藏10次。解决Android Studio 不自动提示问题第一种 :一般是由于Android ButterKnife Zelezny插件导致的,在Settings=>Plugins里卸载掉后File---restart IDE 解决!_android studio 没有提示

HBase中Java操作数据库增删改查——删除数据/删除数据表_删除表的流程代码如下: hbaseadmin admin = new hbaseadmin(cfg)-程序员宅基地

文章浏览阅读1.8k次。已经创建了一个学生宿舍管理系统数据表表名:student_info列族1:students列族2:dormitorys列族3:staff_members例如:删除数据表中行键为001的数据:package myhbase;import java.io.IOException;import java.util.ArrayList;import org.apache..._删除表的流程代码如下: hbaseadmin admin = new hbaseadmin(cfg); if (admin.

【ClickHouse 极简教程-图文详解原理系列】ClickHouse 主键索引的存储结构与查询性能优化..._nodejs操作clickhouse-程序员宅基地

文章浏览阅读1w次。概述这是 Alexey Milovidov(ClickHouse 的创建者)给出的关于复合主键的答案的翻译。原文: https://groups.google.com/g/clickhouse/c/eUrsP30VtSU/m/p4-pxgdXAgAJ问题:主键可以有多少列?存储驱动器上的数据布局是什么?有任何理论/实践限制吗?某些行缺少数据的列可以成为主键的一部分吗?This is......_nodejs操作clickhouse

用unittest做单元测试,编写测试用例详细操作步骤-程序员宅基地

文章浏览阅读3.9k次,点赞5次,收藏13次。废话不多说,具体如下:一、什么是unittest?unittest模块是python自带的一个单元测试模块,我们可以用来做单元测试。unittest模板包含了如下几个子模块:测试用例:TestCase测试集:TestSuit加载用例:TestLoader执行用例:TextTestRunner这四个都是unittest模块中的类,整个单元测试的工作模块,就是这几大类。二、了解了什么是unittest,来编写自己的第一个测试类eg:编写一个数学方法类,类里面有加法以及减法两个函数。代码如

Anaconda 换国内源_conda 换源-程序员宅基地

文章浏览阅读7.4w次,点赞46次,收藏189次。由于国外下载速度太慢,这里就有了国内的一些镜像源进行下载Anaconda 换源清华源在cmd 命令行中,输入添加以下命令(前提是要安装了Anaconda包管理工具)conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda_conda 换源

推荐文章

热门文章

相关标签