bypass debugger
(function() { let _Function = Function; Function = function Function(string) { if (string.indexOf("bugger") > -1) { console.log("Hook Function debugger!"); return function() {} ; } else { _Function(string); } } ; } )();
(function () { let constructorCache = Function.prototype.constructor; Function.prototype.constructor = function (string) { if (string === "debugger") { console.log("Hook constructor debugger!"); return function () {}; } return constructorCache(string); }; })(); (function () { let setIntervalCache = setInterval; setInterval = function (func, delay) { if (func.toString().indexOf("debugger") !== -1) { console.log("Hook setInterval debugger!"); return function () {}; } return setIntervalCache(func, delay); }; })(); (function () { let setTimeoutCache = setTimeout; setTimeout = function (func, delay) { if (func.toString().indexOf("debugger") !== -1) { console.log("Hook setTimeout debugger!"); return function () {}; } return setTimeoutCache(func, delay); }; })(); (function () { let evalCache = window.eval; window.eval = function (string) { if (string.includes("debugger")) { console.log("Hook eval debugger!"); } return evalCache(string.replace(/debugger\s*;?/g, "")); }; window.eval.toString = function () { return evalCache.toString(); }; })(); (function () { let appendChild = Element.prototype.appendChild; Element.prototype.appendChild = function (obj) { if (obj && obj.text && obj.text.includes("debugger")) { console.log("Hook appendChild debugger!"); obj.text = ''; } return appendChild.apply(this,[obj]); }; })();
https://www.cnblogs.com/re-is-good/p/16631913.html