利用fiddler解除無限debug網站限制


介紹

當我們在研究某些網站如何運行時因為“一些原因”在我們打開控制台時總會陷入無限debug模式。

一般這種方式能防止用戶在瀏覽器中進行網站調試,限制的實現方式也很簡單通過js 定時器無限調用debug就可以了。

而我們使用的工具fiddler是一款常用的抓包軟件,功能十分強大。

原理是通過fiddler過濾掉debug部分代碼,使其debug無效。

 

開始實現

確認debug代碼位置

這里實驗網站隨意,首先要在瀏覽器里定位網站中debug代碼位置,在chrome瀏覽器控制台中點Sources,然后按 Ctrl + Shift + F 開始搜索關鍵字。

這里可以搜 debugger 或者 setInterval 可能搜索出來的結果不是唯一,需要我們自己根據代碼判斷下。

如果不好判斷可以格式化下代碼看看具體代碼確定位置。

 

這里我已經找到了代碼的位置,貌似將判斷和死循環去掉就可以了。

改去掉debug的代碼方法因為網站不同都不一樣,如果一次不行,建議多試幾次。

 

 

打開Fiddler檢測下是否能抓到該文件,如果刷新頁面該文件沒有出現在Fiddler中

檢測是否js靜態文件已經被瀏覽器緩存了,可以打開瀏覽器控制台中的Network 鈎上Disable cache

或者Fiddler沒有設置證書抓不到https網站,設置證書可以百度一下設置的方法很多。

 

 

在fiddler里面找到代碼,復制到本地的編輯器中修改。因為大多代碼都是被壓縮了,所以這里最好復制兩份。一份是原樣的還有一份是格式化的。(格式化后可能就不能運行了)

我們在格式化的代碼中修改(方便理解),修改后搜索原碼在相同的位置修改。

 

 替換修改后的代碼

修改完代碼后就是最關鍵的代碼替換,這里我們需要把Fiddler開啟斷點,在Fiddler頂部菜單點擊 Rules - Automatic Breakpoints - After Responses 如下圖 

 

 打完斷點后,此時所有請求都會被Fiddler攔截。

 

 瀏覽器刷新頁面,再在fiddler一步一步地允許文件發送,直到發現我們改的文件出現,此時將我們改的代碼復制進去再點 Run to Completion。

 

 

再打開瀏覽器將Netword - Disable cache 鈎去掉使瀏覽器保存我們改動的代碼到緩存(刷新不會失效)。

再取消Fiddler斷點(Rules - Automatic Breakpoints - Disabled),使其能正常請求數據。 

此時我們已經去除了debug限制了。

當然這里去除debug代碼部分只是舉個例子,所以大家可以看情況而改,多試幾次一定能成功的。


免責聲明!

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



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