无限debugger的几种处理方式

不少网站会在代码中加入‘debugger’,使你F12时一直卡在debugger,这种措施会让新手朋友束手无策。

js中创建debugger的方式有很多,基础的形式有:

①直接创建debugger

debugger;

②通过eval创建debugger(在虚拟机中创建)

eval('debugger');

③通过Function创建debugger(在虚拟机中创建)

Function('debugger').call()
Function('debugger').apply()
Function().constructor('debugger').apply('action')

而我们遇到的debugger,多数是在这些形式的基础上,或配合定时器,或加上循环,甚至经过ob混淆。。。

对于过无限debugger,常用的方法有以下这些:

1、一律不在此处暂停

2、添加条件断点

 在debugger处添加一个结果为false的条件,让这个断点不会被运行

3、替换文件

 如果debugger是在js文件中,直接替换文件,删掉debugger,一劳永逸

4、hook

对于一些在虚拟机(VM)中生成的debugger,使用‘一律不在此处暂停(Never pause here)’后会出现网站变的很卡的情况,因为有些网站做了检测,这么做会卡爆你的浏览器。这个时候我们就需要hook。

根据debugger创建方式的不同,使用不同的hook代码

4.1、hook evel

eval_back = eval
eval = function (args) {if (args.includes('debugger')) {return null} else {return eval_back(args);}
}

4.2、hook constructor

Function.prototype._constructor = Function.prototype.constructor;
Function.prototype.constructor = function() {if(arguments.toString().includes('debugger')){return null}return Function.prototype._constructor.apply(this,arguments);
}

4.3、hook setInterval

setInterval_back = setInterval
setInterval = function(a,b){if(a.toString().includes('debugger')){return null;}return setInterval_back(a, b);
}

要注意注入hook代码要在执行debugger之前,所以要先在debugger前面的地方打断点,再刷新页面注入hook代码

5、油猴插件

有些网站,刷新之后会新开虚拟机,之前打下的断点就没有了,无法在执行debugger之前注入hook。对于这种情况,可以用油猴写hook脚本来监控网站,不用提前打断点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全防御-第七次

在FW5和FW6之间建立一条IPSEC通道保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 NAT: 安全策略: NAT: 安全策略: 修改服务器映射: 配置IPSEC:

物联网的商业模式洞察

大约在十年前(2014年11月),全球知名管理思想家、哈佛商学院教授迈克尔波特与PTC前首席执行官吉姆赫普尔曼,在《哈佛商业评论》上联合撰写了一篇备受赞誉的文章,题为《智能互联产品如何改变竞争》。在这篇文章中&#x…

零基础,学6个月嵌入式,能找到工作吗?

今天看到一个老铁问,他报了个班,学6个月,学完能找到工作吗? 我看了下他的学习内容,包含C语言、数据结构、系统编程、网络编程、STM32、RTOS、物联网通讯协议、Linux内核驱动,这是大纲,细节的课程…

AIOPS:Zabbix结合讯飞星火做自动化告警+邮件通知并基于人工智能提供解决方案

目前Zabbix官方已经提供Zabbix+ChatGPT的解决方案 ChatGPT一周年,你充分利用了吗?Zabbix+ChatGPT,轻松化解告警! 但是由于需要魔法等其他因素,比较不稳定,遂决定使用国内模型,这里我挑选的是讯飞星火,基于我之前的文档,在此基础上通过Zabbix的告警脚本实现调用AI模型…

Sora的核心技术预测

在ChatGPT火爆全网的一年后,OpenAI公司又一次大显身手:推出了全新的文生视频大模型Sora。直接输入文字提示词,即可直接生成长达60秒的视频。 “现实真的要不存在了。” 马斯克直接大呼:人类彻底完蛋了! 马斯克为什么…

面试题之——事务失效的八大情况

事务失效的八大情况 一、非public修饰的方法 Transactional注解只能在在public修饰的方法下使用。 /*** 私有方法上的注解,不生效(因私有方法Spring扫描不到该方法,所以无法生成代理)*/ Transactional private boolean test() …

每日学习总结20240308

每日总结 20240305 常用控件 QPushButton(按钮):用于触发操作或响应用户点击事件。QLabel(标签):用于显示文本或图像。QLineEdit(行编辑器):单行文本输入框&#xff0…

华为OD机试真题-测试用例执行计划

测试用例执行计划 题目描述: 某个产品当前迭代周期内有N个特性({F1,F2,...,FN})需要进行覆盖测试,每个特性都被评估了对应的优先级,特性使用其ID作为下标进行标识。 设计了M个测试用例({T1,T2,...,TM}),每个用例对应了一个覆盖特…

48、兰州大学、青海师范:专门用于深度CNNs的天阶斗技-ELA Local Attention

本文由兰州大学信息科学与工程学院、青海省物联网重点实验室、青海师范大学于2024年3.2日发表于ArXiv。为了解决现有的注意力模型在有效利用空间信息方面存在的限制和困难,提出了一种高效的局部注意力ELA模型。该方法通过分析坐标注意力的局限性,作者识别…

项目解决方案:多地5G蓄能电站的视频监控联网系统设计方案

目 录 一、前言 二、系统架构设计 1、系统架构设计说明 2、系统拓扑图 三、关键技术 1. 5G支持技术 2. 视频图像处理技术 3. 数据融合与分析技术 四、功能特点 1. 高效可靠 2. 实时监测 3. 远程控制 4. 故障预测 五、应用前景 一、前言 随着能源…

C++泛型实现搜索二叉树

文章目录 二叉搜索树查找插入删除实现应用性能分析 二叉搜索树 二叉搜索树(BST,Binary Search Tree)又称为二叉排序树,空树也算 二叉搜索树有如下性质 若左子树不为空,则左子树上所有节点值小于根节点若右子树不为空…

2575. 找出字符串的可整除数组(Go语言)

https://leetcode.cn/problems/find-the-divisibility-array-of-a-string/ 在看题解之前,我的代码是以下这样: package mainimport ("fmt" )func main() {fmt.Println(divisibilityArray("998244353", 3)) }func divisibilityArray…

供应链管理系统(SCM):得供应链得天下不是空话。

2023-08-26 15:51贝格前端工场 Hi,我是贝格前端工场,优化升级各类管理系统的界面和体验,是我们核心业务之一,欢迎老铁们评论点赞互动,有需求可以私信我们 一、供应链对于企业的重要性 供应链对企业经营的重要性不可…

使用plasmo框架开发浏览器插件,注入contents脚本和给页面添加UI组件

plasmo:GitHub - PlasmoHQ/plasmo: 🧩 The Browser Extension Framework plasmo是一个开发浏览器插件的框架,支持使用react和vue等技术,而且不用手动管理manifest.json文件,框架会根据你在框架中的使用,自…

ChatGPT高效提问——角色提示

ChatGPT高效提问——角色提示 角色提示技巧是一种通过给模型提供具体的角色扮演,指导ChatGPT输出的方法。这个技巧对一个具体的上下文或者听众定制生成的文本很有用。 要使用角色提示技巧,你需要提供明确具体的模型扮演的角色。 例如,如果…

如何在Windows环境下编译OpenOCD

1. 安装Cygwin Windows环境下编译OpenOCD可以是在MinGW-w64/MSYS或Cygwin下,这里选择Cygwin,下载安装Cygwin。 2. 进入OpenOCD源代码目录 打开Cygwin,进入OpenOCD源代码目录,例如代码放在D:\Temp\OpenOCD\openocd-code下&#…

C++学习笔记:AVL树

AVL树 什么是AVL树?AVL树节点的定义AVL树的插入平衡因子调整旋转调整左旋转右旋转左右双旋右左双旋 AVL树完整代码实现 什么是AVL树? AVL是1962年,两位俄罗斯数学家G.M.Adelson-Velskii和E.M.Landis 为了解决如果数据有序或接近有序二叉搜索树将退化为单支树,查找…

限制员工上网行为,如何有效管控员工上网行为? 你一定想不到这个方法!

发现员工上班时间刷抖音: 面对这种情况,领导不得火冒三丈??? 对于员工不恰当的上网行为,非常有可能导致工作效率低下、安全风险增加以及企业形象受损。 因此应该采取一些措施来对员工上网行为进行管理。 …

第三节:在Sashulin中自定义组件

上一节讲解了如何建立一个业务消息流,流程是由组件构成的。目前SMS提供了General、Database、MessageQueue、Socket、WebService、Http、Internet等系列常用组件,如果不满足业务需求,可以进行自定义组件开发。 一、组件开发 1、建立一个Jar…

C及C++每日练习(3)

选择题&#xff1a; 1.以下程序的输出结果是&#xff08;&#xff09; #include <stdio.h> main() { char a[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p; int i; i 8; p a i; printf("%s\n", p - 3); } A.6 B. 6789 C. 6 D.789 对于本题&#xff0…