绕过 Google Wideine DRM

绕过 Google Wideine DRM_第1张图片

前言

在海外,大家使用DRM(Digital Rights Management,数字版权管理)技术来保护自己的数字资产不被轻易盗版,以视频为例,使用DRM后,可以对视频进行加密,用户在网站上看视频时,获取的是加密后的数据流,需要进行实时解密才能播放。

DRM是一个技术概念,不同公司都有自己的DRM技术实现,Google的具体技术方案叫Widevine,而Apple和Microsoft叫PlayReady,本文主要以Google Widevine为主进行讨论。

如果你做JavaScript逆向,你的第一反应一般是,网站所有逻辑都是通过JavaScript来实现,那么对JavaScript进行分析不就知道其加密逻辑了?反正最终我在Chrome上可以获取数据流,那么弄清楚JavaScript就可以获得解密逻辑,从而获得真实数据。

很遗憾,这是行不通,要理解这个,我需要简单科普一下DRM技术,嗯,我发现公众号上有2篇Wideine DRM相关的文章讲的很好,我就不详细描述了:https://mp.weixin.qq.com/s/kNjZEU4aUI09Y9XT5P54OQ。

简单而言,Chrome中的DRM是C/C++层面实现的,媒体数据来的时候,通过JavaScript直接调用了DRM暴露的API,然后完整的解码流程都在DRM相关的模块里,所以你单纯通过JavaScript逆向解决不了问题,如果你是windows的话,会发现一个名叫widevine.dll的东西,就在这里面解密,要逆向就需要处理widevine.dll,然后widevine是闭源的,Google在2021年5月份的时候,还清理的市面上,所有的bypass相关的Github。

本文就记录下,我的具体实践,如何下载受DRM保护的视频网址的视频。

你可能感兴趣的:(绕过 Google Wideine DRM)