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版本)

相关推荐
哆来A梦没有口袋1 分钟前
干货精讲 | 初级CSS面试高频考题
前端·css·面试
掘金0138 分钟前
EmbedPDF Vue 版 完整正文文档 全网首发
前端
OpenTiny社区39 分钟前
操作ArkTS页面跳转及路由相关心得
前端·typescript·web·opentiny
xiaohua0708day40 分钟前
Lodash库
前端·javascript·vue.js
huakoh40 分钟前
Claude Code 从零到上手指南:国产工具链复现80% Agent能力,DeepSeek+LangChain实战
前端
Ankkaya43 分钟前
浏览器插件接入 Google 登录
前端
Asmewill44 分钟前
DeepAgents学习笔记一(构建深度多智能体)
前端
万物皆对象6661 小时前
切换路由时页面空白问题(vue3)
前端·vue.js·typescript
突然好热1 小时前
TS 调试技巧
前端·javascript·typescript
h64648564h1 小时前
Flutter 国际化(i18n)全指南:一键切换中/英/日多语言
前端·javascript·flutter