從使用者的角度解開 shaka-packager 加密影片

Made with Flux.1-dev

前言

寫得很簡略,是給未來的我讀的筆記
看不懂不要問我,我懶得答

此筆記沒有任何「破解」要素
我只是說明如何用你手上的鑰匙把鎖打開,沒有鑰匙的人打不開鎖
在開始以前請確認:
  • 你可以在網頁中播放影片
  • 影片使用 shaka-packager 技術加密
  • 你能取得 License Server 的 Clear Key Response 內容

Before Start: 如何得知影片是以 shaka-packager 加密

取得加解密軟體

下載 shaka-packager

https://github.com/shaka-project/shaka-packager/releases/latest

取得被加密的影片

在網頁中 F12 → Network,找到要解密的影片檔案

本例中是 1_1063.webm
將 webm 檔案下載: 右鍵 → Open in new tab

圖中有好幾個 webm 是因為 206 partial content download
事實上它是在載同一個檔案的不同部份

取得 Clear Key

在下載檔案的附近尋找 Clear Key request

本例網頁是使用 Shaka-player,它問回來的 Clear Key 格式如下

重點是其中的 Key ID (kid) 和 Key (k)

將 CleayKey 轉換為 hex 格式

使用 online base64 to hex converter 將 Clear Key 轉換為 32 碼的 hex 格式,Key Id 和 Key 都要轉換

解碼使用 Base64URL,詳見 wiki

使用 packager 解密影片

將指令中的

  • {EncryptedWebmFile} 替換為加密影片路徑
  • {HexKeyID}{HexKey} 替換為前步驟轉出的 32 碼 Hex 字串
  • {stream_selector} 替換為 audio, video, text,視影片內容而定
    stream_selector (stream):
    Required field with value ‘audio’, ‘video’, ‘text’ or stream number (zero based). ref
packager.exe input={EncryptedWebmFile},output=out.webm,stream_selector={stream_selector} --enable_raw_key_decryption --keys key_id={HexKeyID}:key={HexKey}

參考資料

沒有留言:

張貼留言

本站遭到垃圾留言(病毒連結)攻擊,開啟審核模式。留言後並不會馬上公開顯示。

目錄