哈嚕~進(jìn)來(lái)看這篇文章的你,如果不是想增廣見聞、學(xué)習(xí)新知,就是想多了解一些好用來(lái)壞壞。
在此提醒,接下來(lái)我們就透過這篇文章,具體談?wù)勅绾瓮高^技術(shù)手段將此DASH-IF網(wǎng)站的的影片下載下來(lái),並且進(jìn)行解鎖。
請(qǐng)注意:本文為路人乙的原創(chuàng),僅用於學(xué)習(xí)與交流,此文章並不會(huì)把所有使用到的工具寫出來(lái),也不會(huì)詳細(xì)說明步驟,發(fā)佈該文章只是想促進(jìn)學(xué)習(xí)以及交流。
由於已經(jīng)知道此影片是經(jīng)過加密過後的,如果你在網(wǎng)站上截圖會(huì)發(fā)現(xiàn)畫面一片黑,這就是因?yàn)榻?jīng)過了數(shù)位版權(quán)管理的關(guān)係,但並不是無(wú)法破解,只是步驟上比較麻煩。
那麼該怎麼取得該影片呢?其實(shí)只要用N_m3u8DL-RE即可。
像我一開始剛接觸這些對(duì)這個(gè)一竅不通,畢竟已經(jīng)用習(xí)慣了方便的下載器,通常只需要滑鼠點(diǎn)擊幾下即可獲取想要的檔案,但因?yàn)橐恍┢鯔C(jī)接觸到了該軟體才發(fā)現(xiàn)了原來(lái)有這麼多這麼有趣的東西,因此激發(fā)我去了解並學(xué)習(xí)。
N_m3u8DL-RE這個(gè)是在GitHub上的一個(gè)開源程式,這必須用命令提示字元( cmd )輸入指令才能進(jìn)行下載,對(duì)於沒接觸過的人老實(shí)說算是有點(diǎn)難度,但學(xué)會(huì)了如何使用你會(huì)發(fā)現(xiàn)這比一般的免費(fèi)下載器好用太多太多了,且不用安裝程式本身又小。
不過可以使用瀏覽器上的擴(kuò)充The Stream Detector就能簡(jiǎn)單獲取指令,那經(jīng)過該擴(kuò)充所給出的指令,那麼我們來(lái)稍微查看下指令
N_m3u8DL-RE"mpd位置" --header"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" --header"Referer: 自行查看cookie"--save-name "dash"
使用一般的指令是無(wú)法獲取該影片的,通常這類經(jīng)過保護(hù)的影片都必須加上header讓他夾帶瀏覽器裡面的cookie等資訊才能夠獲取該檔案。這就是為什麼使用IDM無(wú)法取得該影片的原因。
至於要加上哪些資訊,這就得要透過瀏覽器的開發(fā)者工具( DevTools)去查看並嘗試才可得知,簡(jiǎn)單按下F12即可,但實(shí)在是太過麻煩因此還是透過擴(kuò)充會(huì)比較方便。
已解析, 共計(jì)26 條媒體流, 基本流 10 條,可選音頻流 12 條, 可選字幕流 4 條
這跟mpd檔案內(nèi)的資訊一樣。那麼把取得的影片丟進(jìn)播放器進(jìn)行播放,可以看到影片基本上無(wú)法觀看,聲音也相當(dāng)奇怪。
這也是因?yàn)閿?shù)位版權(quán)管理的關(guān)係,未將影片進(jìn)行解鎖的關(guān)係。
接下來(lái)將說明如何獲取解鎖金鑰的過程,那麼我們來(lái)複習(xí)一下上一篇文章提到的金鑰的基本特徵:由公鑰(Key ID)和私鑰(Key)兩部分組成
公鑰儲(chǔ)存在mpd檔案中,從使用者向伺服器發(fā)送驗(yàn)證訊息,伺服器核驗(yàn)後向客戶端發(fā)送一個(gè)長(zhǎng)字串,那就是金鑰。
而提到了公鑰其實(shí)也就是PSSH,基本上mpd就可獲取,但其實(shí)也可以在開發(fā)者工具的控制臺(tái)( Console )裡面獲取,不過要先透過這款擴(kuò)充Tampermonkey加上這腳本EME Logger才能簡(jiǎn)單獲取
那麼已經(jīng)取得了PSSH那麼接下來(lái)就是伺服器網(wǎng)址,要獲取其實(shí)也不難,只要在網(wǎng)路( Network)內(nèi)搜尋license、widevine等關(guān)鍵字可以找到。
接著右鍵複製網(wǎng)址即可。那麼關(guān)鍵的兩樣?xùn)|西已經(jīng)獲取了,接下來(lái)只要向伺服器發(fā)送PSSH,伺服器經(jīng)過驗(yàn)證後即可返回一串?dāng)?shù)值,該數(shù)值就是解鎖該影片的金鑰。
mp4decrypt.exe --key <KID>:<KEY> 加密影片.mp4解鎖後的影片檔名.mp4
最後就可以透過播放器正常播放。
什麼什麼?眼尖的你問我為什麼截圖上張跟下張裡面所呈現(xiàn)的資料對(duì)不起來(lái)?
這是因?yàn)榫帉懺撓盗形恼缕鋵?shí)耗費(fèi)了我相當(dāng)長(zhǎng)的一段時(shí)間,雖然都是在同個(gè)網(wǎng)站上獲取材料進(jìn)行截圖,但金魚腦如我每次所選的測(cè)試影片素材都不一樣,因此才會(huì)出現(xiàn)以上狀況,不過按照這思路下去進(jìn)行是可以獲取真正的金鑰,這是沒有問題的。
如果真的有人需要更詳細(xì)的教學(xué)方法,或許會(huì)考慮再寫一篇詳細(xì)的教學(xué),畢竟在繁體中文的圈子內(nèi)根本沒有人在討論,自己認(rèn)真學(xué)習(xí)了好一段時(shí)間才學(xué)會(huì),真的蠻想要有個(gè)小圈圈可以做討論交流,但教學(xué)應(yīng)該不會(huì)近期。