在檢視原始碼時,發現按F12(開啟開發者模式),會無限陷入debugger斷點除錯。
無限debugger的主要作用?
反除錯/反爬蟲:阻止我們除錯和分析目的碼的執行邏輯
無限debugger的基本實現
debugger
關鍵字的應用:
Function/eval “debugger”
function debugger
function anonymous({
debugger
})
解決辦法:
第一種:手動關閉斷點除錯
關閉掉debug除錯
source 中找到這個按鈕,關閉即可。
第二種:使用中間人方法。
主要是藉助其他工具將debugger替換成’debuger’,將關鍵字變成字串,使關鍵字失去它的作用第三方的工具主要有:fiddler、mitmproxy等,如果有需要請自行百度學習。
第三種:更換js檔案
reres替換本地修改過的檔案
思路:首先獲取js檔案,下載到本地,將檔案修改(將debugger刪除或者改寫),重新請求時使用本地修改過的js檔案,具體操作請自行百度
##第四種:直接在console輸入以下程式碼,步驟如下:
開啟F12點選Console
輸入(function(){}).constructor === Function,回車;
如果返回的是true,繼續輸入Function.prototype.constructor = function(){},並回車;
切換回sources選項卡,點選繼續執行,無限debugger的問題就解決了
注意:如果第二步返回的是false,則此方法不可用。
本作品採用《CC 協議》,轉載必須註明作者和本文連結