三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

某云音乐平台 Web API 加密分析:`params` 与 `encSecKey`

某云音乐平台 Web API 加密分析:`params` 与 `encSecKey`

更多内容请见: 《爬虫和逆向教程》 - 专栏介绍和目录

文章目录

    • 1. 背景概述
    • 2. 逆向分析思路
      • 2.1 抓包确认特征
      • 2.2 源码定位
      • 2.3 验证方法
      • 2.4 常见陷阱
      • 2.5 关键符号
    • 3. 请求拦截与 weapi 流程
    • 4. asrsea 加密核心逻辑
      • 4.1 设计意图
    • 5. AES 与 RSA 算法细节
      • 5.1 AES 参数
      • 5.2 RSA 参数
    • 6. Emoji 密钥映射与常量
    • 7. HTTP 请求与数据形态
    • 8. Python + PyExecJS 调用
      • 8.1 环境
      • 8.2 构建最小 JS
      • 8.3 调用示例
      • 8.4 常见报错
    • 9. requests.post 实战
      • 9.1 配置 Cookie
      • 9.2 命令行
      • 9.3 Python 模块
      • 9.4 常用接口
    • 10. Cookie 与常见问题
      • 10.1 Cookie 要点
      • 10.2 FAQ
      • 10.3 说明

本文仅供技术研究学习。请遵守用户协议,勿用于批量爬取、撞库等违规行为,合理控制请求频率。

1. 背景概述

某云 Web 端对/api/*请求统一加密,明文 JSON 不再直接传输,改为 POST 提交两个字段:

字段含义格式
params双重 AES 加密后的密文Base64(CryptoJS OpenSSL 格式)
encSecKey随机 AES 密钥经 RSA 公钥加密256 位 hex 字符串

服务端用 RSA 私钥解密encSecKey得到随机密钥secKey,再逐层 AES 解密params还原 JSON。这是典型的混合加密:AES 处理大量数据,RSA 安全传递短密钥。

路径同时从/api/变为/weapi/,Method 固定为 POST,Body 为application/x-

← 返回列表