吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12545|回复: 66
收起左侧

[Web逆向] 分析某视频网站将 HLS 流伪装成图片以隐藏视频源

  [复制链接]
rettrey 发表于 2021-7-14 11:42
最近在某一视频网站发现一部想看的电影,不想在线看而是下载下来有空慢慢观赏,于是尝试打开 chrome inspector 抓源, 但是打开后播放视频,却没有 Media 请求,不断增长的只有一些 png 格式的请求,而这些 png 图片打开后只有一个中间一个像素白点,并不像是有效的图片文件。

image.png
image.png


于是继续在 network 面板寻找“可疑”请求, 比如fetch或者xhr,发现一个 fetch 请求的数据是像压缩或者加密过的二进制乱码而不是明文

image.png

点开这个请求的 initiator,看到了我们想看的东西:
image.png

这里可以看出这个请求是用来获取 hls流 的 index 文件的, 格式是 application/vnd.apple.mpegurl ,而且可以看出response payload 的 String 是 被 gzip压缩过的,解压缩过后,可以看出是标准的 m3u8 文件格式:

image.png

而我们上面说的只有一个白点的 png 文件地址全都存放在这个 index文件中

这里我想起来之前论坛说的 批量修改 ts 文件后缀 为 png 上传公共图床的帖子,我下载了其中一个 png 文件下来 ,用Linux hexdump 命令查看文件头,发现确实有 png 文件头,说明不是简单改个后缀名完事的。 但是, 之后的内容就非常可疑了, 很类似 MPEG-TS 文件的packet格式

image.png

作为对比, 下面是一个标准的 mpeg-ts 文件头:
image.png

可以看到 png 文件除了开头的 212 字节以外, 其他都是符合 ts 文件的格式的,于是尝试 dd 命令删掉前面 212 字节:  
dd if=0.1 of=output.ts bs=4 skip=53


打开 output.ts 文件,可以正常播放, ffmpeg 查看也是标准 mpegts 文件:

image.png

image.png

对于其他的 png 文件,发现也是同样的有 212 bytes 的无效headers,去掉之后同样可以播放。

总结: 所以网站是给 ts 视频文件添加 长度为 212 bytes 的文件头,把它伪装成 png 格式 ,然后客户端再以 二进制处理这个文件,去掉开头的 212 bytes,还原成标准的 ts 文件后,再在播放器里播放。

免费评分

参与人数 23威望 +1 吾爱币 +40 热心值 +19 收起 理由
Richex + 1 感谢分享
fengruohantian + 1 + 1 用心讨论,共获提升!
ZainFelice + 1 用心讨论,共获提升!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
0龙小龙0 + 1 + 1 用心讨论,共获提升!
波波维奇 + 1 + 1 用心讨论,共获提升!
Dom-Lewis + 1 + 1 用心讨论,共获提升!
蜀生 + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
韩小邶 + 1 + 1 用心讨论,共获提升!
遇日不归 + 1 + 1 我很赞同!
北冥鱼 + 1 + 1 我很赞同!
gjdir + 1 + 1 谢谢@Thanks!
灵魂歌手 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ZeroWong1919 + 1 + 1 谢谢分享,多了一种思路。
iYoloPPD + 1 谢谢@Thanks!
zhuzhuxia111 + 1 + 1 我很赞同!
Quincy379 + 1 + 1 谢谢@Thanks!
MockingJay + 1 用心讨论,共获提升!
某些人 + 1 + 1 谢谢@Thanks!
xzl9552547 + 1 我很赞同!
xyl52p + 1 我很赞同!
坐久落花多 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

逍遥一仙 发表于 2021-7-14 11:47
使用我下载器的话,会自动去除图片混淆头  https://www.52pojie.cn/thread-1374045-1-1.html

免费评分

参与人数 3吾爱币 +1 热心值 +3 收起 理由
aniu + 1 热心回复!
涛之雨 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lianan11 + 1 我很赞同!

查看全部评分

逍遥一仙 发表于 2021-7-14 14:42
QingYi. 发表于 2021-7-23 12:28
这里我想起来之前论坛说的 批量修改 ts 文件后缀 为 png 上传公共图床的帖子,我下载了其中一个 png 文件下来 ,用Linux hexdump 命令查看文件头,发现确实有 png 文件头,说明不是简单改个后缀名完事的。 但是, 之后的内容就非常可疑了, 很类似 MPEG-TS 文件的packet格式

这一步又是怎么操作的呢?
老虎 发表于 2021-7-14 11:55
逍遥一仙 发表于 2021-7-14 11:47
使用我下载器的话,会自动去除图片混淆头  https://www.52pojie.cn/thread-1374045-1-1.html

这个下载器非常好用,
如果能增加断点续传的功能就好了
坐久落花多 发表于 2021-7-14 11:55
嗯,之前某在线视频网站看到过类似的,m3u8解析无效,不知道有没有类似的脚本直接实现?
lonchide 发表于 2021-7-14 12:02
这到是个好方法
gd2020 发表于 2021-7-14 12:03
收藏一下
Khous 发表于 2021-7-14 12:06
收藏一下
xyl52p 发表于 2021-7-14 12:06
这个视频网站隐藏的够深的啊,不过还是厉害的楼主发现了。
头像被屏蔽
细水流长 发表于 2021-7-14 12:08
提示: 作者被禁止或删除 内容自动屏蔽
色色 发表于 2021-7-14 12:17
逍遥一仙 发表于 2021-7-14 11:47
使用我下载器的话,会自动去除图片混淆头  https://www.52pojie.cn/thread-1374045-1-1.html

大佬这个软件很好用  要是可以录制在线直播就完美了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-24 10:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表