检测形式有多种
键盘监听: 是否按 f12
浏览器内外高度差值
检测 console
利用代码运行时间差
利用 tostring
检测栈的层数 caller
...
反调伎俩
死循环 有限递归 两个办法相互调用 计时器 ...
解决方案
非虚拟机状况下
debugger 处右键 edit 改为 false
js 文件重载, 替换 js 文件
虚拟机状况下 (eval function)
能够将结构器置为空
Function.prototype.constructor = function(){}
或者谨严一点加个判断
var aaa = Function.prototype.constructor;
Function.prototype.constructor = function(x){if (x=="debugger"){return function(){};}
return aaa;
}