般收費的歌曲你單機下載他會彈出收費的頁面,下面就可以教大家如何破收費音樂。
收費彈窗
設置緩存目錄
我們可以把目錄設置的簡單一點,我這里設置目錄是F:/網易云音樂破解
我這里的目錄是F:/網易云音樂破解
目錄設置好了后,軟件會提示你重啟,你重啟下軟件
選擇下載的音樂
進入網易云設置的緩存目錄,我這電腦的是F:/網易云音樂破解
音樂文件緩存的目錄
.uc文件就是音樂緩存的文件了
正常播放頁面
建議下載音樂之前先清除一下你剛設置音樂緩存的目錄,不然緩存文件太多,識別你要下載的文件比較費勁,當然文件多你也可以看修改時間識別出來
教程到這里結束,如有什么疑問,請在下方留言,我會在第一時間回復你
s破解網易云音樂歷程
網絡爬蟲的大障礙,就是各種加密。這其中包過登錄的驗證碼以及加密。js混淆、js參數加密等等。其實以前也就了解過js加密。但是沒有深入研究,借著這次實踐研究了一下網易云音樂的加密方式。
博主通過網易云音樂評論加密的實例來做個學習過程的分析和分享。
如果有問題或者不懂的地方可以關注我的微信公眾號(bigsai),聯系我。
靜態網頁
對于一般的url隨著頁面的變化而變化的頁面,網易云還是有的,你只需要抓取網頁進行分析即可。
動態網頁
但隨著前后端分離的流行,以及數據分離好處明顯。越來越多的數據采用ajax渲染。而網易云的評論即使如此。
在前后端分離剛火,那時很多網站對借口并沒有太大的防護措施。就使得很多網站輕松獲取結果。至今也有很多這樣的借口存在,這種網站爬去就是傻瓜式爬取。
然而隨著前段技術的發展,接口也變的越來越棘手。就拿網易云的評論來說:它的參數就讓人很懵逼。
這一串串數字到底是啥。很多人見到這樣的數據就會選擇放棄。那么讓我為你解開它什么的面紗。
step1: 找參數
你可以看的到,它的參數有兩個,一個是params,一個是encSecKey并且都是經過加密的,我們就要分析它的源頭。F12打開source搜索encSckey.
在查找這個js內部的encSecKey,發現原來在這里,經過斷點調試發現這里就是最終參數的結果。
step2:分析js函數
這個js有4w多行,如何能在4w多行js中找到有用的信息,然后理清楚這里的思路呢?
這就需要你的抽象和逆向思維了。來,咱么開始分析。
var bYc7V=window.asrsea(JSON.stringify(i3x), bkY2x(["流淚", "強"]), bkY2x(VM8E.md), bkY2x(["愛心", "女孩", "驚恐", "大笑"])); e3x.data=k4o.cz4D({ params: bYc7V.encText, encSecKey: bYc7V.encSecKey })
上面這段代碼中就是來源,我們先不管這個JSON.stringify(i3x)這些參數是啥,先搞清楚window.asrsea是什么。在上面不遠處你會發現:
這個就是d函數才是所有數據,方法的根源,d、e、f、g四個參數就是我們剛剛說的不要管的參數。
從這個函數就是分析:encText是經過兩次b()函數,encSecKey是經過c()函數,執行的一個參數。注意其中i參數來源是a(16).網上看看這些函數。
function a(a) { var d, e, b="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", c=""; for (d=0; a > d; d +=1) e=Math.random() * b.length, e=Math.floor(e), c +=b.charAt(e); return c } function b(a, b) { var c=CryptoJS.enc.Utf8.parse(b) , d=CryptoJS.enc.Utf8.parse("0102030405060708") , e=CryptoJS.enc.Utf8.parse(a) , f=CryptoJS.AES.encrypt(e, c, { iv: d, mode: CryptoJS.mode.CBC }); return f.toString() } function c(a, b, c) { var d, e; return setMaxDigits(131), d=new RSAKeyPair(b,"",c), e=encryptedString(d, a) } function d(d, e, f, g) { var h={} , i=a(16); return h.encText=b(d, g), h.encText=b(h.encText, i), h.encSecKey=c(i, e, f), h }
可以發現a(16)就是一個隨機生成的數,所以我們不需要管他。而b目前來看是AES的cbc模式加密。那么這個encText生成的規則我們就很清楚了。兩次AES的cbc加密。其中偏移量為0102030405060708固定不變。兩次的key不同。而函數c就是三個參數進行RSA加密。整個算法大體流程差不多稍微了解。
到這里先停一下,不要在分析函數了,我們在分析分析數據。
step3:分析參數
再回到var bYc7V=window.asrsea(JSON.stringify(i3x), bkY2x(["流淚", "強"]), bkY2x(VM8E.md), bkY2x(["愛心", "女孩", "驚恐", "大笑"]))這個函數。憑直覺能夠感覺得到有些數據一定跟我們的核心參數無關,最多跟時間戳有關。
查找bky2x源頭,
再找的話其實沒必要,這類函數你找找。可以復制到vscode溯源找到根源。分析,在這里就不繁瑣介紹。直接打斷點分析吧!看看他是怎么執行的。
其實多次抓你會發現后三個參數是固定不變的(非交互型數據)。
然而最想要的是第一個參數
你心心念念的參數原來長這個樣,那么和預想差不多,僅僅第一個參數和我們的參數有關。offset就是頁面*20,R_SO_4_+songid就是當前這首歌的id.其實到這個時候,你的i和encSecKey可以一起保存了。因為上面分析說過,這個i是隨機生成,而encSecKey也和我們核心參數無關,但是和i相關,所以要記錄一組。用作ESA加密的參數和post請求的參數。
現在的你是不是很激動,因為真想即將浮出水面。
step4: 校驗
這步驟也是很重要的一環,因為你在它的js中會發現。
網易是否會動手腳呢?下載原始的js進行測試。發現哈哈,結果一致。那么就不需要更改再仔細查看那段加密算法的代碼了。
架構圖為
step5:轉為python代碼
需要將AES的cbc模式的代碼用Python克隆。達到加密的效果,測試一下。發現結果一致nice
下面就開始編寫爬蟲。先用postman測試需要那些參數。
沒問題,編寫爬蟲。根據你喜歡的哥。把id輸進去,生成你愛的詞云!一首光輝歲月送給大家!
源碼github地址求Star。
如果有疑問或者過期可以關注我公眾號聯系我。
門見山,今天跟大家分享一個解鎖網易云音樂灰色歌的方法,但是這個方法僅供交流。傳播太大影響并不好。建議收藏、低調使用,哈哈哈。
愛聽音樂的朋友都知道網易云最讓人不舒服的,是音樂版權問題,歌單里的很多歌曲動不動就下架,找不到資源。版權少,往往導致為了聽一個歌要來回倒很多軟件。更曾經因周杰倫音樂版權問題導致大量杰倫粉直接卸載了網易云音樂。
所以說,這個教程對于網易云音樂用戶是絕對個福利。好,教程開始。
第一步:準備工作
這次就拿周杰倫的歌曲演示,我們先來看一下原圖。目前杰倫的歌曲情況。基本是被下架無法播放的。
好了,接下來就是見證奇跡的時刻
第二步:安裝『解鎖網易云音樂小工具』
作者在網絡上無意間逛論壇的時候,發現了這個神器、就是這個:解鎖網易云音樂的小工具。
小編真實經歷測試,PC客戶端周杰倫的歌輕松解鎖。
第三步:具體步驟方法
1、下載『解鎖網易云音樂小工具』(關于獲取方法請大家私聊,為了安全文章暫不透露)
2、軟件設置,打開網易云音樂。點擊設置→工具→自定義代理→服務器手動填寫:127.0.0.1→確定重啟。
3、打開『解鎖網易云音樂小工具』
(聲明:軟件很有可能被認為是病毒軟件,還請提前關閉win10的自動查殺功能)
啟用后的狀態為:正在運行,則表示成功。
大功告成!!!
我們再來到網易云音樂看一下。
哈哈哈哈,是不是很神奇。
點一首歌聽一下試試。
時間原因部分測試,有些是加載失敗,估計是服務器的原因,但是基本是成功的,不信大家看。這首《煙花易冷》
好了,今天的教程就分享到這里了。想要小工具的朋友們記得私聊我喔~
本教程只供網友們學習,方便自己的日常使用,畢竟是野路子,還是希望大家支持正版,最后希望大家不要拿來做一下違法的事情。
我是野路子科技,專注于各種比較“野”軟件、教程、科技雜談。如果大家感覺的我的文章對您有幫助,請記得點點贊,、評論、收藏、關注,您的支持就是我最大的動力!!!!!
最后大家如何看待關于:音樂破解下載的國人版權意識問題?歡迎留言交流