天天看點

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

實際問題與需求

想對網站進行爬蟲操作或分析算法時,打開F12和往常不同的是,浏覽器自動斷點,導緻無法正常分析js,如圖可知,浏覽debugger處于暫停狀态,這是前端浏對非授權調試者在debug時造成幹擾,在一定程度上保護前端代碼這種情況比較無奈,本文說下自己解決的兩個方法吧!

本文涉及工具:浏覽器,fiddler

示範登陸的位址:https://m.eyee.com/login (後期網站如有變動,學習方法即可)

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

(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顯示給煩惱了!

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

方法1的方法治标不治本,雖然可以不受幹擾,對于簡單的js加密分析可以解決問題,但是複雜的算法,我們需要斷點分析的時候,卻也失去了功能,這時候我們需要借助另一款工具fiddler,下面方法2預設工具你已經配置好可以直接使用的,如果不會,https://blog.csdn.net/baoming_mm/article/details/102995141 請參考這篇文章

方法2(解決實際問題-最簡單的方法)

在斷點處前方數字右擊 切記右擊位置喔,如圖,選擇 第三個,輸入 false 回車,然後點選放行繼續,就可以不再彈了

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)
爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

方法3(解決實際問題-麻煩點也是學會fiddler的一個功能)

運用fiddler的AutoResponder,我們既然已經知道讓我們無限debugger的js位置,我們就想辦法替換或者去掉這段代碼,剛好工具擁有自動重定向檔案的功能,我們來通過截圖看看使用方法

第一步:熟悉界面的大緻功能意思

1.工作面闆說明

Enable rules:啟動按鈕

Unmatched requests passthrough:不比對的請求繼續發送

Enable Latency:設定延時

過濾規則輸入框:可以根據自己的需要編寫正則、精确比對、字元串比對等規則

本地檔案輸入框:選擇需要使用的本地檔案

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

第二步:儲存出需要替換的代碼,記住儲存位置,待會兒要用

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

第三步:設定比對規則和需要替換的本地檔案

純字元串比對:不區分大小寫,直接對包含有這個字元串的接口傳回使用本地檔案覆寫

NOT比對:不區分大消息,比對不包含後面填寫的字元串的接口

EXACT比對:精确比對,區分大小寫;精确比對

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)
爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

第四步:我們去重新整理頁面,就會自動替換我們符合規則的位址的檔案了,我們再次f12會發現,已經不會再有問題了。

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

第五步:然後我們就可以愉快的分析加密啦,就和平時操作一樣,想幹啥幹啥,這也是最後的效果圖,不得不說,fiddler真是一個神器,還有更多實用的功能需要你去發現,好了,教程到此結束!

爬蟲類Chrome去除前端無限debugger反調試(輕松分析算法)

繼續閱讀