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

相关推荐
千寻girling11 分钟前
面试官 : “ 说一下 Vue 的 8 个生命周期钩子都做了什么 ? ”
前端·vue.js·面试
Heo12 分钟前
Vue3 应用实例创建及页面渲染底层原理
前端·javascript·面试
C_心欲无痕16 分钟前
nodejs - express:流行的 Web 应用框架
前端·node.js·express
sophie旭17 分钟前
webpack异步加载原理梳理解构
前端·javascript·webpack
小小荧19 分钟前
Vue 原生渲染真要来了?Lynx引擎首次跑通Vue
前端·javascript
千寻girling27 分钟前
面试官 : ” 说一下 Vue 中的 setup 中的 props 和 context “
前端·vue.js·面试
KLW7529 分钟前
vue中 v-cloak指令
前端·javascript·vue.js
0思必得035 分钟前
[Web自动化] Requests模块请求参数
运维·前端·python·自动化·html
xiaoxue..1 小时前
React Hooks :useRef、useState 与受控/非受控组件全解析
前端·react.js·前端框架
释怀不想释怀1 小时前
vue(登录,退出,浏览器本地存储机制)
前端·javascript·vue.js·ajax·html