某网站视频播放花屏解密

查看 182|回复 11
作者:漁滒   
@TOC
样例网址:aHR0cHM6Ly90di5jY3R2LmNvbS8yMDIyLzA5LzMwL1ZJREVnZ0ZRYmZ6NmlMeXZjN0F4d0NlZjIyMDkzMC5zaHRtbA==
站内之前也曾经发过相关的问题
1.CCTV视频m3u8视频下载,下载下来时长正确,有声音,但是画面是马赛克。
2.请帮忙下载这个CCTV的视频,难道是加密了吗?
3.【震惊】发现一种极其罕见的m3u8魔改加密
从网页上看是正常的视频

但是直接下载ts后播放,神奇的事情发生了

画面是一片灰的,但是声音还是正常,说明应该是只加密的视频,而音频没有加密,经过很长的一段js分析,发现是加密了视频的es流部分,解密的逻辑被放到了wasm中。

点播视频是调用的【CNTVH5PlayerModule._vodplay】进行解密,下载wasm进行反汇编

样本明显被添加了控制流混淆,这里的特征还是挺明显的,理论上可以尝试进行还原,到时还没搞完,这里就不说了。既然这样的话,那就直接上大杀器吧jsrpc
首先下载win发行版,然后运行

此时服务端已经开启,然后利用浏览器的overwride功能注入【resouces】文件夹下的【JsEnv_Dev.js】,然后按照readme,注册一个调用加密函数的方法,再刷新页面

此时服务已经连上,可以rpc来调用网页的js函数了。
接着是分离,需要先从ts中分离出pes,再从pes中分离出es流
分离出pes可以参考阿里云Web播放器,m3u8的ts文件解密下载过程实现
上面文章中详细的分析说明分离pes,然后pes再分分离出若干个NAL单元以及跟在后面的es数据,这些es数据就是需要解密的数据,使用jsrpc解密后在重新包装pes到ts

在这里, 插入图片

kll545012   


liujg 发表于 2022-11-6 20:27
我用IDM下载了楼主给定网址的视频,确如楼主所言,视频是马赛克,如果屏幕录像应该正常吧.

有简单的方法,不用这么高级,抓个包,在返回的数据里面,有能正常下载播放的M3U8的连接,把那个连接复制到M3U8下载器,就行了,直接用IDM下载的,就是花屏


20221107095457.png (596.28 KB, 下载次数: 0)
下载附件
2022-11-7 09:55 上传

下载正常的播放画面
longerlovey   

渔哥的教程就诠释了一句话:师傅领进门,全靠自己悟
就是今天   

其实返回的json里,有一个地址hls_url,直接下载就是正常画面的。
xiadongming   

太高级看不懂
x2005y   

谢谢分享                          
OVVO   



QQ图片20221106195121.png (12.84 KB, 下载次数: 0)
下载附件
2022-11-6 19:51 上传

RUO   

这也太硬核了吧
JakerPower   

太硬核了吧,cct* 能不能也搞一个看看
DODBOY   

学习了,对于我这种冲小白只能仰望。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部