吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19609|回复: 149
上一主题 下一主题
收起左侧

[Web逆向] 最近发现的M3U8下载新方式(2022)

    [复制链接]
跳转到指定楼层
楼主
kimwamtung 发表于 2022-3-26 14:25 回帖奖励
本帖最后由 kimwamtung 于 2022-3-26 14:35 编辑

具体是什么平台,什么版本的就不方便直说了,大家看url吧
[JavaScript] 纯文本查看 复制代码
http://hls.videocc.net/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.m3u8?pid=1648272254443X1400514&device=desktop


原本我是按照下面帖子的方法进行解密32位的下载key的,基本完成了90%了,已经可以算出seed_const了。
https://www.52pojie.cn/thread-1585958-1-1.html

只要使用seed_const的md5前16位作为解密密钥,固定字符串AQIDBQcLDRETFx0HBQMCAQ==作为解密vi,就能解密32位的下载key。
但是到了这一步,发现解密下载key失败,解密密钥错误,我以为是自己的程序写错了,又使用了论坛大牛们开发的密码工具箱来解密,
虽然能解密出16位下载key,但是在下载工具下载时候提示解码失败,key不正确。



我觉可能是加密方式改了,于是发了求助帖子
https://www.52pojie.cn/thread-1607458-1-1.html
https://www.52pojie.cn/thread-1608121-1-1.html

大牛们说的方法太抽象了,我看不太懂,于是自己也在研究。
终于,在贴里的大牛帮助下,给我发现了一种新的下载方式,比较简单和快捷,适合小白
方法如下(也需要简单的js逆向)

1.打开调试工具,找到这个js,并格式化一下。(因为他压缩了)



2.在js代码里面搜索"decryptdata"关键字,来到大约12706行左右(变量什么的可能有所不同,因为他是压缩过的),放入断点



3.基本上每次视频加载都会调用这个位置的代码,找到"_decryptdata"变量



4.发现里面有一大串json数据,包含了M3U8(baseuri)和key(_uri/reluri)信息
[JavaScript] 纯文本查看 复制代码
{
    [b][color=Red]"_uri": "http://hls.videocc.net/playsafe/v1102/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.key?token=71e98423-69f1-4460-a045-fd9ce9e7f7ed-0126",
    "baseuri": "http://hls.videocc.net/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.m3u8?pid=1648273704804X1183405&device=desktop",
    "reluri": "http://hls.videocc.net/playsafe/v1102/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.key?token=71e98423-69f1-4460-a045-fd9ce9e7f7ed-0126",[/color][/b]
    "method": "AES-128",
    "key": {
        "0": 242,
        "1": 155,
        "2": 231,
        "3": 3,
        "4": 138,
        "5": 225,
        "6": 46,
        "7": 25,
        "8": 219,
        "9": 1,
        "10": 158,
        "11": 253,
        "12": 61,
        "13": 0,
        "14": 88,
        "15": 211,
        "16": 84,
        "17": 252,
        "18": 214,
        "19": 248,
        "20": 28,
        "21": 47,
        "22": 215,
        "23": 178,
        "24": 226,
        "25": 94,
        "26": 251,
        "27": 73,
        "28": 109,
        "29": 155,
        "30": 232,
        "31": 110
    },
    "iv": {
        "0": 115,
        "1": 231,
        "2": 209,
        "3": 35,
        "4": 245,
        "5": 8,
        "6": 70,
        "7": 126,
        "8": 225,
        "9": 253,
        "10": 116,
        "11": 114,
        "12": 11,
        "13": 96,
        "14": 251,
        "15": 158
    }
}


我尝试下载key,发现下载下来的key是32位的加密key来的,没用。



4.后来发现将里面的"baseuri" 复制,再在新的浏览器页签打开,会得到一个M3U8文件
[JavaScript] 纯文本查看 复制代码
http://hls.videocc.net/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.m3u8?pid=1648273704804X1183405&device=desktop


内容如下
[Asm] 纯文本查看 复制代码
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-KEY:METHOD=AES-128,[b][color=Red]URI="http://hls.videocc.net/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.key"[/color][/b],IV=0x73e7d123f508467ee1fd74720b60fb9e
#EXT-X-TARGETDURATION:11
#EXTINF:5.043000,
http://uc-dts.videocc.net/b034527feb/0/1234567890123/d/f2/47/bd_3/b034527feb4cd0ab7817207e07f247bd_3_0.ts?pid=1648273704804X1183405&device=desktop
#EXTINF:5.000000,
http://uc-dts.videocc.net/b034527feb/0/1234567890123/d/f2/47/bd_3/b034527feb4cd0ab7817207e07f247bd_3_1.ts?pid=1648273704804X1183405&device=desktop
#EXTINF:10.000000,
http://uc-dts.videocc.net/b034527feb/0/1234567890123/d/f2/47/bd_3/b034527feb4cd0ab7817207e07f247bd_3_2.ts?pid=1648273704804X1183405&device=desktop
#EXTINF:10.000000,
http://uc-dts.videocc.net/b034527feb/0/1234567890123/d/f2/47/bd_3/b034527feb4cd0ab7817207e07f247bd_3_3.ts?pid=1648273704804X1183405&device=desktop
#EXTINF:10.000000,
http://uc-dts.videocc.net/b034527feb/0/1234567890123/d/f2/47/bd_3/b034527feb4cd0ab7817207e07f247bd_3_4.ts?pid=1648273704804X1183405&device=desktop
#EXTINF:10.000000,
......省略.....


发现M3U8文件的URI里面也有一个key下载地址,直接访问他,发现无法下载。



于是我对比了一下两个key下载地址,发现他们之间只差一个token
[Asm] 纯文本查看 复制代码
_decryptdata里面的"_rui"(key下载地址):http://hls.videocc.net/playsafe/v1102/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.key?token=71e98423-69f1-4460-a045-fd9ce9e7f7ed-0126
M3U8文件里面的"URI"(key下载地址):http://hls.videocc.net/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.key



5.将M3U8文件内"URI"的地址复制到浏览器,再把"_decryptdata"里面的"_uri"的token(比如:token=71e98423-69f1-4460-a045-fd9ce9e7f7ed-0126)带上到后面,得到如下的key下载地址
[JavaScript] 纯文本查看 复制代码
http://hls.videocc.net/b034527feb/d/b034527feb4cd0ab7817207e07f247bd_3.key[b][color=Red]?token=71e98423-69f1-4460-a045-fd9ce9e7f7ed-0126[/color][/b]


6.通过浏览器访问这个地址,我们就会下载到一个key(注意:token会过期,如果下载失败,刷新页面重试一下),这个key是16位的,是已经解密了的


7.将16位的key和M3U8的地址放到下载器就可以正常下载了



个人猜测: 为什么按照原来帖子的方法解密不了,这个方法好像是2020年时候的了,可能这个加密方法可能改了。可能改成了通过服务器端解密,
js异步下载解密key,不把加密/解密方法细节暴露出来,不过这样子只要暴露了解密的下载地址也就会下载到解密key,所以加上了一个token的限制吧,
token大概一分钟失效,失效以后需要刷新页面重新拿token,重新下载。
这个方法是我自己无意之间发现的,仅供参考。并且个人水平有限,如有错漏请指出。


免费评分

参与人数 28吾爱币 +32 热心值 +26 收起 理由
mqjmuran + 1 用心讨论,共获提升!
gyd1 + 1 + 1 我很赞同!
LuckyClover + 1 + 1 谢谢@Thanks!
iYoloPPD + 1 谢谢@Thanks!
Natrium + 1 + 1 我很赞同!
bjznhxy + 1 + 1 谢谢@Thanks!
chevin + 1 + 1 用心讨论,共获提升!
bullshit + 1 + 1 谢谢@Thanks!
liyan0922 + 1 谢谢@Thanks!
明月清疯 + 1 + 1 验证了,此法真是棒,感谢楼主
wxz8506 + 1 + 1 大神,中岩培训的视频是否也可以下载?
ljldcx + 1 + 1 用心讨论,共获提升!
fujingsitb + 1 真的很厉害!支持!
PxiaozhiJ + 1 + 1 用心讨论,共获提升!
zcx1234 + 1 + 1 清风DJ的能搞吗
yuanjie221 + 1 + 1 我很赞同!
alpha009 + 1 + 1 谢谢@Thanks!
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
jinzhu160 + 1 + 1 用心讨论,共获提升!
happyBread + 1 + 1 热心回复!
吟游诗人丶吴 + 1 + 1 用心讨论,共获提升!
lcjok92021 + 1 + 1 用心讨论,共获提升!
a517753728 + 1 + 1 用心讨论,共获提升!
shiyicong + 1 + 1 值得学习
lonsvm + 1 + 1 用心讨论,共获提升!
GXguxiao + 1 + 1 用心讨论,共获提升!
zhoushengzhi + 1 + 1 用心讨论,共获提升!
KiteRunner + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

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

推荐
gyd1 发表于 2022-9-28 16:38
综合楼上的帖子操作过程,总结了更加简单的操作手法,保姆级教程,小白一看就会!跟各位讲一下手动操作流程
视频链接就不列出来了
F12 网络-过滤 输入m3u8 找到如下格式链接
https://hls.videocc.net/cde39521e1/8/cde39521e1da56b5e20924fe6db73ef8_2.m3u8
记事本打开,得到 IV:0xcf66d691e1c783dc9ecb60bdc5a85179网络-过滤 输入key 然后把链接中的playsafe删除,同时复制到浏览器中,得到了真正16位key,然后用winhex打开,得到真正的解密key,
原始链接:https://hls.videocc.net/playsafe/cde39521e1/8/cde39521e1da56b5e20924fe6db73ef8_2.key?token=6199872d-c82e-414a-9900-8d0292fa6bda-112678
修改后的链接:https://hls.videocc.net/cde39521e1/8/cde39521e1da56b5e20924fe6db73ef8_2.key?token=6199872d-c82e-414a-9900-8d0292fa6bda-112678复制前面的https://hls.videocc.net/cde39521e1/8/cde39521e1da56b5e20924fe6db73ef8_2.m3u8链接到软件里,然后把winhex里的值和IV输入到软件中就可以下载了
推荐
漁滒 发表于 2022-3-27 22:12
推荐
lonsvm 发表于 2022-4-2 16:28
wuchaoqing5 发表于 2022-3-28 21:30
请问爱奇艺的m3u8地址怎么获取呀

我没下过爱奇艺的。
搬运一个本论坛的:https://www.52pojie.cn/thread-1006841-1-1.html
你可以试试。
再就是,idm下载配置里把文件后缀名里,自己添加个*,表示查看所有类型的文件,
然后idm的悬挂窗口下看看有没有m3u8的文件,如果有复制这个m3u8的地址。
用m3u8dl来下就可以了。我是这样操作的。
沙发
hello6word 发表于 2022-3-27 16:08
学习一下,谢谢大佬
3#
Aidien0918 发表于 2022-3-27 16:25
学习一下,谢谢大佬
4#
叶微啊 发表于 2022-3-27 16:34
大佬的教程对小白来说极其不友好,学习成本太高了,这里推荐一个安卓软件 LJ视频下载器。输入链接自动下载,还可以转换为mp4格式,非常的方便。
5#
he58394835 发表于 2022-3-27 16:47

学习一下,谢谢大佬
6#
ting5247 发表于 2022-3-27 17:21
这方法太过复杂了
7#
dickyuan 发表于 2022-3-27 18:31
按照大佬的方法断点抓数据确实可以下载,问题来了,这些操作实在太麻烦,怎么脚本实现下载呢?
8#
rmq009 发表于 2022-3-27 19:12
虽然看不懂,但还是感谢分享
9#
dongjing520 发表于 2022-3-27 20:19
不错不错,值得学习
10#
TenRice 发表于 2022-3-27 21:17
学习思路,感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2023-9-30 15:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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