吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2869|回复: 5
收起左侧

[Web逆向] 解决16字节key,缺无法下载的问题

  [复制链接]
逗逗苍穹 发表于 2022-7-2 10:50
本帖最后由 逗逗苍穹 于 2022-7-4 19:08 编辑

前言:        前不久,有个群友在群里发了一个视频的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的生成方式这里还是老步骤,进行断点,然后,一步一步找。这里就直接把加密方式放出来吧
[JavaScript] 纯文本查看 复制代码
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]) 

[JavaScript] 纯文本查看 复制代码
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),

这个iv[0]就是去iv前四个字节。以此类推。
key生成的a的,是在window里面的一个属性。这个我就没进行研究的,直接写死了。这里环境已经补好了,直接进行调用就行,解密后完整无花屏。[url=]92工程.zip[/url]

92工程.zip

62.37 KB, 下载次数: 55, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 3吾爱币 +8 热心值 +3 收起 理由
xyf4380 + 1 + 1 学习了
杰先森 + 1 热心回复!
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

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

莫奇 发表于 2022-7-9 21:00
一个字   服
Yangxiao112 发表于 2022-7-31 06:32
overlords 发表于 2022-10-11 07:10
明月清疯 发表于 2022-11-3 23:45
又,又,又一次,膜拜偶像,这次又学了有用的知识
ashuaihang 发表于 2023-2-20 17:54
你好 方便加个微信吗,有关于学达云脚本,合作共赢!我的微信18837415563
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 15:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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