安卓某Q协议分析

2023-05-16

直接进入主题

主要数据包

/* renamed from: oicq.wlogin_sdk.request.l */
在这里插入图片描述

抓包数据分析

//oicq.wlogin_sdk.request.request_TGTGT 这个类

tlv18

包数据:
00180016000100000600000000100000000000bc614e00000000
0018 //类型标识为18,24的16进制 固定
0016 //22的16进制 长度   固定
0001 //1 固定
00000600 //1536的16进制  固定
00000010 //第一个参数
00000000 //第二个参数
00bc614e //第三个参数 qq 
0000 //第四个参数
0000 //固定值

tlv1

包数据:
0001001400011631295c00bc614e5cd16264000000000000
0001 // 类型标识,1的16进制 固定
0014 //20的16进制 长度 
0001 //1 固定
1631295c //32位随机
00bc614e //第一个参数 qq 16进制  
5cd16264 //当前系统时间
0000 //固定值
00000000//不足补零

tlv106

包数据:
01060070e3a65aac803c00a2709b9bee365e797c911f14379e0a0b7ac9e5d868fb4755a528f05695905b93f34526f335a22db1604a3670d71fec1abf131c695d613e32d607bcb6d62236e5720a64473afb9fd00bf86d18ee9b77e647eca93df498d5fb6257d6ffc9500726198bed8eb1087bbaac
0106 //类型标识为106(10进制262) 固定
0070 //112 长度 求出来的
后面需要解密
加密算法qqtea 
key = MD5_ (到字节集 (“@”)) + { 0, 0, 0, 0 } + 十六进制文本到字节集 (“00bc614e”))
key = md5(md5(密码) + { 0, 0, 0, 0 } + qq号字节集)
解密前
e3a65aac803c00a2709b9bee365e797c911f14379e0a0b7ac9e5d868fb4755a528f05695905b93f34526f335a22db1604a3670d71fec1abf131c695d613e32d607bcb6d62236e5720a64473afb9fd00bf86d18ee9b77e647eca93df498d5fb6257d6ffc9500726198bed8eb1087bbaac
解密后:
00036937db650000000500000010000000000000000000bc614e5cd162640000000001518ed29525738cebdac49c49e60ea9d3359ae3d0058e68f5a84e36c062329d0300000000017726d5e6a4a16a00aefeb9eb89cfff6420029f53000000010000
分析解密后数据
0003 //固定值
6937db65 //随机四位
00000005 //固定值 5
00000010 // 16 暂不明白含义 第一个参数 j
00000000  // 暂不明白含义 第三个参数 i
00000000  // 暂不明白含义 第四个参数 j3
//
00bc614e //qq  16进制  
5cd1284e //时间
0000000001 //未知
518ed29525738cebdac49c49e60ea9d3//密码md5
359ae3d0058e68f5a84e36c062329d03// TGTKey 
00 00 00 00 01  //
7726d5e6a4a16a00aefeb9eb89cfff64//没有imei就mac地址的md5,E4:58:E7:70:08:2D
20029f53 //appid 537042771 ,16进制
00000001//未知
0000 //未知

tlv100

包数据:010000160001000000050000001020029f5300000000021e10e0
0100 //类型标识为100(10进制256) 固定
0016 //22 固定长度
0001 //固定
00000005 //固定
00000010  //固定
20029f53 //appid 537042771 ,16进
00000000 //固定
021e10e0 //这个参数未知 35524832

tlv107

包数据:01070006000000000001
0107 //类型标识为107(10进制263) 固定
0006 //固定长度
0000 //固定 _pic_type
00 //固定
0000  //固定
01 //

tlv116

包数据:0116000a000001ff7c0001040000
0116 //类型标识为116(10进制278) 固定
000a //求出来的 长度
00
0001ff7c //未知 130940
00010400 //未知 66560
00 

tlv145

包数据:014500107726d5e6a4a16a00aefeb9eb89cfff64
0145 //类型标识为145(10进制325) 固定
0010 //长度
7726d5e6a4a16a00aefeb9eb89cfff64 //imei

tlv154

包数据:0154000400013540
0154 //类型标识为145(10进制325) 固定
0004 //长度
00013540 //this._g._sso_seq 不确定,79168

tlv141

包数据:0141000c000100000002000477696669
0141 //类型标识为141(10进制321) 固定
000c //长度
0001 // this._version=1 固定
0000 // request_global._sim_operator_name
0002 //request_global._network_type 2表示wifi
0004 // 长度
77696669 //wifi 字节集

tlv8

包数据:000800080000000008040000
0008 //类型标识为8
0008 //长度 8 固定
0000 // 0
00000804 // request_global._local_id 2052
0000 //0

tlv147

包数据:0147001d000000100005352e382e300010a6b745bf24a2c277527716f6f36eb68d
0147 //类型标识为147,327
001d  //长度 29
00000010 //appid
0005 //后面长度
352e382e30 // request_global._apk_v 5.8.0
0010 //apk_sig
a6b745bf24a2c277527716f6f36eb68d // 经过md5后,getPkgSigFromApkName 固定

tlv177

包数据:0177000e0155a3232e0007352e342e302e37
0177 //类型标识为177,375
000e  //长度 
01 //
55a3232e//发布时间
0007 // request_global._apk_v 5.8.0
352e342e302e37 //5.4.0.7

tlv187

发包: 018700107726d5e6a4a16a00aefeb9eb89cfff64
0187 //类型标识为187,391
0010 //长度 16
7726d5e6a4a16a00aefeb9eb89cfff64 // E4:58:E7:70:08:2D md5(mac地址)

tlv188

发包: 0188001081ac547f8c712d482cbee108aa1b8b0d
0188 //类型标识为188,392
0010 //长度 16
81ac547f8c712d482cbee108aa1b8b0d // 5bd9580f402f0393 md5(android_id)

tlv202

发包: 02020023001036889c4071ff20b603cb4eb061f7a444000f22616c69626162612d677565737422
0202 //类型标识为202,514
0023 //长度 35
0010 //长度 16
36889c4071ff20b603cb4eb061f7a444//0a:74:9c:9c:2e:5e  md5(bssid_addr)
000f //长度15
22616c69626162612d677565737422 // "wifi名"

tlv109

发包: 01090000
0109 //类型标识为0109,265
0000 //长度0

tlv124

发包: 0124001c0007616e64726f69640005342e342e32000200000000000477696669
0124 //类型标识为0124,292
001c //28
0007 //os_type 长度
616e64726f6964 //android
0005 //os_version 长度
342e342e32 //4.4.2 
0002 //_network_type
0000 //_sim_operator_name
0000 //0
0004 //_apn
77696669// wifi字节集

tlv128

发包: 0128002d0000000100010000000007534d2d5433333000107726d5e6a4a16a00aefeb9eb89cfff64000773616d73756e67
0128 //类型标识为0128,296
002d //长度 不固定
0000 //0
00 //request_global._new_install
01 //request_global._read_guid
00 //request_global._guid_chg
01000000 //request_global._dev_report
0007 //长度
534d2d54333330 //SM-T330 型号
0010// 16 长度
7726d5e6a4a16a00aefeb9eb89cfff64//E4:58:E7:70:08:2D md5 (有imei就是imei的值)
0007 //长度
73616d73756e67// 品牌 samsung

tlv16e

发包: 016e0007534d2d54333330
016e //类型标识为016e,366
0007 //长度 不固定
534d2d54333330 //SM-T330 型号

tlv144

发包: 01440070cad87583316ce56b6b1201d82d42acaac024707f3fd776524c5d5c9e889a4433095ddada91099e1a4e514dc91a5e4b4fc6b839ce643fd4753324e079308147800a30f751c574c593957f31a3603dcd782b359acf7b4d5090a8a203592a10beded2d9f0839d489c289bc45ad251ad7cb1
0144 //类型标识为0144,324
0070 //长度 112
此有数据加密 qqtea
key: 359ae3d0058e68f5a84e36c062329d03 TGTKey
解密后:
0004010900000124001c0007616e64726f69640005342e342e320002000000000004776966690128002d0000000100010000000007534d2d5433333000107726d5e6a4a16a00aefeb9eb89cfff64000773616d73756e67016e0007534d2d54333330
分析:
0004  //get_tlv_144四个参数byte[]都有数据
0109  //tlv-109
0000 //0109中的数据
0124 //tlv-124
001c0007616e64726f69640005342e342e32000200000000000477696669//124中的数据
0128  //tlv-128
002d0000000100010000000007534d2d5433333000107726d5e6a4a16a00aefeb9eb89cfff64000773616d73756e67//0128中的数据
016e //tlv-16e
016e0007534d2d54333330//016e中的数据

tlv142

发包: 0142001800000014636f6d2e74656e63656e742e6d6f62696c657171
0142 //类型标识为0142,322
0018 //长度 不固定
0000 // 0
0014//长度 21
636f6d2e74656e63656e742e6d6f62696c657171// com.tencent.mobileqq _apk_id

tlv16b

发包: 016b001c0002000b67616d652e71712e636f6d000b6d61696c2e71712e636f6d
016b //类型标识为016b,363
001c //长度28
0002
000b//长度 11
67616d652e71712e636f6d//game.qq.com
000b//长度 11 
6d61696c2e71712e636f6d//mail.qq.com

tlv191

发包: 0191000101
0191 //类型标识为0191,366
0001 //长度1
01 //

登录包

整个登录包数据:
0009001300180016000100000600000000100000000000bc614e000000000001001400011631295c00bc614e5cd1626400000000000001060070e3a65aac803c00a2709b9bee365e797c911f14379e0a0b7ac9e5d868fb4755a528f05695905b93f34526f335a22db1604a3670d71fec1abf131c695d613e32d607bcb6d62236e5720a64473afb9fd00bf86d18ee9b77e647eca93df498d5fb6257d6ffc9500726198bed8eb1087bbaac0116000a000001ff7c0001040000010000160001000000050000001020029f5300000000021e10e00107000600000000000101440070cad87583316ce56b6b1201d82d42acaac024707f3fd776524c5d5c9e889a4433095ddada91099e1a4e514dc91a5e4b4fc6b839ce643fd4753324e079308147800a30f751c574c593957f31a3603dcd782b359acf7b4d5090a8a203592a10beded2d9f0839d489c289bc45ad251ad7cb10142001800000014636f6d2e74656e63656e742e6d6f62696c657171014500107726d5e6a4a16a00aefeb9eb89cfff6401540004000135400141000c000100000002000477696669000800080000000008040000016b001c0002000b67616d652e71712e636f6d000b6d61696c2e71712e636f6d0147001d000000100005352e382e300010a6b745bf24a2c277527716f6f36eb68d0177000e0155a3232e0007352e342e302e37018700107726d5e6a4a16a00aefeb9eb89cfff640188001081ac547f8c712d482cbee108aa1b8b0d019100010102020023001036889c4071ff20b603cb4eb061f7a444000f22616c69626162612d677565737422
	分析:
	0009
	0013  //下面tlv个数 19
	00180016000100000600000000100000000000bc614e00000000//tlv18数据
	0001001400011631295c00bc614e5cd16264000000000000//tlv1数据01060070e3a65aac803c00a2709b9bee365e797c911f14379e0a0b7ac9e5d868fb4755a528f05695905b93f34526f335a22db1604a3670d71fec1abf131c695d613e32d607bcb6d62236e5720a64473afb9fd00bf86d18ee9b77e647eca93df498d5fb6257d6ffc9500726198bed8eb1087bbaac //tlv106数据
	0116000a000001ff7c0001040000 //tlv116数据
	010000160001000000050000001020029f5300000000021e10e0//tlv100数据
	01070006000000000001//tlv107数据
	01440070cad87583316ce56b6b1201d82d42acaac024707f3fd776524c5d5c9e889a4433095ddada91099e1a4e514dc91a5e4b4fc6b839ce643fd4753324e079308147800a30f751c574c593957f31a3603dcd782b359acf7b4d5090a8a203592a10beded2d9f0839d489c289bc45ad251ad7cb1//tlv144数据0142001800000014636f6d2e74656e63656e742e6d6f62696c657171//tlv142数据
	014500107726d5e6a4a16a00aefeb9eb89cfff64//tlv145数据
	0154000400013540//tlv154数据
	0141000c000100000002000477696669//tlv141数据
	000800080000000008040000 //tlv8数据
	016b001c0002000b67616d652e71712e636f6d000b6d61696c2e71712e636f6d //tlv16b数据
	0147001d000000100005352e382e300010a6b745bf24a2c277527716f6f36eb68d //tlv147数据0177000e0155a3232e0007352e342e302e37 //tlv177数据
	018700107726d5e6a4a16a00aefeb9eb89cfff64 //tlv187数据
	0188001081ac547f8c712d482cbee108aa1b8b0d  //tlv188数据
	0191000101 //tlv191数据
	02020023001036889c4071ff20b603cb4eb061f7a444000f22616c69626162612d677565737422///tlv202数据
	第一次加密算法
	ecdh share_key: 9ab5c43657d67a5a7d7527b810524b4e
	接着
	ecdh public_key加密
	
返回的二进制数据:
000000e70000000802000000000d32323930383330333025740558ee822a66c96cc86b92c8a5ea5c4da5a7471de7cab49f5a548eea123301c7173ea1e47fdfb5379b182dfb59b16c6761eae51ba3d8dc1a646397bd8e12222cc19315e15b13cab425ecad42eced13daa649e551603e46f052379262f50bfa5bb351eccf5a6cba291db21a17a639f7769a5001194159aa45d220f312bba7b5fe1084000bf700ff312cb016b4dd28abf38dd67e97d667eb3e2defde5165678559a2b5cac55db9aa9c024c62a2111ce549133130c6f7cf74b305ed0ba987076c6a8d594e3dbd9a6caf2fb642894548
	qqtea解密 是 16个字节0
	0000002d0000271000000000000000040000001177746c6f67696e2e6c6f67696e00000008fd438ed700000000000000950200911f410810000100bc614e0000016397ec798e6985a2dd6be5fd70633d1ac3c59cb54f8a67ced87f87fe6da8e54f0857597268637650b6adb7cb07f75d48a193908373295eaeb93ffc355ecbf5c9e643c74ef66c7078d4d0e5f7d7fe8b65d7caa67a60cab731cebd3059824a257bc6ea4db728aae76d445ad439f7a4b2dfe64129141b64ccbc80ea3d37ca1d9fd503
	前面45个字节头
	0000002d  //长度
	00002710 //sso
	00000000 //
	00000004 //
	00000011//长度
	77746c6f67696e2e6c6f67696e //wtlogin.login serviceCmd 
	00000008fd438ed700000000  //未知
	body部分:
	000000950200911f410810000100bc614e0000016397ec798e6985a2dd6be5fd70633d1ac3c59cb54f8a67ced87f87fe6da8e54f0857597268637650b6adb7cb07f75d48a193908373295eaeb93ffc355ecbf5c9e643c74ef66c7078d4d0e5f7d7fe8b65d7caa67a60cab731cebd3059824a257bc6ea4db728aae76d445ad439f7a4b2dfe64129141b64ccbc80ea3d37ca1d9fd503
	00000095//长度
	02 //
	0091 //
	1f4108100001 //
	00bc614e //qq号
	0000 //
	01    // 密码错误  ret 
	qq.shareKey解密(末尾03可有可无)
	余下数据解密
	C0487util.LOGI("use ecdh decrypt_body failed", ""); 
	00090100020146004200000001000ce799bbe5bd95e5a4b1e8b4a5002ae5b890e58fb7e68896e5af86e7a081e99499e8afafefbc8ce8afb7e9878de696b0e8be93e585a5e3808200000000050800220100000bb8001b020000001020029f530810000000010000000000bc614e00000001
	000c //长度
	e799bbe5bd95e5a4b1e8b4a5 //到小写 (删全部空 (Xbin.Bin2Hex (iconv.AnsiToUtf8 (“登录失败”)))) 会多一个字节
	002a//长度
	e5b890e58fb7e68896e5af86e7a081e99499e8afafefbc8ce8afb7e9878de696b0e8be93e585a5e3808200
	//到小写 (删全部空 (Xbin.Bin2Hex (iconv.AnsiToUtf8 (“帐号或密码错误,请重新输入。”))))
	unPack.SetData (bin)
	unPack.GetShort ()
	unPack.GetByte ()
	unPack.GetInt ()
	unPack.GetShort ()
	type = unPack.GetInt ()
	title = iconv.Utf8ToAnsi (unPack.GetBin (unPack.GetShort ()) + { 0 })
	message = iconv.Utf8ToAnsi (unPack.GetBin (unPack.GetShort ()) + { 0 })
	“登录失败” | “帐号或密码错误,请重新输入。

qq841版本登录数据包

在这里插入图片描述

总结

由于时间与精力,这篇文章并非完全产品,仅供学习参考。

参考

TLV格式及编码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安卓某Q协议分析 的相关文章

随机推荐

  • 2022 年 GIS 就业状况

    2022 年 GIS 就业状况 我们生活在数字时代 xff0c 通过进行在线研究选择我们的道路 xff0c 比如选择假期 选择大学或追求职业 如果您正在考虑进入 GIS 领域或在 GIS 领域进一步发展 xff0c 那么这份报告一定会有所帮
  • 在Keyguard锁屏上面可弹出Toast消息的方法

    通过调用toast的getWindowParams方法获取toast的WindowParams xff0c 再设置允许在锁屏之上显示的window flag FLAG SHOW WHEN LOCKED 参考代码如下 Toast mToast
  • vsftpd的参数说明和虚拟用户配置

    vsftpd配置文件详解 1 默认配置 xff1a 1 gt 允许匿名用户和本地用户登陆 anonymous enable 61 YES local enable 61 YES 2 gt 匿名用户使用的登陆名为ftp或anonymous x
  • gradle 插件版本、gradle版本 和buildToolsVersion之间的对应关系

    一 主要概念 1 Gradle是什么 xff1f Gradle其实就是一个构建项目的工具 xff0c 即把一堆堆的目录 文件按照一定的规则关联起来 xff0c 形成一个项目的自动化构建工具 Gradle版本 如 xff1a gradle 5
  • 学神的“诞生”-2014清华大学本科生特等奖学金答辩观后感

    清华的特奖与交大的竢实扬华 偶然间在学堂在线上留意到有这样的一场现场答辩 xff0c 很想知道最高学府的最高荣誉花落谁家 xff0c 得此殊荣的又是些怎样的 学神 xff0c 几点感受记录之 1 经历 gt gt 证书 清华的学生更注重大学
  • nexus3.14.0版本linux环境安装、启动、搭建私库

    本文介绍的是nexus3 14 0版本在linux环境下安装 启动 搭建私库 nexus3以上的版本太新了 xff0c 网上很少介绍安装细节的 据了解和2 X版本有所不同了 1 前提 linux机器上需先安装好jdk xff0c 并且配置好
  • CentOS7安装MariaDB以及编码注意事项

    1 安装并启动MariaDB span class hljs preprocessor 先更新一下 span yum upgrade span class hljs preprocessor 安装 span yum y install ma
  • c++多线程 (生产者消费者问题)

    针对多线程中常见的生产者消费者问题 xff0c 封装了一个类 xff0c 和测试代码 xff0c 方便日后直接套用 具体来说就是多线程使用时候经常遇到的 一个线程取数据 xff0c 一个处理数据 xff0c 一个保存或传递数据 的情况 简单
  • 看技术书籍坚持不下来的,看这里,记录增量学习法

    今天 xff0c 在阅读 软技能 代码之外的生存指南 这本书的过程中 xff0c 学习到了番茄工作法 定额工作法 xff0c 受此启发 xff0c 突然脑海里冒出了一个方法论 xff0c 这是我独创的一个学习方法论 xff0c 我把它称作
  • Android native内存泄露排查总结

    Android开发通常涉及java层 native xff08 c c 43 43 xff09 下的开发 xff1b 内存的泄露也可以分为dalvik和native两种 xff1b java层的通常叫好分析 xff0c 可以借助heapdu
  • 分享一个手游脚本源码

    目的 给大家接触手游模拟脚本的一个样板 xff0c 支持多分辨率适配 脚本功能为批量送体力给好友 xff0c 功能简单 源码 lua span class token comment 版本 span span class token com
  • crackme例子2

    样本 jadx clacSnFuntion jni函数 xff0c ida分析 关键位置函数一片红色 xff0c 可能有动态加解密 如果不分析具体解密算法 xff0c 可内存dump解密后整个so frida如下 xff1a span cl
  • 8本游戏开发书籍推荐

    很多刚刚接触游戏开发的朋友经常问我 xff1a 如何开始学习游戏开发 xff1f 我从事游戏开发行业很多年了 xff0c 坦率地讲 xff0c 开发游戏充满挑战性 xff0c 需要开发人员具备大量的技能与积极的创新精神 希望这篇小文能帮助朋
  • win10编译scrcpy详解

    环境配置 安装MSYS2 安装后打开msys终端 xff0c 运行如下命令 span class token comment runtime dependencies span pacman S mingw w64 x86 64 SDL2
  • windows编译安卓源码记录

    环境 Windows10 43 vmware17 43 ubuntu22 ubuntu环境设置 装完ubuntu系统后拖拽复制文件进去验证vmtools功能情况 xff0c 如果vmtools异常很麻烦 xff0c 试了n多方法 xff0c
  • adb执行多条连续cmd命令

    你可以试一下下面的方法 xff1a 64 echo off echo su gt temp txt echo 其它命令 gt gt temp txt adb shell lt temp txt del temp txt 普通情况 xff0c
  • java代码混淆

    什么是代码混淆 Java 是一种跨平台的 解释型语言 xff0c Java 源代码编译成中间 字节码 存储于 class 文件中 由于跨平台的需要 xff0c Java 字节码中包括了很多源代码信息 xff0c 如变量名 方法名 xff0c
  • nm命令 查看符号文件

    nm命令介绍的很多 xff0c 但大多不介绍其函数符号标志的含义 最近在调试动态库时常用到 xff0c 其中用的最多的用法 nm A grep aaa c 43 43 filt A 为了显示文件 xff0c c 43 43 filt转换为可
  • 把1-9这9个数字按从小到大的顺序排列 ,中间添上“+”和“-“,““,可以计算的结果等于100的程序

    Talk is cheap show me the code 穷举法 计算次数 3 8 61 6561 输出等于100的结果 arr 61 1 2 3 4 5 6 7 8 9 flag 61 34 43 34 34 34 34 34 fun
  • 安卓某Q协议分析

    直接进入主题 主要数据包 renamed from oicq wlogin sdk request l 抓包数据分析 oicq wlogin sdk request request TGTGT 这个类 tlv18 包数据 001800160