HOOK -->debugger

// 重写 Function 构造器,拦截并删除 debugger
(function() {
    // 保存原始 Function 构造器
    var originalFunction = Function;

    // 重写 Function 构造器
    window.Function = function(...args) {
        // 将所有参数中的 "debugger" 替换为空字符串
        args = args.map(arg => typeof arg === 'string' ? arg.replace(/debugger/g, '') : arg);

        // 调用原始 Function 构造器并返回
        return originalFunction(...args);
    };

    // 确保 toString 显示原始构造器
    window.Function.toString = () => originalFunction.toString();
})();

// 重写 eval 函数,拦截并删除 debugger
(function() {
    // 保存原始 eval 函数
    var originalEval = window.eval;

    // 重写 eval 函数
    window.eval = function(code) {
        // 如果传入的代码是字符串,删除其中的 "debugger"
        if (typeof code === 'string') {
            code = code.replace(/debugger/g, '');
        }

        // 调用原始 eval 函数执行代码
        return originalEval(code);
    };

    // 确保 toString 显示原始 eval
    window.eval.toString = () => originalEval.toString();
})();

 

posted @ 2024-11-04 14:34  *感悟人生*  阅读(9)  评论(0编辑  收藏  举报