惊!川普遇袭被预测-爬虫逆向学习

惊!川普遇袭被预测

最近美国总统候选人川普,预测被大家广泛关注,其实早在美国知名动漫辛普森一家中有预言;在第七季在辛普森一家预言特朗普遇袭,但是不同的是现实中是耳朵受伤,现在我们就去了解这部动漫的下载

img

网站:aHR0cHM6Ly95aGRtLm9uZS92b2QtcGxheS8xOTk1MzUzMDM4L2VwMTcuaHRtbA==
需要魔法

关键点,m3u8下载

知识准备

M3U8基础

首先,我们需要了解HLS(HTTP Live Streaming)。HLS是由苹果公司提出的基于HTTP的流媒体网络传输协议,而M3U8是HLS协议的重要组成部分,在直播、视频网站等领域应用广泛。

HLS协议规定,视频的封装格式是TS(Transport Stream)。除了TS视频文件本身,HLS还定义了用于控制播放的M3U8文件(文本文件)。HLS的工作原理是将整个视频流分割成一个个小的TS格式视频文件来传输。在开始一个流媒体会话时,客户端会先下载一个包含TS文件URL地址的M3U8文件(相当于一个播放列表),以便客户端下载TS文件。这样可以让用户更方便地选择视频节点播放,提升用户体验,同时提供了加密方式,更好地保护视频内容不被窃取。

M3U8的基本字段包括

  1. #EXTM3U:M3U8文件头,必须放在第一行。
  2. #EXT-X-MEDIA-SEQUENCE:第一个TS分片的序列号,一般情况下是0,在直播场景下标识直播段的起始位置。
  3. #EXT-X-TARGETDURATION:每个分片TS的最大时长。
  4. #EXT-X-ALLOW-CACHE:是否允许缓存。
  5. #EXT-X-ENDLIST:M3U8文件结束符。
  6. #EXTINF:分片TS的信息,如时长、带宽等。
  7. #EXT-X-VERSION:M3U8版本号。
  8. #EXT-X-DISCONTINUITY:表明其前一个切片与下一个切片之间存在中断。
  9. #EXT-X-PLAYLIST-TYPE:表明流媒体类型。
  10. #EXT-X-KEY:是否加密解析,包括加密算法和密钥获取方式。

请求流程

  1. 客户端发起对M3U8的请求,服务器校验完成后下载M3U8文件到本地。
  2. 客户端解析M3U8文件,找到密钥KEY地址并访问获取加密的密钥。
  3. 客户端解析M3U8文件拿到分割文件的大小和对应TS文件地址,并访问获取视频流。
  4. 客户端使用获取的密钥和对应的加密算法对视频流进行解密,播放视频。

重要部分

  • 找到M3U8文件的链接地址。

  • 解析M3U8文件,关注#EXTINF#EXT-X-KEY两个字段。

    • #EXTINF字段中可以获取TS协议流的分段大小信息和视频流下载链接信息。
    • #EXT-X-KEY字段中可以获取TS视频是否加密的信息,如果加密则可以获取对应的加密方式和加密KEY地址。
  • 使用获取的密钥对TS文件进行解密并播放。

M3U8文件的深入解析与应用

在掌握了M3U8的基础知识和请求流程后,我们可以进一步深入了解M3U8文件的结构和应用。

M3U8文件结构

M3U8文件是一个文本文件,按照特定的格式组织。它以#EXTM3U开头,表明这是一个M3U8文件。接下来是一系列的标签,每个标签都以#开头,后面跟着标签名和标签内容。这些标签定义了播放列表的各种属性和分片信息。

M3U8文件的应用

  1. 动态更新:在直播场景中,M3U8文件是动态生成的。随着直播的进行,新的TS分片会不断生成,并添加到M3U8文件中。客户端会定期请求新的M3U8文件,以获取最新的播放列表和分片信息。
  2. 多码率适配:为了适应不同网络环境和客户端设备,同一个直播流可能会生成多个不同码率的分片。M3U8文件可以包含多个不同码率的播放列表,客户端可以根据当前网络环境和设备性能选择合适的码率进行播放。
  3. 加密保护:为了保护视频内容不被非法获取和传播,M3U8文件支持加密分片。通过#EXT-X-KEY标签,可以定义加密方式和密钥获取方式。客户端在播放前需要先获取密钥,并对分片进行解密。
  4. 广告插入:在M3U8文件中,可以通过特定的标签定义广告插入点。当客户端播放到这些点时,会暂停主视频流的播放,并切换到广告视频的播放。这种方式可以实现广告的精准插入和播放控制。

总结

M3U8文件是HLS协议的重要组成部分,它定义了播放列表和分片信息,使得客户端能够方便地获取和播放流媒体内容。通过深入了解M3U8文件的结构和应用,我们可以更好地理解和应用HLS协议,为用户提供更优质、更安全的流媒体服务。

分析过程

打开网页过滤包含m3u8的网址

img

其中有三个m3u8其中第三个是视频文件下载的,其中可以看出
#EXT-X-KEY:METHOD=AES-128,URI=“/20220821/Fq3lNX8A/1500kb/hls/key.key”

他是通过AES-128进行加密,密钥/20220821/Fq3lNX8A/1500kb/hls/key.key

/20220821/Fq3lNX8A/1500kb/hls/fTjZDx2s.ts

#16进制数转ascii码,这个预先生成,最后的0a不要
#hexdump -v -e '16/1 "%02x"' key.key 
strkey=xxxxxxx

#一共有120个小文件
for j in $(seq 0 119)
do
  #echo $j
  iv=$(printf '%032x' $j)
  #echo $iv

  input="./ts/"$j".mp4"
  output="./output/"$j"_out.mp4"
  #echo $input
  #echo $output
  openssl aes-128-cbc -d -in $input -out $output -nosalt -iv $iv -K $strkey
done

#openssl aes-128-cbc -d -in 0.mp4 -out 0_out.mp4 -nosalt -iv $iv -K $strkey

视频后缀fTjZDx2s.ts也进行了加密让你分不清是第几节

接下来直接搜索AES-128,知道这里进行断点

img

这里是得到iv值的地方,进行跟栈找到加密的地方

img这里就是主要调用的地方

img

img

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值