<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      WideVineDRM視頻解密

      WideVineDRM視頻解密

      本文的目的只是為了能夠簡單的了解一下WideVineDRM

      1、認識流媒體

      流媒體(Streaming Media)是一種通過網(wǎng)絡(luò)實時傳輸數(shù)據(jù)的技術(shù),使用戶能夠在不必先下載完整文件的情況下,邊接收數(shù)據(jù)邊播放音頻、視頻或其他多媒體內(nèi)容。換句話說,流媒體技術(shù)可以讓我們直接觀看或收聽在線的音視頻內(nèi)容,而不需要等待整個文件完全下載完成。

      2、流媒體的特點:

      1. 實時播放:流媒體數(shù)據(jù)在用戶設(shè)備上實時接收并播放,而不是先下載完整文件后再播放。
      2. 持續(xù)傳輸:數(shù)據(jù)以連續(xù)流的方式傳輸,確保播放不中斷。
      3. 不需要完整下載:用戶可以在傳輸?shù)倪^程中開始播放,而不必等待完整下載。

      3、常見的流媒體類型:

      1. 視頻流媒體:如YouTube、Netflix、騰訊視頻、愛奇藝等,用戶可以實時觀看視頻內(nèi)容。
      2. 音頻流媒體:如Spotify、Apple Music、網(wǎng)易云音樂等,用戶可以實時收聽音樂或廣播。
      3. 直播流媒體:如Twitch、YouTube直播、Bilibili直播等,用戶可以觀看實時的直播內(nèi)容。

      4、流媒體的工作原理:

      流媒體技術(shù)通過將音視頻內(nèi)容切分成小的數(shù)據(jù)包,這些數(shù)據(jù)包會被分批次、按順序地傳輸?shù)娇蛻舳恕?蛻舳嗽O(shè)備接收到數(shù)據(jù)后,會將這些數(shù)據(jù)實時解碼并展示給用戶。例如,視頻流會被切分成多個小的幀,然后逐幀播放。

      常見的流媒體協(xié)議包括:

      • RTSP(Real-Time Streaming Protocol) :用于控制視頻流的啟動、暫停、停止等操作。
      • HLS(HTTP Live Streaming) :通過HTTP協(xié)議實現(xiàn)流媒體播放,廣泛應(yīng)用于視頻直播。
      • DASH(Dynamic Adaptive Streaming over HTTP) :另一種基于HTTP的流媒體傳輸協(xié)議,能夠自適應(yīng)網(wǎng)絡(luò)帶寬。

      流媒體技術(shù)的優(yōu)勢在于,它減少了用戶等待的時間,提升了用戶體驗,同時支持各種設(shè)備和網(wǎng)絡(luò)環(huán)境下的內(nèi)容分發(fā)。

      其實說白了就是多緩存一些。上面這些介紹都來自于chatgpt

      5、什么是DRM

      DRM 主子版權(quán)管理是一種技術(shù) 策略工具用來保護數(shù)字內(nèi)容的版權(quán)和防止未授權(quán)的復(fù)制、分發(fā)或使用。一般用于流媒體

      其實m3u8 也是一種DRM這是眾所周知的。

      比如說。在m3u8信息里面有一種AES加密的,那就是一種特殊的DRM

      在源代碼中如下:

      #EXT-X-KEY:METHOD=AES-128,URI="key.bin"
      

      6、初步認識WidevineDRM

      這里說一下我所知道的WidevineDRM吧。

      1. Windevine 分為三個等級L1、L2、L3,他們的加密程度不一樣。其中L1加密的最恨 L3加密的比較輕了就。 所以我們先了解L3
      2. 加密設(shè)備可以是硬件設(shè)備和軟件設(shè)備,硬件設(shè)備無法被破解,除非拿到他的硬件,然后去逆向他的硬件設(shè)備。 軟件設(shè)備相對就輕松一些。

      提供幾個站點吧。

      1. https://w3c.github.io/encrypted-media/
      2. https://developers.google.com/widevine/access?hl=zh-cn
      3. https://github.com/cryptonek/widevine-l3-decryptor/blob/master/license_protocol.proto
      4. https://datatracker.ietf.org/doc/html/rfc8216

      其實看這些站點有點像大海撈針的感覺,所以還是應(yīng)該注意一下的,我不太建議這樣操作。

      7、認識一個開源庫

      WidevineProxy2: https://github.com/DevLARLEY/WidevineProxy2

      這個開源庫的使用方法如下(官方已經(jīng)解釋的很清楚了 ,但是是英文的,所以我在這里再說一遍吧):

      這里只針對谷歌瀏覽器哈?;鸷脑捲硎且粯拥?/p>

      1. release 中下載zip文件
      2. 打開 url 將剛才的zip文件 拖入進來,即可實現(xiàn)我們的目的。

      打開后的界面是這樣的

      ?image?

      這時候我們就需要繼續(xù)閱讀github文檔了。

      官方說:

      如果您只有device_client_id_blob和device_private_key,請運行此命令來創(chuàng)建.wvd 文件:
      pywidevine create-device -k device_private_key -c device_client_id_blob -t "ANDROID" -l 3
      現(xiàn)在,打開擴展,單擊Choose File并選擇您的 Widevine 設(shè)備文件。
      

      首先我們應(yīng)該先了解一下 device_client_id_blob 文件和 device_private_key文件怎么獲取。

      • ?device_client_id_blob?:通常存儲設(shè)備的標(biāo)識符和配置數(shù)據(jù),用于身份驗證和設(shè)備注冊。
      • ?device_private_key?:存儲設(shè)備的私鑰,用于加密通信、數(shù)字簽名和身份驗證。

      AI就是好用。

      對于如何獲取這兩個密鑰,其實網(wǎng)上說早期可以瀏覽器直接抓包獲取密鑰,但是現(xiàn)在已經(jīng)不適用了,生不逢時啊。

      現(xiàn)在可以從安卓設(shè)備上提取,如果沒有安卓設(shè)備也可以從支持DRM的安卓虛擬機中提取。、

      這里有一個開源項目開源看一下 L3-Dumping

      需要用到安卓逆向的東西,我不會,但是我已經(jīng)有密鑰文件了。哦哈哈哈

      拿到device_client_id_blob 文件和 device_private_key 文件后就可以進行下一步操作了。

      我直接執(zhí)行上面說的即可, 生成一個.wvd 文件

      在插件中選擇Choose File ,后選擇wvd文件即可

      這里我使用一個DRM保護的網(wǎng)站進行測試

      ?image?

      注意感覺觀察兩個重點,

      一個是ChooseFIle 下面一句,L3加密,

      已經(jīng)下面的一些Keys data 什么什么的都有了

      我們直接吧CMD里面的命令復(fù)制到cmd中。

      11:22:36.008 INFO : N_m3u8DL-RE (Beta version) 20241203
      11:22:36.025 INFO : 加載URL: https://vod-playlist.sr.roku.com/1.mpd?origin=https%3A%2F%2Fvod.delivery.roku.com%2Fe174c5f87e80445aa595c04ec8ab2d2e%2Fc672fdbb6a5c40c89adf8b6d7de5ca80%2F9cfdd7260db04117a8259afeb417d2a4%2Findex.mpd%3Faws.manifestfilter%3Daudio_codec%3AAACL%2CAACH%3Baudio_language%3Aen%2Ceng%3Bsubtitle_language%3Aunused&ovpFilter=
      11:22:37.261 INFO : 內(nèi)容匹配: Dynamic Adaptive Streaming over HTTP
      11:22:37.263 INFO : 正在解析媒體信息...
      11:22:37.341 WARN : 寫出meta json
      11:22:37.372 INFO : 已解析, 共計 6 條媒體流, 基本流 5 條, 可選音頻流 1 條, 可選字幕流 0 條
      11:22:37.374 INFO : Vid *CENC 1920x1080 | 4171 Kbps | 5 | 23.976 | avc1.640028 | 3252 Segments | ~01h48m30s
      11:22:37.376 INFO : Vid *CENC 1280x720 | 2621 Kbps | 4 | 23.976 | avc1.4D401F | 3252 Segments | ~01h48m30s
      11:22:37.377 INFO : Vid *CENC 720x406 | 971 Kbps | 3 | 23.976 | avc1.42C01E | 3252 Segments | ~01h48m30s
      11:22:37.379 INFO : Vid *CENC 512x288 | 571 Kbps | 2 | 23.976 | avc1.42C01E | 3252 Segments | ~01h48m30s
      11:22:37.380 INFO : Vid *CENC 384x216 | 271 Kbps | 1 | 23.976 | avc1.42C01E | 3252 Segments | ~01h48m30s
      11:22:37.381 INFO : Aud *CENC 6 | 128 Kbps | mp4a.40.2 | eng | 2CH | 3252 Segments | ~01h48m30s
      請選擇 你要下載的內(nèi)容:
      
      > [ ] Basic
          [X] Vid *CENC 1920x1080 | 4171 Kbps | 5 | 23.976 | avc1.640028 | 3252 Segments | ~01h48m30s
          [ ] Vid *CENC 1280x720 | 2621 Kbps | 4 | 23.976 | avc1.4D401F | 3252 Segments | ~01h48m30s
          [ ] Vid *CENC 720x406 | 971 Kbps | 3 | 23.976 | avc1.42C01E | 3252 Segments | ~01h48m30s
          [ ] Vid *CENC 512x288 | 571 Kbps | 2 | 23.976 | avc1.42C01E | 3252 Segments | ~01h48m30s
          [ ] Vid *CENC 384x216 | 271 Kbps | 1 | 23.976 | avc1.42C01E | 3252 Segments | ~01h48m30s
        [ ] Audio
          [X] Aud *CENC 6 | 128 Kbps | mp4a.40.2 | eng | 2CH | 3252 Segments | ~01h48m30s
      
      (按 空格鍵 選擇流, 回車鍵 完成選擇)
      
      
      11:22:52.716 INFO : 保存文件名: 1_2024-12-13_11-22-37
      11:22:52.718 WARN : 你已開啟下載完成后混流,自動開啟二進制合并
      11:22:52.722 INFO : 開始下載...Vid 1920x1080 | 4171 Kbps | 5 | 23.976 | avc1.640028
      11:22:53.874 WARN : Type: cenc
      11:22:53.878 WARN : PSSH(WV): CAESEHzjh6lZNVQY0KMc05oHt4EaCmludGVydHJ1c3QiASo=
      11:22:53.880 WARN : KID: 7ce387a959355418d0a31cd39a07b781
      11:22:53.883 WARN : 讀取媒體信息...
      11:22:55.476 INFO : [0x1]: Video, h264 (avc1), 1920x1080
      
      Vid 1920x1080 | 4171 Kbps | 23.976 ------------------------------ 512/3253 15.74% 480.16MB/3.18GB 37.38MBps 00:01:31 /
      Aud 128 Kbps | eng | 2CH           ------------------------------     0/100 0.00%               -     -     --:--:--
      這時候我們就已經(jīng)正常跑起來了。
      
      

      這里是有兩個工具需要下載的,

      一個是 N_m3u8DL-RE 執(zhí)行的時候還會提醒少工具,到時候見招拆招即可,

      11:22:52.718 WARN : 你已開啟下載完成后混流,自動開啟二進制合并
      11:22:52.722 INFO : 開始下載...Vid 1920x1080 | 4171 Kbps | 5 | 23.976 | avc1.640028
      11:22:53.874 WARN : Type: cenc
      11:22:53.878 WARN : PSSH(WV): CAESEHzjh6lZNVQY0KMc05oHt4EaCmludGVydHJ1c3QiASo=
      11:22:53.880 WARN : KID: 7ce387a959355418d0a31cd39a07b781
      11:22:53.883 WARN : 讀取媒體信息...
      11:22:55.476 INFO : [0x1]: Video, h264 (avc1), 1920x1080
      11:24:23.095 INFO : 二進制合并中...
      11:24:28.873 WARN : Type: cenc
      11:24:30.142 WARN : PSSH(WV): CAESEHzjh6lZNVQY0KMc05oHt4EaCmludGVydHJ1c3QiASo=
      11:24:30.144 WARN : KID: 7ce387a959355418d0a31cd39a07b781
      11:24:30.145 INFO : Decrypting using MP4DECRYPT...
      11:24:47.029 INFO : 開始下載...Aud 6 | 128 Kbps | mp4a.40.2 | eng | 2CH
      11:24:47.298 WARN : Type: cenc
      11:24:47.303 WARN : PSSH(WV): CAESEHzjh6lZNVQY0KMc05oHt4EaCmludGVydHJ1c3QiASo=
      11:24:47.306 WARN : KID: 7ce387a959355418d0a31cd39a07b781
      11:24:47.308 WARN : 讀取媒體信息...
      11:24:48.329 INFO : [0x1]: Audio, aac (mp4a)
      
      Vid 1920x1080 | 4171 Kbps | 23.976 ------------------------------ 3253/3253 100.00%           3.17GB    -     00:00:00
      Aud 128 Kbps | eng | 2CH           ------------------------------  1365/3253 41.96% 43.12MB/105.95MB 2.25MBps 00:00:27 \
      

      自動下載還是非常nice的

      本文結(jié)束,下篇文章分析一下開源庫的js代碼??匆幌滤侨绾蝖ook的數(shù)據(jù)包。

      8、Widevine DRM解密原理

      DRM 存在目的是為了防止帶有版權(quán)的多媒體內(nèi)容不被非法訪問的訪問控制技術(shù),被DRM保護的視頻即使下載頁沒辦法看,因為有加密嘛。

      流媒體服務(wù)商先將加密視頻內(nèi)容放在自己的內(nèi)容服務(wù)器,將密鑰key放置在谷歌提供的Widevine認證服務(wù)器。用戶播放時,先與Widevine服務(wù)器完成認證,得到key之后從內(nèi)容服務(wù)器下載視頻,并用key解密播放。

      Widevine擁有三個安全級別——L1、L2和L3。L1是最高的安全級別,解密全過程在硬件中完成,需要設(shè)備支持。L3的安全級別最低,解密全程在CDM(Content Decryption Module )軟件中完成。L2介于兩者之間, 核心解密過程在硬件完成,視頻處理階段在軟件中完成。本文只討論L3級視頻的解密方式。

      播放L3級加密視頻需要CDM模塊,主流的視頻播放設(shè)備均已內(nèi)置CDM。播放器調(diào)用DRM進行解密時,有以下過程:

      1. 用戶開始播放視頻時,客戶端從視頻服務(wù)器中下載mpd文件。在解析mpd之后,播放器根據(jù)相關(guān)字段確定該視頻是否使用Widevine加密視頻。
      2. 播放器將加密音視頻流初始化信息發(fā)送給內(nèi)置的CDM模塊解密。
      3. CDM接收到來自播放器的初始化信息,并創(chuàng)建“許可證請求”,然后將其發(fā)送回給播放器
      4. 播放器接收到許可證請求后,將該請求發(fā)送給Widevine license服務(wù)器。許可證請求為全報文加密,抓包改包的方式無法進行攻擊。
      5. license服務(wù)器接收到播放器發(fā)送的請求后解密,提取初始化信息,并通過初始化信息找到其數(shù)據(jù)庫中的播放key。之后將key加密,返回給播放器。
      6. 播放器接收到license服務(wù)器返回的key,將它傳遞給CDM。所有往來流量均被加密,播放器和中間人都無法讀取相關(guān)信息。
      7. CDM調(diào)用相關(guān)的解密工具,將加密視頻分段解密,實時傳送到播放器播放,不在本地存儲。

      ?

      posted @ 2024-12-21 17:05  未然king  閱讀(2360)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产一级三级三级在线视| 成人精品日韩专区在线观看| 果冻传媒一区二区天美传媒| 福利一区二区视频在线| 国产综合视频一区二区三区| 国产精品熟女亚洲av麻豆| 日韩黄色av一区二区三区| 福利在线视频一区二区| 国产亚洲国产精品二区| 长春市| 无码乱人伦一区二区亚洲| 深夜av免费在线观看| 亚洲中文字幕久久精品蜜桃| 国产一区日韩二区欧美三区| 久久精品国产久精国产| 亚洲国产中文字幕精品| 无码中文av波多野结衣一区| 中文字幕人妻无码一夲道| 鲁一鲁一鲁一鲁一澡| 一区二区三区鲁丝不卡| 忘忧草社区在线www| 久久夜色撩人精品国产av| 伊人久久大香线蕉av五月天| 中文字幕无线码中文字幕免费| 国产一区二区三区韩国| 麻豆成人精品国产免费| 欧美色丁香| 日韩放荡少妇无码视频| 久久精品天天中文字幕人妻| 亚洲成人精品一区二区中| 九九久久亚洲精品美国国内| 国产精品乱码高清在线观看| 午夜福利精品国产二区| 国产精品最新免费视频| 亚洲人成18在线看久| 蜜桃精品成人影片| 十八禁国产精品一区二区| 久热这里只有精品12| 四川少妇被弄到高潮| 国产乱妇无乱码大黄aa片| 东京热人妻丝袜无码AV一二三区观 |