2022年5月31日更新,补充下内容:
-----------------------------------------
1.首先声明一点,技术来源于大佬,我贴出来源了,只是写的更细一点,让更多的人看懂一点,解密过程有了,我也没详细去分析,发此贴没有引流的目的。
2.小白如果看不懂,或者觉得太啰嗦了,如果懂一点Python,就用这个兄弟的帖子,https://www.52pojie.cn/thread-1640483-1-1.html
-----------------------------------------
最近在网校买课学习,提升自己,不过对方规则是你买的课程过期就不给你学习了。
技术非常好,有效期内可以下载可以看,过期了,对不起,下载的也不给看了。
基于这个来研究下视频加密技术。
首先非常感谢这篇文章
https://www.52pojie.cn/thread-1585958-1-1.html
这篇文章都是对的,但是逻辑上有些地方会让人误解,属于大神一看就懂,小白一看就懵懂。
最后这个小白很执着,提问,终于让人看懂了
https://www.52pojie.cn/thread-1616380-1-1.html
基于以上文章我来重新整理下。写本片文章的目的是为了让小白看懂并操作,特自花了半天时间整理,重新编辑发出。
文章还备份在 https://www.cfw.vip/233.html
1.打开学习教程视频,开发人员工具搜索m3u8,发现2个文件,第1个是清晰度,第二个是实际下载地址
2.该网校的网课有一部分是直接可以下载的,有一部分是加密的。
下载我们要使用一个工具,这里我推荐一格最好用的,https://github.com/HeiSir2014/M3U8-Downloader,是开放源码编译的,所以工具安全性是很可靠,不放心的自己编译,想省事的,直接下载,这款神器叫M3U8-Downloader
3.因为我要保存超清版的,所以把格式切换为超清模式
4.从课程导学开始,将第二个m3u8地址复制(如下图),打开M3U8-Downloader点击“新建下载”,将复制地址填入视频源,其它项为空,详见下图,下载自动完成,该校未加密地址一般可以下14个左右,详见下图。
5.如此重复下载大概第15个就无法下载了,会报错。报错信息详见下图。状态显示“初始化”,长时间等待会变成“多次尝试,下载片段失败”。为什么无法下载呢?m3u8提供有key了,我们需要进一步分析失败原因。
6.分析失败原因就需要下载key,查看这个key的返回值。如下图,我们发现key值像一个乱码数据,正常的key值是16位的16进制编码,比如这样“FF18DDC0BEB30F5C4BD9F3F1733DDE75”,这又这样的key,软件才能识别并计算,把文件下载下来。那么出现非正常的key,就可以断定是对key进行了加密,不许解密还原才可以下载。
7.因为本人也是小白,所以不介绍分析过程,只介绍如何去做,如何分析请看上文引用的大拿地址。
我们来找一个json文件,如下图所示,在响应里body内容是一串看不懂的字符串,还特别长,这个json里的字符串有非常有用的信息,我们下一步就是把这个字符串翻译过来,翻译成我们能够看懂的字符串。
8.算法大拿已经给我们了,遗憾的是他就点到为止,下面我来把他讲明白,这个json的文件名是“4adf37ccc0af24c6ab7f0ba0d3beadd1_4”,这个就是大拿说的vid,有些人取值“4adf37ccc0af24c6ab7f0ba0d3beadd1”是错误的,一定是“4adf37ccc0af24c6ab7f0ba0d3beadd1_4”。要完整的解密我们要用到密码工具箱了,工具叫“ToolsFx”,是“leon406”无偿开发的,在这里致敬下。为了少去东奔西跑,我把地址找出来了,发布的贴子是 https://www.52pojie.cn/thread-1501153-1-1.html ,源码的地址是: https://github.com/Leon406/ToolsFx,如果你有墙访问不了github,那就去论坛下载。为了防止工具丢失你可以github上fork一份或者下载下来存档。国外github太慢,作者也分享了其它下载地址,
下载加速 https://leon.lanzoui.com/b0d9av2kb 提取码:52pj
插件下载 https://leon.lanzoub.com/b0d9w4cof 提取码:ax63
截至今天是V1.13版本,如下图所示,不下载也没关系,百度在线工具也可以,建议下载,按照本文图片省事。
8.工具确定下载完成了,我们要把“4adf37ccc0af24c6ab7f0ba0d3beadd1_4”进行md5加密,注意是不含引号的啊。点击运行一下,得到“142572a1e3661b91ad17ae24ce47f959”,这是32位的取前16位“142572a1e3661b91”为对称加密的key和后16位“ad17ae24ce47f959”为对称加密的iv,注意和m3u8没有一点关系哈。
9.前16位“142572a1e3661b91”为对称加密的key和后16位“ad17ae24ce47f959”为对称加密的iv,复制如下图,选择对称加密“142572a1e3661b91”粘贴到key,把“ad17ae24ce47f959”粘贴到iv,注意不要有空白,把json里的返回值body内容,就是第7步里的看不懂字符串粘贴进工具箱,注意要删除掉前后的引号。待处理后面要选择下,默认raw改为hex
如果没有错误的话,默认为“加密”要选择“解密”,运行一下,输出内容一大推看不懂的字符串,如果没有输出内容,请检查,哪个地方肯定有错误。请看上面的图片选择。
10.把输出内容复制出来,这里要进入“编解码”,而不是“编码转换”,输出内容有网址了,这段内容保存下。
11.把刚才保存内容里搜索seed_const,得到数字24,下图所示我是用工具格式化代码,实际上把代码粘贴到记事本,搜索下也可以。
到此json解密完成,我们只为了取得一个数字,那就是24.卧槽,忙了半天就是要一个数字。感叹下继续。
12.下面解密key了,把seed_const的值24进行md5下得到“1ff1de774005f8da13f42943881c655f”,取前16位“1ff1de774005f8da”为key,“AQIDBQcLDRETFx0HBQMCAQ==”为IV,小白这个地方是比较模糊的,怎么得出的IV?我告诉你大拿给的,你拿着用就好了。
13.打开Pycharm,没有就去安装下,安装教程https://www.cfw.vip/pycharm.html
新建一个Pthon文件,把代码粘贴进去,代码如下:
[color=var(--hcb-color--text,#1f1e1e)]import [color=var(--hcb-color--text,#1f1e1e)]osfrom Crypto.Cipher import AES import base64 filename = '1.key.txt' # 把文件内容以byte字节形式读写到缓冲区中。 def read_into_buffer(filename): buf = bytearray(os.path.getsize(filename)) with open(filename, 'rb') as f: f.readinto(buf) f.close() return buf print(list(read_into_buffer(filename))) password = '1ff1de774005f8da'.encode() #秘钥,b就是表示为bytes类型,此处为必须修改项其它勿动 iv = base64.b64decode('AQIDBQcLDRETFx0HBQMCAQ==') # iv偏移量,bytes类型 text = read_into_buffer(filename) #需要加密的内容,bytes类型 # AES.MODE_CBC 表示模式是CBC模式 aes = AES.new(password,AES.MODE_CBC,iv) #CBC模式下解密需要重新创建一个aes对象 den_text = aes.decrypt(text) print("明文:",list(den_text)) keys = list(den_text) hex16 = [] for i in keys[:16]: hex16.append(i) def print_bytes_hex(data): lin = ['%02X' % i for i in data] print(" ".join(lin)) print_bytes_hex(hex16)
你要修改代码中的password后面的密钥就是第11步的数字24md5加密的前16位。
14.把加密key下载下来4adf37ccc0af24c6ab7f0ba0d3beadd1_3.key,重命名位1.key.txt,复制到python文件同一个目录下,运行一下
复制最后1行,这个就是key,CF 77 67 B4 C3 59 68 7E F7 8B D7 82 41 47 E8 A4,去掉空格得到“CF7767B4C359687EF78BD7824147E8A4”,这个就是真key了
15.下载测试,打开第4步给大家分享的M3U8-Downloader,按顺序填入m3u8地址和key地址,不填IV,如下图:
16.开心的下载好了,本教程应该结束了。
17.其实还有问题,你发现下载全部完成了,在合并的时候出错了,这是怎么回事?
你的key解密密码不对。
标签:
永久保存已购学习视频
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“永久保存已购学习视频”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
2024年11月24日
2024年11月24日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]