从TS切片推理M3U8 → 识破假Key → 解密合并成MP4
哈喽大家好,
今晚分享一次实操经历:在电脑上抓取夜神模拟器里一款短视频APP的数据包,从TS切片、推理M3U8,到识破假密钥、解密合并成MP4的全过程。
纯实战记录,适合喜欢研究网络、爬虫、抓包的朋友参考。
🔧 一、环境准备
本次实操用到的全部工具:
- 电脑主机
- 夜神模拟器
- Xposed 框架
- 绕过SSL证书校验模块
- 电脑端抓包工具:Charles
所有工具配置完成后,就可以在电脑上正常抓取模拟器内部APP的全部HTTPS网络请求。
📦 二、抓包分析:只抓到TS切片,全程看不到M3U8地址
打开夜神模拟器里的短视频APP,正常刷视频,电脑上的Charles抓包工具就能捕获到APP所有的网络请求。
全程抓包下来,完全搜不到、也看不到任何M3U8索引文件地址,抓出来的只有大量视频TS切片地址。
每一个TS切片链接后面,都带着一长串key校验参数,平台刻意隐藏了核心的M3U8播放索引,不让直接获取。
💡 三、靠多年爬虫经验,手动试出真实M3U8地址
我平时经常爬虫测试B站和各类视频网站,长期抓M3U8视频,早就摸透了视频地址的通用规律。
大多数视频平台的M3U8地址,都带有index、视频专属编号这类固定特征,很好分辨。
我观察这款APP的TS切片链接后,一眼就能判断:链接后面一长串
?key=内容,只是平台的临时校验参数,不是视频真实路径。我按照经验手动修改地址,三步就试出了M3U8:
- 删除TS链接里面
?key=后面所有校验内容 - 删掉链接结尾的
_0.ts后缀 - 最后手动改成
.m3u8后缀
修改完成后,访问地址直接成功获取到完整的视频M3U8索引文件。
🧪 四、踩坑遇假Key,反复测试找到真实解密密钥
成功拿到M3U8文件后,里面包含三项核心内容:
- 所有视频TS切片列表
- EXT-X-KEY视频加密标注信息
- 加密密钥访问地址
我一开始请求密钥地址,拿到的是平台刻意设置的假Key,根本无法解密视频。
后面我反复对比多个地址、多次测试排查,终于找到真实可用的M3U8文件,以及能正常解密视频的真实AES密钥。
🐍 五、Python代码实操:解密下载+合并完整MP4视频
拿到真实M3U8和有效解密密钥后,用Python执行全套处理流程:
- 请求并解析真实M3U8文件
- 批量批量下载所有加密TS视频切片
- 使用真实AES密钥逐一对TS切片解密
- 按视频原有顺序合并所有解密后的切片
- 最终生成完整、可直接播放的标准MP4视频
全程自动处理,最终成功解密合成无水印、画质完整、正常播放的成品视频。
✅ 六、个人实操总结
- 很多短视频APP都会隐藏M3U8地址,只能靠TS切片规律手动推理获取
- TS链接后面的key参数都是临时校验用,删掉不影响正常视频解析
- 平台普遍会设置假M3U8、假Key防抓包,需要耐心排查真实资源
- 目前短视频加密基本都是AES加密+M3U8+TS切片通用方案
- 只要能成功抓到网络数据包,就能解析下载各类加密短视频
夜雨聆风