冰凌汇编

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 75|回复: 0
收起左侧

[Web逆向] 记录下某CDX网校的m3u8 Key解密过程

[复制链接]
bingling 发表于 2022-7-20 14:54:42
简单记录一下某CDX网校m3u8 Key解密过程,用的是气球云加密服务。

url具有次数限制,只能访问一次,下次访问就无效,并且采用动态token。

发之前搜了一下,论坛没有人发这个网校的解密,不知道是否有风险,如有侵权,请版主即时删除,谢谢!

1、F12打开网络请求,筛选到 Fetch/XHR,F5刷新。找到m3u8,看看是什么方式加密,没错,是AES-128。

记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

2、再往下看,这应该是key, 但它是20字节,应该是加密过。根据经验AES 128 对位加密解密都应该是16位才对。
记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

3、看下这个key加载后是怎么处理解密的,打开 index.js  搜索 decode ,不多,才24个,一个个往下找。
记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

console.log("decode key", t) 是啥?
结合上下文,if (20 === e.byteLength),这里判断了这个字节长度20,下面开始开始处理,看字面意思是解密key,那这个位置就是解密函数了。下个断点,居然没反应。。

4、直接保存用本地替换大法了,在 return 前面打印一下,看传入了什么,返回了什么?
记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

传进来的是20位和请求进来的数据一样,解密后是16位,那没错,就是它了。
记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

5、用m3u8下载神器,试一下吧。。。 结果直接提示 3U8文件无效。
记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

这什么原因? 中间省略N次测试。。。。

最终发现:
url只要请求过一次之后就不能访问,这防护真是做的妥妥的。


前面看到playlist里面有3个m3u8地址,页面打开时加载了2个,还剩下一个没加载过,那它应该还是有效的。
记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

打开下载器,填好key和URL,果然!这个能下载。。。
记录下某CDX网校的m3u8 Key解密过程 - bingling_冰凌汇编

整个过程很花费时间,为了方便下次使用,于是动手写个油猴脚本,批量解析并导出,流程是这样的:

  • 取得resNo 和 token
  • 取得播放列表  playlist
  • 请求 palylist 取得m3u8
  • 解析m3u8地址 获取key url
  • 请求key url ,扣出js解密函数,解密得到最终的16位key

源码不方便公开,楼下有动手能力强的,可以自己根据流程写代码。
冰凌汇编免责声明
以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|站点统计|Archiver|小黑屋|RSS|冰凌汇编 ( 滇ICP备2022002049号 滇公网安备 53032102000029号)|网站地图

GMT+8, 2022-9-25 07:34 , Processed in 0.125545 second(s), 9 queries , Redis On.

冰凌汇编 - 建立于2021年12月20日

Powered by Discuz! © 2001-2022 Comsenz Inc.

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