|
|
合规提示:
私自抓取encrypt_info、破解 DRM 解密导出付费音频,违反著作权法与汽水用户协议,本内容仅用于网络安全技术学习研究。
一,encrypt_info 是汽水音乐歌曲详情接口返回的DRM 音频解密核心参数组,以 JSON/Base64 加密字符串形式返回,是客户端对加密音频(格式加密体)解密的关键数据源。
作用:存储音频加密规则、密钥获取链路、加密算法标识,没有该字段无法将加密音频还原为标准 MP3/FLAC 裸流。
二,encrypt_info 解码后一般包含 4 类核心子项:
特殊 VIP 字段
VIP 付费歌曲的encrypt_info额外携带auth_token,用于服务端鉴权,过期则密钥接口拒绝下发解密 Key。
三,完整解密链路(客户端原生逻辑)
- 接口拉取:请求歌曲详情 API → 后端返回加密后的encrypt_info(常做 Base64 嵌套加密)
- 本地解码:App 内置密钥解密encrypt_info本体,拿到明文的 alg/key_id/iv
- 密钥请求:携带key_id+设备唯一标识+用户登录token,访问汽水 DRM 密钥服务器(drm.sodamusic.com)申请解密密钥
- 本地解密:使用拿到的 AES Key + iv,按照encrypt_rule分段解密本地缓存的加密音频文件
⚠️ 关键点:解密密钥不随 encrypt_info 下发,必须实时联网向 DRM 服务端申领,这也是离线缓存换设备无法播放的原因。
四、逆向相关要点
- 数据形态:接口返回的encrypt_info大多经过一层 AES 打包,不能直接 JSON 解析,需要先剥离外层加密;
- 设备绑定:key_id关联设备 SN/Android_ID,同一encrypt_info在不同设备无法获取有效密钥;
- 格式区分:免费单曲encrypt_info字段内容精简,部分低码率曲目甚至为空(无加密);无损 / VIP 曲目字段完整、校验严苛。
需要用到流式解密,各位自己研究吧,成品算法就不发了,核心解密参数是encrypt_info
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|