破解某网站m3u8视频资源
背景
某个视频教学网站资源即将超过有效期,因此尝试将网页上的视频下载到本地。
过程
1. 登录验证
这部分非常简单,模拟提交登录表单,并及时保存对应的Cookie即可
2. 视频播放流程
这个网页上使用了一个Flash播放器,然后通过该Flash文件读取m3u8文件进行播放。
HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,m3u8,是HTTP Live Streaming直播的索引文件。该文件包含了这个视频的一系列视频分片,Flash播放器或者
1 | #EXTM3U |
m3u8内容如上所示,解析时一般是根据EXT-X-KEY
中的METHOD
的加密方法和URI
链接下载密钥内容,最终结合IV
解密后续的分片url。
3. 变种
上述是正常的播放过程,但是对该网站解析时却失败了,解密出来的结果却不是正常的视频,多次尝试后,唯一的剩下的可能性便是这个Flash播放器采用了变种HLS协议。
使用ffdec打开下载得到的Flash播放文件,阅读其中的代码,果然并非标准的HLS协议。