当前位置:网站首页>Supplement the JS of a video website to decrypt the video
Supplement the JS of a video website to decrypt the video
2022-07-04 05:19:00 【Black swordsman and sword】
Preface :
Not long ago , A group friend posted a video in the Group m3u8 file , Among them key yes 16 byte , But it just can't be downloaded . But with m3u8 When the Downloader Downloads , Can't download it , I began to suspect that there was a request for head test , I requested it with code , It is found that normal requests can be made . That should be encryption .
1. Lay down ts,m3u8 or key The breakpoint
Find out where there is encryption , Follow in . I found this js
This js It's loaded later , You can see , Generally, it is automatically loaded later js, There is something fishy inside .
2. Find decryption js
Find this function here , Decryption is here
find js after , Here we will not analyze the algorithm , Directly intend to supplement the environment . This will make us js download , To vscode Run it inside and have a look . He will report a mistake self and window Undefined . Let's make up this ,self Directly assign an empty object ,window=this;
And run it , Found no error reported . We want to call this e.onmessage function . What to do then ?
3. Call the function to decrypt
I think so webpack pack , There is a loader . All functions are in o Inside the object , Here we put o Object export , To call .
Let's run it here , Look at the effect .
You can see , All functions have been exported . So we can call normally .
4. Look at the incoming parameters
We can see , These parameters are passed in
This key and iv It's a little strange. . Here we use this directly key and iv To decrypt , It is found that it can be decrypted normally .
5 see iv and key How to generate
Here is the old step , Make breakpoints , then , Step by step . Let's put the encryption method directly here
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 Generated a Of , Is in window One of the attributes in it .
I didn't study this , It's dead .
The environment here has been improved , Just call it directly , After decryption, there is no flower screen .
OK, That's it today , Communication group 902854353
边栏推荐
- Programming example of stm32f1 and stm32subeide -74hc595 drives 4-bit 7-segment nixie tube
- Useful plug-ins for vscode
- VB.net 调用FFmpeg简单处理视频(类库——6)
- 2022年T电梯修理操作证考试题库及模拟考试
- When using flash to store parameters, the code area of flash is erased, which leads to the interrupt of entering hardware error
- 全国职业院校技能大赛(中职组)网络安全竞赛试题—解析
- 【兴趣阅读】Adversarial Filtering Modeling on Long-term User Behavior Sequences for Click-Through Rate Pre
- Simulated small root pile
- appliedzkp的zkevm(12)State Proof
- 【QT】制作MyComboBox点击事件
猜你喜欢
June 2022 summary
TCP状态转换图
Public inputs in appliedzkp zkevm (13)
Analysis of classical pointer and array written test questions in C language
如何使用postman实现简单的接口关联【增删改查】
NTFS security permissions
[paper summary] zero shot semantic segmentation
海力士EMMC5.0及5.1系列对比详解
Notes on the paper "cross view transformers for real time map view semantic segmentation"
光模块字母含义及参数简称大全
随机推荐
Notepad++ -- display related configurations
Remote desktop client RDP
TCP state transition diagram
2022年T电梯修理操作证考试题库及模拟考试
中科磐云—D模块解析以及评分标准
Exercise bubble sort
JS string splicing enhancement
Two sides of the evening: tell me about the bloom filter and cuckoo filter? Application scenario? I'm confused..
Annex II: confidentiality agreement for offensive and defensive drills docx
[matlab] matlab simulation modulation system FM system
[interested reading] advantageous filtering modeling on long term user behavior sequences for click through rate pre
appliedzkp的zkevm(12)State Proof
Thread pool: use thread pool to optimize query speed
2022广东省赛——编码信息获取 解析flag
appliedzkp zkevm(11)中的EVM Proof
[matlab] matlab simulation - narrow band Gaussian white noise
ETCD数据库源码分析——初始化总览
力扣(LeetCode)184. 部门工资最高的员工(2022.07.03)
如何构建属于自己的知识引擎?社群开放申请
With the advent of the IP era, how can E-sports hotels take advantage of the "east wind" of games?