关于前端:浏览器反调试检测

检测形式有多种

键盘监听:是否按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;
    }

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理