小白hook无限debugger

文章正文
发布时间:2025-07-01 23:51

[md]## 常见debugger及如何Hook

1、直接使用debugger 2、使用 eval() 函数 eval("debugger;") eval('(function() {var a = new Date(); debugger; return new Date() - a > 100;}())') 3、定时器触发 setInterval(function (){debugger;},4000); 第一种:永不在此断点

在debugger左边,右键,选择永不在此断点或者编辑该断点改为false。

优点:简单,易上手

缺点:如果存在内存爆破,无限调用,该方法会使浏览器卡死

第二种:Hook 无限 debugger 函数

通过定时器实现的debugger,必须要从根源进行hook,否则定时器会一直重复执行,也就是必须在定时器执行前将定时器给hook掉

setInterval(function () {     debugger }, 500)

猿人学第一题就是该类型,在不使用第一种方法的情况下我们可以这样做

首先在定时器还未运行前进行断点,然后进行hook,下面给一种最简单的hook方法

window.setInterval = function(){};

2.构造器类型debugger

特征点就是有constructor

Function.prototype.__constructor_back = Function.prototype.constructor; Function.prototype.constructor = function() {     if(arguments && typeof arguments[0]==='string'){         if("debugger" === arguments[0]){             return         }     }    return Function.prototype.__constructor_back.apply(this,arguments); } 第三种:本地替换

将网页js保存到本地,把debugger函数进行修改然后使用浏览器开发者工具替换修改js,或者通过FD工具替换。

方式五:使用Fiddler、油猴等插件Hook

1.首先打开想要过debugger的网页

2.点击油猴,选择添加新脚本

3.在下面的自调用函数中写hook方法

4.点击文件保存,然后刷新网页就可以用了

Fiddler工具(如何安装证书的教程请百度,这里只讲如何hook)

1.打开工具,使用编程猫插件的注入hook

2.地址清空,然后勾选开启

3.进入调试的网页刷新即可