当前位置:网站首页>补某视频网站的js,进行视频解密
补某视频网站的js,进行视频解密
2022-07-04 04:55:00 【黑剑客与剑】
前言:
前不久,有个群友在群里发了一个视频的m3u8文件,其中的key是16字节,但是就是无法进行下载。但是用m3u8下载器进行下载时,无法下载下来,我开始怀疑是有请求头检验,用代码请求了一下,发现可以正常请求。那应该就是加密了。
1.打下ts,m3u8或key断点
找到大概是哪里有加密,跟进去。这个了我找到这个js
这个js是后面加载的,可以看到,一般后面自动加载的js,里面都有猫腻。
2.找到解密js
这里找到这个函数,解密就是在这里
找到js后,这里我们先不分析算法,直接打算补环境。我们将这个js下载下来,到vscode里面运行一下看看。他会报错self和window未定义。这个我们这样补一下,self直接赋个空对象,window=this;
然后运行一下,发现没有报错。我们想调用这个e.onmessage函数。那该咋办呢?
3.调用函数进行解密
这里想是webpack打包,有个加载器。所有函数都在o对象里面,这里我们直接把o对象导出来,进行调用。
我们这里运行一下,看看效果。
可以看到,所有函数都被导出了。这样我们就可以正常进行调用了。
4.查看传入参数
我们断点可以看到,是这个传入有这几个参数
这个key和iv有点奇怪。这里我们直接用这个key和iv进行解密,发现可以正常解密。
5查看iv和key的生成方式
这里还是老步骤,进行断点,然后,一步一步找。这里就直接把加密方式放出来吧
key = new Uint32Array([(r.getUint32(0) ^ a[0]) >>> 0, (r.getUint32(4) ^ a[1]) >>> 0, (r.getUint32(8) ^ a[2]) >>> 0, (r.getUint32(12) ^ a[3]) >>> 0])
IV[0] = parseInt(r.attributes.IV[0], 16), IV[1] = parseInt(r.attributes.IV[1], 16), IV[2] = parseInt(r.attributes.IV[2], 16), IV[3] = parseInt(r.attributes.IV[3], 16),
key生成的a的,是在window里面的一个属性。
这个我就没进行研究的,直接写死了。
这里环境已经补好了,直接进行调用就行,解密后完整无花屏。
OK,今天就到这里了,交流群902854353
边栏推荐
- Error response from daemon: You cannot remove a running container 8d6f0d2850250627cd6c2acb2497002fc3
- 【MATLAB】通信信号调制通用函数 — 傅里叶逆变换
- Trie数-字典树
- Capturing and sorting out external Fiddler -- Conversation bar and filter
- Exercise bubble sort
- 【MATLAB】MATLAB 仿真模拟调制系统 — AM 已调信号的功率谱与相干解调
- Electronic components mall and data manual download website summary
- 中科磐云—2022广西逆向解析思路
- Detailed comparison of Hynix emmc5.0 and 5.1 series
- Unity is connected to the weather system
猜你喜欢
随机推荐
力扣 第 300 场周赛
【MATLAB】MATLAB 仿真模拟调制系统 — AM 已调信号的功率谱与相干解调
海力士EMMC5.0及5.1系列对比详解
Graduation design of small programs -- small programs of food and recipes
appliedzkp zkevm(13)中的Public Inputs
Zkevm (12) state proof of appliedzkp
如何使用postman实现简单的接口关联【增删改查】
中科磐云—2022广东木马信息获取解析
【MATLAB】MATLAB 仿真数字带通传输系统 — QPSK 和 OQPSK 系统
2022G2电站锅炉司炉特种作业证考试题库及答案
Get the ID of the record just inserted from laravel
[matlab] matlab simulation modulation system SSB system
全国职业院校技能大赛(中职组)网络安全竞赛试题—解析
Simple g++ and GDB debugging
The first introduction, stages and methods of defense system breakthrough from the perspective of the red team
中科磐云—数据分析与取证数据包flag
Customize a pager needed in your project
EVM proof in appliedzkp zkevm (11)
ETCD数据库源码分析——初始化总览
Network equipment emergency response Guide