之前企鹅课堂 m3u8 没有 key 可以直接下载,现在需要简单逆向得 key 后下载。
简单分析一下,主要是记录一下操作流程,供有需要的朋友借鉴。没有什么理论和技术含量,大佬们见笑了。
首先找到视频 m3u8 链接
Xnip2022-07-19_16-01-24.jpg
在启动器中找到解密 key 的 js 文件
Xnip2022-07-19_16-02-35.jpg
进入后,搜索 decryptkey ,在最后一个搜索结果处下断
Xnip2022-07-19_16-04-28.jpg
重新加载视频,停在断点处
Xnip2022-07-19_16-07-04.jpg
注意右边的 i -> levelkey 中之后会运行出现我们需要的 m3u8 地址和 key
单步调试一会儿,key 的解密执行完成(注意可以合理使用 F11)
Xnip2022-07-19_16-10-12.jpg
可以看到,baseuri 就是 m3u8 链接,下面的 16 位就是 key,将其转换为 16 进制即可
可以使用下面的 python 一键转换(将 key 复制另存为 key.txt 即可)
fp = open('key.txt')key = ""for line in fp: i = line.split(':')[1] if len(hex(int(i))) < 4: key += '0' key += hex(int(i))[2:]print(key)fp.close()
Xnip2022-07-19_16-13-17.jpg
得到 key
993aac4a86fbfdccd36b752747f7c681