在查看源代碼時,發現按F12(打開開發者模式),會無限陷入debugger斷點調試。
無限debugger的主要作用?
反調試/反爬蟲:阻止我們調試和分析目標代碼的運行邏輯
無限debugger的基本實現
debugger關鍵字的應用:
Function/eval “debugger”
function debugger
function anonymous({
debugger
})
解決辦法:
第一種:手動關閉斷點調試
關閉掉debug調試
第二種:使用中間人方法。
主要是借助其他工具將debugger替換成’debuger’,將關鍵字變成字符串,使關鍵字失去它的作用第三方的工具主要有:fiddler、mitmproxy等,如果有需要請自行百度學習。
第三種:更換js文件
reres替換本地修改過的文件
思路:首先獲取js文件,下載到本地,將文件修改(將debugger刪除或者改寫),重新請求時使用本地修改過的js文件,具體操作請自行百度
第四種:直接在console輸入以下代碼,步驟如下:
-
打開F12點擊Console
-
輸入(function(){}).constructor === Function,回車;
-
如果返回的是true,繼續輸入Function.prototype.constructor = function(){},並回車;
-
切換回sources選項卡,點擊繼續執行,無限debugger的問題就解決了
注意:如果第二步返回的是false,則此方法不可用。
本文地址: http://www.chenxm.cc/article/1218.html.html
版權聲明: 本文為原創文章,版權歸 陳新明 所有,歡迎分享本文,轉載請保留出處!