豆包
共计 1 篇文章
2026-07-06
记录一下豆包视频去水印的研究过程,以及fallback_api加密数据qAAB开头数据的解密。
起因
朋友丢过来一个链接,问我能不能写个接口,输入豆包的分享链接就返回无水印的视频直链。
需求很明确:部署在 PHP 环境里,访问 ?url=分享链接 就吐 JSON 结果。
听起来像是抖音去水印那一套,心想应该不难。
第一阶段:抄作业
先去 GitHub 上找了一圈,发现有个浏览器js插件,正好是类似效果的。直接拉到本地看源码,核心流程大概是这样:
- 请求 thread 页面的 HTML
- 从 HTML 里提取
fallback_api这个接口地址 - 把这个地址里的参数改成
logo_type=unwatermarked, channel=no, codec_type=8 - 请求修改后的接口,返回的是一段加密数据
- 用 AES-128-CBC 解密这段数据,得到真正的视频直链
加密这块研究了半天。

数据体前面 4 个字节是 qAAB 标记头(0xA8 0x00 0x01 0x00),跳过这 4 字节后是密文。
解密用的 key 和 iv 是从 URL 参数里的 key_seed 派生出来的:先 SHA-512 哈希一次,再拼接一个固定盐值做第二次 SHA-512,前 16 字节是 key,后 16 字节是 iv。
盐值是个写死的十六进制字符串。
第一版写好测试,发现 thread 类型的链接完美工作,拿到了无水印直链。