51cto学院m3u8视频解密key获取方法分析教程

文章资讯 2020-02-19 11:27:34

51cto学院m3u8视频解密key获取方法分析教程

key地址:
https://edu.51cto.com/center/player/play/get-key?lesson_id=394466&id=391310&type=course&lesson_type=course&isPreview=0&sign=61a3971fc0a0f376b961b89ce5037021

待解密ts:
https://v22.51cto.com/2019/05/18/391310/ce69/general/loco_video_208000_2.ts

解密key
获取加密key
打开key地址: :
https://edu.51cto.com/center/player/play/get-key?lesson_id=394466&id=391310&type=course&lesson_type=course&isPreview=0&sign=61a3971fc0a0f376b961b89ce5037021

得到加密key:

qimHiww0lN0HHsbi1RPRa7H0U6QPaQLw3OIylOXYHIUOUAMPxSLVxI5CPKPxPIPyPG5PPUbi3nSjPXMxHAUxl7PNxSPY0kOxUeNNxO5VHRSQAubPaOIi37X0lWPxH9Ii3P7RxHQeqnUQ0W7xHPOyliavW1

注意: 加密key的内容每次都会变化, 但是解密得到的key是唯一的;

获取课程id
视频播放地址"https://edu.51cto.com/center/course/lesson/index?id=394466" 结尾有个数字: "394466", 这是课程id(lesson_id), 记下这个数字;

解密
准备好了加密key和lesson_id, 开始解密:

复制解密key的js代码, 见附件, 或者这个地址:
https://privatebin.net/?e76be800d47e03d6#9CJD9C39rCap68KSrxAeQyw8FGjUcBGUDSS5EtjggBWU
打开浏览器的开发者工具, 以chrome为例, 页面上右键 - 检查, 或者快捷键F12, 切换到console/控制台面板. 在console面板粘贴、执行刚才的js代码;
执行代码:
decode("qimHiww0lN0HHsbi1RPRa7H0U6QPaQLw3OIylOXYHIUOUAMPxSLVxI5CPKPxPIPyPG5PPUbi3nSjPXMxHAUxl7PNxSPY0kOxUeNNxO5VHRSQAubPaOIi37X0lWPxH9Ii3P7RxHQeqnUQ0W7xHPOyliavW1","394466")
得到解密key:  4ddd57b5fa93f370

解密视频
使用openssl解密视频, 需要先把解密key转为32位的16进制字符串;
可以用这个在线工具: https://www.bejson.com/convert/ox2str/;
得到: 34646464353762356661393366333730

下载待解密视频:
https://v22.51cto.com/2019/05/18/391310/ce69/general/loco_video_208000_2.ts

解密:
openssl aes-128-ecb -d -in loco_video_208000_2.ts -out loco_video_208000_2-dec.ts -nosalt -iv 0123456789abcdef0123456789abcdef -K 34646464353762356661393366333730
解密得到的"loco_video_208000_2-dec.ts"可以直接播放;
注意: 加密方式是aes-128-ecb, 而不是标准的aes-128-cbc。