在JS逆向程序當中,獲取用發F12抓取XHR的時候,常常會發現網頁不讓我們打開F12開發人員工具,如果這個時候我們開啟工具中禁止斷點之后,雖然我們可以抓取xhr,但是這樣我們無法除錯代碼部分了,開啟了禁止斷點之后,我們自己也無法在代碼當中下斷點了
1.這里說明一下:關于上面說的禁止斷點怎么操作,我上一篇文章是有說明的
【JS逆向】之瀏覽器的功能詳細使用
2.開始我們就用我自己寫的一斷簡單debugger代碼來演示一個什么是debugger.:
setInterval(function (){
debugger;
},1000)
//setInterval這個是JS語言當中的定時器,它有兩個引數,第一個是要執行的代碼,第二個執行時間
這個一段代碼執行的話會一直斷住,不管你怎么跳轉到下一個斷點,它都還是會一直斷,其實這個就是一個無限debugger的代碼,如圖執行

這個時候我們要怎么去處理的著東西呢,
a.禁止斷點(不建議使用)
b.采用hook的方法來hook定義器
c.在定時器運行到debugger的時候必定是true才能執行,那我們給它改成false,那么它就不執行,也就達到我們的目的了.
下面我就說說這三種方法:
a.打開禁止斷點功能,在點擊跳到下一個斷點,但是當我們關閉禁止斷點之后,它還是會繼續斷住

b.hook定時器其實就是修改這個函式的執行屬性,可以達到讓他執行且不影響我們的正常功能又可以過我們的debugger代碼,下面我寫一斷簡單的hook代碼(當然hook代碼很多,不止這一個,只要你懂它的原理,那么你肯定會造出很多比我這個優秀很多的hook代碼,),
var _setInterval=setInterval//先定義一個變數來接收這個函式
setInterval=function (){}//在修改原函式

hook下斷點的位置很重要,一定要在這個函式沒執行之前,我這里是把斷點下在1行這個位置,工具還沒有執行里面的代碼,加載代碼就會斷住,然后在這個時候就可以在我們的控制臺輸出我們的hook代碼,回車執行,

在點擊跳到下一個斷點就OK了,就完美就過了我們的debugger,
c.當定義器運行到這個debugger這個代碼的時候,那么這個時候它為true,它肯定執行我們的debugger代碼,那我們可以用瀏覽器的功能給他改成false,畢竟我們瀏覽器工具還是很強大的,如圖:

這個功能是在代碼的第二行,滑鼠右鍵,選擇Add conditional…這個選項,就會出現這個輸入框,直接輸入false 回車,再點擊跳到下一個斷點,那我們也完美的過了這個debugger,
3.方法多種多樣,只要懂了它的運行原理之后那么就可以進行一系列騷操作了,
4.注明:這里很有瀏覽器的功能使用,看不懂的小伙伴可以去我上一篇文章閱讀觀看哦,可以是你的基礎更加扎實哦,
5.小弟寫東西不容易,還需要大家給個好評給個贊點個關注,小弟在這感謝給位觀看閱讀,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/248110.html
標籤:其他
上一篇:js 封裝彈出層簡單方法
