Skip to content
鼓励作者:欢迎打赏犒劳

无限debugger

有的网站为了防止f12,故意设置成,如果打开了f12就进入无限debugger中,非常的烦人。那么如何实现呢?很简单,就是while循环而已,只不过 一般debugger是动态生成的。 你只要不打开f12控制台,debugger就不会生效而已

如何实现

javascript
<script>
    setInterval(function () {
        check()
    }, 1000)

    let check = function () {
    (Function("debugger;"))()
    // 或者下面的写法  都可以
    /*;(function () {}['constructor']('debugger')())*/
}
</script>

解决办法

解决办法有很多种,下面的方法任选其一即可

  1. 在开发者工具中点击 "停用断点" 图标

  2. 重写关键函数

js
// 在打开开发者工具前执行
window.check = function() {};
  1. 修改debugger行为:
js
// 阻止debugger生效
const _constructor = Function.prototype.constructor;
Function.prototype.constructor = function() {
  if (arguments[0] === 'debugger') return function(){};
  return _constructor.apply(this, arguments);
};

如有转载或 CV 的请标注本站原文地址