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

相关推荐
Galloping-Vijay5 分钟前
解决 WSL2 + Windows Hosts + 开启 VPN 后无法访问本地 Web 服务的问题
前端·windows
wuhen_n22 分钟前
TypeScript的对象类型:interface vs type
前端·javascript·typescript
见路不走!23 分钟前
后端返回Blob文件流,前端实现导出
前端
lindd91191125 分钟前
4G模块应用,内网穿透,前端网页的制作第七讲(智能头盔数据上传至网页端)
前端·后端·零基础·rt-thread·实时操作系统·项目复刻
css趣多多35 分钟前
props,data函数,computed执行顺序
前端·javascript·vue.js
一个不称职的程序猿37 分钟前
构建优雅的 Vue.js 表情包选择器:一个功能丰富且可定制的 Emoji Picker 组件
前端·javascript·vue.js
Charlie_lll43 分钟前
学习Three.js--光源Light+轨道控制器OrbitControls
前端·three.js
Amumu121381 小时前
Vue核心(二)
前端·javascript·vue.js
墨轩尘1 小时前
qiankun的简单使用
前端·vue.js·前端框架
EEEzhenliang2 小时前
CSS样式所有使用方式(书写位置)
前端·css