关注微信公众号:K哥爬虫,持续分享爬虫进阶、JS/安卓逆向等技术干货!
文章目录
逆向目标
本次逆向的目标来源于吾爱破解 2022 春节解题领红包之番外篇 Web 中级题,吾爱破解每年都会有派送红包活动(送吾爱币),需要大家使出看家逆向本领来分析内容获得口令红包,今年一共有五个题,一个送分题,两个 Windows 题、一个 Android 题和一个 Web 题,本文分析的正是 Web 题,吾爱有规定活动结束前不要外泄口令、讨论分享分析过程,所以本文在活动结束后才发出来。
此 Web 题题目是:小 D 最爱看的视频网站最近关站了,关站前他用 Fiddler 和 Web Archive 保存了一位主播的视频,但他发现存下来的文件无法播放。你能帮小 D 找回他的回忆吗?(.saz 与 .wacz 任选其一即可解题)
为防止吾爱后期关闭解题通道,K哥将 .saz 和 .wacz 文件保存了一份,可在公众号后台回复吾爱破解获取!
-
活动地址:https://www.52pojie.cn/thread-1582582-1-1.html
-
Web 题地址:https://www.52pojie.cn/home.phpmod=task&do=view&id=17
HLS 流媒体传输协议
本题涉及到 HLS 流媒体传输协议,先简单介绍一下,了解的同志可直接跳过。
HLS 全称 HTTP Live Streaming,即基于 HTTP 的自适应码率流媒体传输协议,是苹果研发的动态码率自适应技术,它包括一个 M3U(8) 的索引文件,若干 TS 视频流文件,如果视频流文件是加密的,那就还会存在一个 key 加密串文件。
M3U8 文件是 M3U 的一种,只不过文件中存储的文本使用 UTF-8 字符编码,在极少数情况下,M3U8 文件可能会以 M3UP 扩展名保存。M3U8 文件是各种音频和视频播放程序使用的播放列表文件,它包含了媒体文件或媒体文件夹的路径或 URL,以及有关播放列表的相关信息。
TS 全称为 MPEG2-TS,TS 即 Transport Stream 传输流,又称 MPEG-TS、MTS、TP,这种格式的特点就是从视频流的任一片段开始都是可以独立解码的。
针对 TS 格式的文件,如果是未加密的,一般的播放器就能够直接播放,也可以使用 FFmpeg 等工具转换为其他格式,FFmpeg 也可以直接处理 M3U8 文件,自动解密合并转换 TS 文件,当然也有其他大佬写好的小工具,拖入 M3U8 文件就直接给你处理好了。
M3U8 文件内容的大致格式示例如下:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-KEY:METHOD=AES-128,URI="https://www.example.com/m3u8.key"
#EXT-X-TARGETDURATION:5
#EXTINF:4.200000,
https://www.example.com/hls/live_00000.ts
#EXTINF:4.166667,
https://www.example.co