1.hook debugger
var _constructor = constructor;
Function.prototype.constructor = function(s) {
if (s == "debugger") {
console.log(s);
return null;
}
return _constructor(s);
}
//去除无限debugger
Function.prototype._constructor_back = Function.prototype.constructor ;
Function.prototype.constructor = function() {
if(arguments && typeof arguments[0]==='string'){
//alert("new function: "+ arguments[0]);
if( "debugger" === arguments[0]){
// arguments[0]="consoLe.Log(\"anti debugger\");";
//arguments[0]=";";
return
}
}
return Function.prototype._constructor_back.apply(this,arguments);
};
var _Function = Function;
Function = function(s){
if(s == "debugger"){
console.log(s);
return null;
}
return _Function(s);
}
2.hook cookie
window.cbb_cook = document.cookie;
Object.defineProperty(document, "cookie",{
get:()=>{
return window.cbb_cook
},
set:(x)=>{
debugger;
window.cbb_cook = x
}
})
(function(){
var cookieTemp = "";
Object.defineProperty(document, "cookie",{
get: function(){
return cookieTemp;
},
set: function(val){
console.log("Hook捕获到cookie设置->", val)
debugger;
cookieTemp = val;
return val;
}
});
})();