解除百度雲瀏覽器端對下載大文件的限制


百度網盤對瀏覽器端下載大文件做了一些限制,當超過一定大小的文件必須使用百度雲管家才可以下載,這給用戶的使用帶來了不便。

 [不看分析請直接拉到頁底]

1. 百度網盤限速原理

  當點擊下載一個大文件的時候百度網盤會彈出這樣一個提示框。

  

  我們給下個斷點,看看是什么代碼創建了這個提示框。

  

  然后再次點擊下載一個大文件,我們發現斷點已經斷下來了。

  

  可以看出這里是在把提示對話框顯示出來,我們需要查看調用棧往上找找。

  

  跳過一些jQuery的操作,我們看到了這樣一個函數,繼續往上找。

  

  這個isPlatformWindows的分支很可疑,我們跟進去看一下,於是我把DOM斷點取消了,並在1748行這里下了個斷點。

  

  斷下來了,跟進去看看。

  

  這個函數只是簡單的判斷了 navigator.platform 這個平台相關的字符串,我們修改一下看看會發生什么結果

  

  

  讓代碼繼續跑起來

  

  嗯,我們成功了。

 

2. 寫段代碼來破解吧

  從上面的調試中我們已經知道了百度是通過判斷 window.navigator.platform 是不是以 win32 開頭來判斷是否是運行瀏覽器下載的,所以我們只需要修改這個變量就輕松解除了限制。

  經過嘗試我發現,platform這個屬性被百度凍結了。

  所以只能修改 navigator 。

  修改代碼如下:

  

Object.defineProperty(this , 'navigator' , {value: { platform: "" }});

  

一句話總結:

  打開瀏覽器控制台(F12) 在命令行行 Object.defineProperty(this , 'navigator' , {value: { platform: "" }}); 這段代碼即可解除百度網盤對瀏覽器下載大文件的限制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM