我之前写过一篇文章《记一次流媒体MPEG-DASH DRM解密过程(Widevine)》后来有很多人跟我说WVGuesserExtension这个浏览器扩展获取不到MGSTAGE和DMMTV的Key了,但是我实际测试下来都是没问题的啊,至少MGSTAGE我能肯定目前是没问题的。
另外我在DMM购买的视频也能获取到Key,而且DMM的那些假素人视频根本都没有用Widevine,用的是ClearKey,这个扩展能自动算出来ClearKey的KID:KEY,但是由于我只买这些素人视频,DMM还有其它的服务,比如包月的流媒体服务,这个我就没测试。反正我也不知道他们是怎么操作的,按道理来说都是能用的。
但是u1s1这个扩展确实很久没更新了,而且已经不兼容现在的新版Chrome浏览器了,现在安装的话直接就提示不支持了:
这是由于很多老的扩展都基于Manifest V2,谷歌为了限制扩展对浏览器底层权限的滥用采用了新标准:Manifest V3。但如果你硬要用的话也不是不行,换个火狐或者其它套壳旧版本的浏览器还是能用的,而且这个扩展确实很方便。。
然后还有就是总有人想要我分享WVD(L3 CDM)文件,讲道理这个我是肯定不可能分享的,这是我自己手机提取出来的,如果分享出去给其他人用,到时候很可能被谷歌拉黑,一旦被谷歌拉黑,就属于全球性、永久性封杀,这个WVD文件在所有使用Widevine技术的平台都将彻底作废,到时候我自己都没法用了。所以这个我肯定不会分享,但是我在这里可以给一点建议或者说提示,如果你的安卓手机确实没办法ROOT,可以尝试这几种方法(最近爆出了很多高危漏洞,ROOT应该比之前容易一些了吧):
1.使用Android Studio导出你自己的L3 CDM
2.总有好心人会分享一些L3 CDM,比如VideoHelp论坛的这个帖子:Ready to use CDMs available here!
3.有一些专门提供CDM的网站可用,这些网站一般会有免费试用,但最终目的是为了恰米。我这里不会说具体的名字,免得有人说我给他们打广告,我也不想给他们打广告,如果你需要请善用Google搜索。
我这篇文章主要想介绍一款工具:vsd,全称:Video Stream Downloader,这是一个用Rust写的CLI工具,支持DRM解密。可以从Widevine或者PlayReady的License服务器获取Key解密受保护的内容。这也就意味着你可以用它代替WVGuesserExtension扩展以及N_m3u8DL-RE。
这篇文章实战演示一下如何使用vsd下载并解密MGSTAGE的视频,请注意WVD(L3 CDM)文件是必须要的,如果你没有就没有必要往下看了。
安装vsd,你可以使用PowerShell执行如下命令将vsd一键安装至当前目录:
irm https://github.com/clitic/vsd/releases/download/vsd-0.5.0/vsd-0.5.0-x86_64-pc-windows-msvc.zip -OutFile vsd.zip; Expand-Archive vsd.zip -DestinationPath . -Force; rm vsd.zip
也可以使用Scoop包管理器安装:
scoop install vsd
其它平台的安装见:https://clitic.github.io/vsd/installation/
除了vsd以外,在开始前还应该准备好其它依赖:
1.MGSTAGE的视频文件是分离的,你需要安装FFMPEG以将分离的音频流、视频流合并成一个单一视频文件,vsd会自动完成这些操作,但需要你将FFMPEG的二进制文件放在与vsd相同的目录内。
2.将device.wvd(L3 CDM)文件放在vsd同级的目录内,方便后续vsd命令的执行与调用。
3.浏览器安装猫抓扩展,用于嗅探MGSTAGE的MPD媒体链接地址
让我们正式开始:
1.打开MGSTAGE播放一个视频,同时打开猫抓,获取MPD的URL:
2.按F12打开浏览器控制台,找到License服务器的目标URL:
3.在PowerShell执行如下命令获取KID:KEY:
.\vsd.exe license "https://dash-streaming.mgstage.com/streaming/bibid/522dht/1338/522dht-1338_20260701T143002.mpd..." `
--widevine-url "https://cenc.webstream.ne.jp/drmapi/wv/mgstage?custom_data=..." `
--widevine-device device.wvd `
--skip-playready `
-H "Origin: https://www.mgstage.com" `
-H "Referer: https://www.mgstage.com" `
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"
请务必使用-H带上必要的标头(header),否则License服务器会返回400报错。
如果正常,会回显类似下图的内容,其中DrmKey就是我们需要的KID:KEY:
4.使用上一步获取到的KID:KEY下载并解密视频:
.\vsd.exe save "https://dash-streaming.mgstage.com/streaming/bibid/522dht/1338/522dht-1338_20260701T143002.mpd?..." `
--keys "62bd99e8c11047809157e0a8058a6444:21639f31dcac3d8555919f055ba0cd77" `
-f best `
-o 522DHT-1338.mp4
测试视频能播放,声音也正常:
补充一点vsd的其它用法,其实vsd也可以代替猫抓,但是我说实话不如直接用猫抓方便。vsd有一个capture功能,当你执行capture后,vsd会自己启一个Chrome浏览器,然后vsd会把抓到的媒体地址以curl可调用的形式回显到终端。
具体用法:
.\vsd.exe capture "https://www.mgstage.com/mgsplayer/?PID=...&PVFID=...&TPID=...&MgsvrURL=http://www.mgstage.com/mgsvr/Mgsvr.php&html5=1"
然后你在vsd启动的Chrome浏览器登录MGSTAGE账号,播放这个视频,稍等片刻MPD媒体URL就嗅探出来了:
荒岛






















