實際問題與需求
想對網站進行爬蟲操作或分析算法時,打開F12和往常不同的是,浏覽器自動斷點,導緻無法正常分析js,如圖可知,浏覽debugger處于暫停狀态,這是前端浏對非授權調試者在debug時造成幹擾,在一定程度上保護前端代碼這種情況比較無奈,本文說下自己解決的兩個方法吧!
本文涉及工具:浏覽器,fiddler
示範登陸的位址:https://m.eyee.com/login (後期網站如有變動,學習方法即可)
(function anonymous( ) { debugger })
(function anonymous(
) {
debugger
})
簡單分析與解決
有點底子的,我們很快可以尋找到造成這種彈窗的js代碼,他是處于https://m.eyee.com/login的源代碼中的,其餘反調試代碼也大同小異,我們隻需要找到位置即可:
<script>
var _0xde02 = ["length", "", "debugger", "constructor"];
!(function test() {
try {
!(function _0x6ba3x2(_0x6ba3x3) {
((_0xde02[1] + _0x6ba3x3 / _0x6ba3x3)[_0xde02[0]] !== 1 || _0x6ba3x3 === 0) && function() {}
[_0xde02[3]](_0xde02[2])(),
_0x6ba3x2(++_0x6ba3x3)
}(0))
} catch (e) {
setTimeout(test, 80)
}
}())
</script>
方法1(簡易抓包或者分析js适用):
點選Deactivate breakpoints : 使所有斷點臨時失效,這也意味着我們不能進行斷點調試了,但是其餘功能都可以正常使用
我們點選後,按鈕将變為藍色,然後我們點選Resume script excution 【繼續執行】,現在我們就不會被無聊的vm顯示給煩惱了!
方法1的方法治标不治本,雖然可以不受幹擾,對于簡單的js加密分析可以解決問題,但是複雜的算法,我們需要斷點分析的時候,卻也失去了功能,這時候我們需要借助另一款工具fiddler,下面方法2預設工具你已經配置好可以直接使用的,如果不會,https://blog.csdn.net/baoming_mm/article/details/102995141 請參考這篇文章
方法2(解決實際問題-最簡單的方法)
在斷點處前方數字右擊 切記右擊位置喔,如圖,選擇 第三個,輸入 false 回車,然後點選放行繼續,就可以不再彈了
方法3(解決實際問題-麻煩點也是學會fiddler的一個功能)
運用fiddler的AutoResponder,我們既然已經知道讓我們無限debugger的js位置,我們就想辦法替換或者去掉這段代碼,剛好工具擁有自動重定向檔案的功能,我們來通過截圖看看使用方法
第一步:熟悉界面的大緻功能意思
1.工作面闆說明
Enable rules:啟動按鈕
Unmatched requests passthrough:不比對的請求繼續發送
Enable Latency:設定延時
過濾規則輸入框:可以根據自己的需要編寫正則、精确比對、字元串比對等規則
本地檔案輸入框:選擇需要使用的本地檔案
第二步:儲存出需要替換的代碼,記住儲存位置,待會兒要用
第三步:設定比對規則和需要替換的本地檔案
純字元串比對:不區分大小寫,直接對包含有這個字元串的接口傳回使用本地檔案覆寫
NOT比對:不區分大消息,比對不包含後面填寫的字元串的接口
EXACT比對:精确比對,區分大小寫;精确比對
第四步:我們去重新整理頁面,就會自動替換我們符合規則的位址的檔案了,我們再次f12會發現,已經不會再有問題了。
第五步:然後我們就可以愉快的分析加密啦,就和平時操作一樣,想幹啥幹啥,這也是最後的效果圖,不得不說,fiddler真是一個神器,還有更多實用的功能需要你去發現,好了,教程到此結束!