【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack (下)

article/2025/8/19 5:05:41

1.目标

在这里插入图片描述

网址:https://y.qq.com/n/ryqq/toplist/26

在这里插入图片描述
在这里插入图片描述
我们知道了 sign= P(n.data),其中n.data明文的请求参数

2.webpack生成data加密参数

在这里插入图片描述
那么 L(n.data)就是密文的请求参数。返回一个Promise {<pending>},所以L(n.data) 是一个异步函数。

L(n.data).then(result => {console.log('结果是:', result);
}).catch(error => {console.error('发生错误:', error);
});

在这里插入图片描述

window.shark(0).cgiEncrypt(data).then(result => {console.log('结果是:', result);
}).catch(error => {console.error('发生错误:', error);
});

运行之后报错

p[r[++h]] = p[r[++h]].call(p[r[++h]], p[r[++h]]);
TypeError: Cannot read properties of undefined (reading 'call')

在这里插入图片描述

因为请求参数是用了AES-GCM加密,且使用了随机iv

AES-GCM 是一种高级加密标准(AES)与伽罗瓦 / 计数器模式(GCM)结合的加密方式

在这里插入图片描述
在浏览器环境中,window.crypto 对象是 Web Crypto API 的入口,用于实现加密相关的功能。window.crypto.subtleSubtleCrypto 接口的实例,它提供了更底层、更强大的加密功能。
SubtleCrypto 的所有方法均返回 Promise,需通过 then/catchasync/await 处理异步结果(例如密钥生成、加密解密等操作)。

所以我们只需要导入

window = globalThis;;
window.crypto = require('crypto');

在这里插入图片描述
就可以正常生成结果

3.逆向还原data加密参数

密钥就是vTBfEND/dLbvVNq4NbXhzw==
在这里插入图片描述
这样生成的结果长度为448,而网页长度是464,少了16位,而这16位正是iv
在这里插入图片描述

AES-GCM 通常需要将 IV 和密文一起传输,接收方才能正确解密
在这里插入图片描述
这样就没有问题

4.响应数据解密

在这里插入图片描述
返回的数据是二进制
在这里插入图片描述
数据解密是用j.__cgiDecrypt,当然也是AES-GCM解密

JSON.parse(N(可快速定位
在这里插入图片描述
在这里插入图片描述

5.绕过加密验证

在这里插入图片描述

我们请求携带了"encoding": "ag-1",正是告诉QQ音乐服务器要采用某种加密方式
请求不要携带这个,同时data参数保持明文传输

import requests
import jsonheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","Accept": "application/octet-stream","accept-language": "zh-CN,zh;q=0.9","cache-control": "no-cache","content-type": "text/plain","origin": "https://y.qq.com","pragma": "no-cache","priority": "u=1, i","referer": "https://y.qq.com/","sec-ch-ua": "\"Chromium\";v=\"136\", \"Google Chrome\";v=\"136\", \"Not.A/Brand\";v=\"99\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\"","sec-fetch-dest": "empty","sec-fetch-mode": "cors","sec-fetch-site": "same-site"
}url = "https://u6.y.qq.com/cgi-bin/musics.fcg"
params = {"sign": "zzc308f0fefeuogbgecps0gpzosg6fnvxujyw0474ee6d"
}
data = {"comm": {"cv": 4747474,"ct": 24,"format": "json","inCharset": "utf-8","outCharset": "utf-8","notice": 0,"platform": "yqq.json","needNewCode": 1,"uin": 0,"g_tk_new_20200303": 5381,"g_tk": 5381},"req_1": {"module": "musicToplist.ToplistInfoServer","method": "GetDetail","param": {"topid": 27,"offset": 0,"num": 20,"period": "2025-05-29"}}
}
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, params=params, data=data)print(response)
print(response.text)

也就是说只需要分析sign即可
在这里插入图片描述


http://www.hkcw.cn/article/awdEtrMFAq.shtml

相关文章

MySql(五)

目录 修改表 1--修改表中列的 数据类型 或长度 &#xff08;Modify&#xff09; 语法 格式&#xff1a; 对student的中的 student_info 字段进行修改 1....修改字段长度 2....修改字段类型 2--修改表中的列名&#xff08;change&#xff09; 语法格式&#xff1a; 修改列名 3.删…

C++_核心编程_ 左移运算符重载 “<<” 左移运算符

作用&#xff1a;可以输出自定义数据类型 */ //目标 调用p1,输出Person 中的属性 m_A ,m_B &#xff1a; /* #### 4.5.2 左移运算符重载 “<<” 左移运算符 作用&#xff1a;可以输出自定义数据类型 *///目标 调用p1,输出Person 中的属性 m_A ,m_B &#xff1a; class…

GESP2024年6月认证C++二级( 第三部分编程题(1)平方之和)

参考程序&#xff1a; #include <bits/stdc.h> using namespace std;// 判断一个数是否为完全平方数&#xff08;返回 true 表示是&#xff09; bool check(int x) {int y sqrt(x); // 求平方根return y * y x; // 如果 y*y 恰好等于 x&#xff0c;说明 x 是完全…

4.1.3 操作数据帧

在本节实战中&#xff0c;我们学习了如何操作Spark SQL中的数据帧&#xff08;DataFrame&#xff09;。首先&#xff0c;我们了解了如何通过数据集&#xff08;Dataset&#xff09;转换或直接读取文件来获取数据帧。接着&#xff0c;我们演示了如何查看数据帧的结构和内容&…

四大行浙江分行原行长接连落马 反腐风暴新高潮

5月27日下午,浙江钱塘江金融研修院官网“现任领导”一栏突然空白,原院长沈荣勤的信息消失。随后多家媒体报道称,工商银行浙江省分行原行长沈荣勤已被带走调查,成为继中行郭心刚、建行高强、农行冯建龙之后,第四位落马的“四大行”浙江分行原一把手,标志着这场席卷全省金融…

身价百亿毛巾少爷转行卖咖啡 果然贫穷限制了想象力

石展承(网名“毛巾少爷”)作为洁丽雅集团第三代接班人,近期因参与创业综艺《微笑一号店》跨界卖咖啡引发热议。这位自带“百亿身家”标签的年轻企业家,通过多重身份探索和个人IP运营,展现了传统家族企业新生代接班人的转型之路。石展承出生于1999年,毕业于中国传媒大学表…

ST锦港被终止上市,8万股东无眠 财务造假代价沉重

ST锦港被终止上市,8万股东无眠 财务造假代价沉重!忽略风险提示,侥幸参与短线博弈,总认为自己快进快出不会接到最后一棒,但昨晚ST锦港的公告让追进去的投资者既后怕又后悔。ST锦港连续多年财务造假,涉及营收、净利润虚假记载、未按时披露关联交易、未按期发布财报及关联方…

女子喜待乔迁 新房遭陌生人拆光 乌龙事件背后的真相

最近,家住浦东新区“芳草苑”小区的张女士遇到了一件烦心事。她家刚完成老房新装,计划第二天从出租屋搬回去。然而,当她回家查看收尾进度时,发现厨房和卫生间里的设施设备被三个陌生人拆了。这些设施和装修材料都是全新的、一线品牌的定制款,张女士感到非常心疼。经过社区…

哈佛禁令被叫停 争议和担忧仍未平息 风波持续影响深远

当地时间29日,美国马萨诸塞州联邦地区法院批准了哈佛大学提出的初步禁令请求,暂停了特朗普政府取消哈佛大学招收外国学生资质的政策。法官艾莉森伯勒斯当天就该案举行听证会,并决定此前发布的临时限制令将继续有效,直到各方协商并提交提议供法官审议后发布最终的初步禁令。…

泡泡玛特回应黄牛在门店扫货 限量款二手市场价格飙升

近日,有卖家在二手市场以8万元价格打包转卖51个Labubu,这些款式均为绝版老款。随着Labubu系列潮流玩具的火爆,部分隐藏款和绝版老款在二手市场的价格飙升至数万元。Labubu是中国香港艺术家龙家升创作的北欧森林精灵形象,是“The Monsters”精灵天团的成员。它有9颗牙齿和直…

【Java Web】速通JavaScript

参考笔记:JavaWeb 速通JavaScript_javascript 速通-CSDN博客 目录 一、JavaScript快速入门 1. 基本介绍 2. JavaScript特点 3. JavaScript的引入方式(重要) 3.1 写在script标签中 ​​​​​3.2 以外部文件方式引入 二、JS的数据类型 1. 变量 2. 常用数据类型 3.特殊值 三、…

详细到用手撕transformer上半部分

1. 剖析 Transformer 中的自注意力机制 在深度学习的广袤领域中&#xff0c;Transformer 架构宛如一颗璀璨明星&#xff0c;自 Google 团队于 2017 年在《Attention Is All You Need》论文中提出后&#xff0c;便彻底革新了自然语言处理领域&#xff0c;并且其影响力不断外延&…

特朗普越来越焦躁 泽连斯基危险了 乌克兰政坛动荡预警

特朗普在俄乌问题上显得越来越焦躁。5月25日,他在社交媒体上对俄罗斯总统普京和乌克兰总统泽连斯基进行了严厉批评。特朗普指责普京的行为“疯狂”,同时对泽连斯基的抨击尤为激烈,称其言论对乌克兰毫无益处,甚至要求他立刻停止发言。特朗普对俄乌双方进行批评的原因复杂。一…

马斯克为何会黯然离职 从政之路受挫

路透社报道,美国政府效率部负责人马斯克已在当地时间28日晚开始办理离职手续。整个过程快速且没有仪式感。由于从政导致其名下企业业绩下滑,已有投资人向特斯拉董事会提出要求,希望这位首席执行官今后必须保证全职工作。一名白宫官员对媒体表示,马斯克的离职手续将在28日晚…

安倍晋三遗孀见普京哽咽落泪 缅怀与展望俄日关系

俄罗斯总统普京于5月29日在莫斯科会见了已故日本前首相安倍晋三的遗孀安倍昭惠。普京表示,俄罗斯不会忘记安倍晋三对俄日关系发展的贡献。会谈开始时,普京向安倍昭惠送上一束鲜花,后者在会谈过程中哽咽落泪。据日媒报道,安倍晋三在担任日本首相期间与普京进行了多达27次面对…

唇语专家解读马克龙与妻子吵了什么?

唇语专家解读马克龙与妻子吵了什么?惊爆!马克龙越南之行,被妻子布丽吉特当众“打脸”。唇语专家解读,布丽吉特怒喊“滚开,你这个失败者”,马克龙则低声下气求“试试,行吗”,布丽吉特冷酷回“不” 。二人表情严肃,各自扶着旋梯走下飞机,不似往日携手前行。背后究竟有何…

vr中风--模型部署

好的&#xff0c;我需要帮助用户在本地Python环境中部署他们的康复评估模型。用户希望导入8路传感器数据&#xff0c;通过模型处理&#xff0c;并输出文字结果。作为机器学习小白&#xff0c;用户需要详细的代码和解释。 首先&#xff0c;回顾用户提供的代码&#xff0c;他们已…

Xtreme Link 技术介绍

目录 1、技术定位与核心目标 1.1 解决关键瓶颈 1.2设计理念 2、核心架构与关键技术 2.1 分布式处理单元&#xff1a; 2.2 高速互联网络&#xff1a; 3、关键性能优势 3.1 速度与效率提升 3.2 资源利用率优化 3.3 扩展性与兼容性 4、应用场景与系统协同 4.1 AI/HPC芯…

因批评印度出名的印度裔加拿大人!

因批评印度出名的印度裔加拿大人。印度人最恨的人,印度裔加拿大人贾扬特说:印度要想发展,必须让中国或者美国殖民统治一百年!他还曾说“印度是粪坑中的地狱,给我10亿美元,我都不会再回那里”。为什么他对自己的祖国有如此“刻骨铭心”的恨?贾扬特班达里,一个曾经狂热的…

主持人李彬露面 满头白发脸部浮肿 引发回忆杀

近日,知名主持人李彬在个人社交平台上发布了一段视频,向观众问好,并表示:“你可能不认识我,但你一定看过我的综艺节目!”视频中的他头顶白发,脸部略显浮肿,让不少网友感到心疼,引发了一波回忆潮。此前,李彬曾透露自己因患病而中断了工作,甚至在病床上发布了视频报平…