firefox屏蔽debugger()

有些网站为了防止调试,在js里加入很多debugger()语句, 动态生成代码, 定时执行.手动设置断点无效.

解决方案,一种是在js编译的时候,直接内容替换把所有debugger()替换成空,还可以直接屏蔽debugger()语句,

firefox 里debugger()语句是单独一个断点类型(DebuggerStatement)

源码:FIREFOX_118_0b8_RELEASE里修改是这样的

diff 复制代码
diff --git a/js/src/vm/Interpreter.cpp b/js/src/vm/Interpreter.cpp
--- a/js/src/vm/Interpreter.cpp
+++ b/js/src/vm/Interpreter.cpp
@@ -4238,9 +4238,11 @@ bool MOZ_NEVER_INLINE JS_HAZ_JSNATIVE_CA
     END_CASE(Instanceof)
 
     CASE(Debugger) {
+/*  disabled
       if (!DebugAPI::onDebuggerStatement(cx, REGS.fp())) {
         goto error;
       }
+*/
     }
     END_CASE(Debugger)

编译过程

Firefox Contributors' Quick Reference --- Firefox Source Docs documentation

只编译了FIREFOX_118_0b8_RELEASE (linux/ubuntu版本)

相关推荐
人工智能训练10 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪10 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
pas13613 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠13 小时前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
珑墨14 小时前
【Turbo】使用介绍
前端
军军君0114 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
打小就很皮...15 小时前
Tesseract.js OCR 中文识别
前端·react.js·ocr
wuhen_n16 小时前
JavaScript内存管理与执行上下文
前端·javascript
Hi_kenyon16 小时前
理解vue中的ref
前端·javascript·vue.js
落霞的思绪18 小时前
配置React和React-dom为CDN引入
前端·react.js·前端框架