從上一小節我們可以發現js hook是比較容易實現的,但是對**的破壞性卻比較大。所以有些**會有js hook的檢測,最常見的就是比對關鍵函式前後的js文字,如果不一致就進入迴圈debugger。
function
test
(x,y)
setinterval
(function()
"? console.
log(
"未修改"):
setinterval
(function()
,1000);
},1000);
test
(100
,200
);
想要過掉這種hook檢測,我們可以編寫如下**
function.prototype.
tostring
=function()
";}
我們可以檢測setinterval中的引數**,如果**中有debugger,就進行過濾。
var _setinterval=setinterval;
setinterval
=function
(a,b)
_setinterval
(a,b)
;}
反除錯 時間
include include include using namespace std void isdebuger tbefore tafter return intmain rdtsc時鐘檢測反除錯 使用時鐘檢測方法是利用rdtsc這個彙編指令,它返回至系統重新啟動以來的時鐘數,並且將其作為乙個...
反除錯技術二
五 使用ntqueryinformationprocess函式 ntqueryinformationprocess函式是乙個未公開的api,它的第二個引數可以用來查詢程序的除錯埠。如果程序被除錯,那麼返回的埠值會是 1,否則就是其他的值。由於這個函式是乙個未公開的函式,因此需要使用loadlibra...
反除錯技術二
五 使用ntqueryinformationprocess函式 ntqueryinformationprocess函式是乙個未公開的api,它的第二個引數可以用來查詢程序的除錯埠。如果程序被除錯,那麼返回的埠值會是 1,否則就是其他的值。由於這個函式是乙個未公開的函式,因此需要使用loadlibra...