仅拦截拦截了 F12 或右键等操作
接浏览器 右上角->更多工具->开发者工具
Ctrl + Shift + I(Windows)/ Cmd + Option + I(macOS)。
提前开一个空白页打开控制台,再访问目标站点
本地覆写(Local Overrides)去除干扰段
//(简单示例)
有时网站会在前端脚本中使用 alert()
、return
或其他方式阻止你执行某些操作。Chrome DevTools 提供了 Local Overrides 功能可以在本地修改并加载页面脚本,从而跳过这些干扰。
启用 Local Overrides 功能
打开 Chrome DevTools 切换到 Sources 面板,找到“替换”或“Overrides”标签。选择本地文件夹并允许访问。(创建一个空的工作目录)
在 Sources 面板找到需要修改的 JS 或 HTML 文件
如果是内联 JS,先定位到 HTML 文件中的
<script>
片段。
右键 → “Save for overrides”(替换替换内容)
编辑脚本并保存。刷新后,浏览器会优先加载你本地修改的脚本(顶部会显示 “(local override)”)。
绕过强制 about:blank
少量混淆
讯飞智文
进入主页,发现禁用 F12(点 F12 没反应)。
采用前面提到的方法 右上角选项->更多工具->开发者工具。
点击刷新,发现被强制替换成 about:blank
那么新开一个页面,对 XHR/fetch Breakpoints
下断点 (鉴于 JS 文件较少,有经验可以直接进入搜索)
堆栈信息全是单一文件调用。
进入 此文件 用 Ctrl+F 搜索 about:blank
如果没有结果也可以搜索 window.location
、location
、document.write
、document.open
等关键词,一般那段强制跳空白页的代码里会直接写 window.location
或者通过 document.open()
/write()
。
定位到 存在 ux
函数 -> noDebugger
将 handleNoDebugger
替换为空实现。然后本地覆盖保存。
重新刷新,不再跳转 about:blank
来华留学管理信息系统
访问页面,打开 devtool 发现进入 debugger 无限循环
重新打开一个新页面,提前打开 devtool 可以看到使用的是经典的时间差反调试
可以尝试的绕过方法有很多种,可以采用 Blackbox Script 禁用指定脚本 debugger (但是这里是在 VM 过程中生成,需要先定位到 debugger 源代码位置) 也可以使用全局 禁用断点 Deactivate breakpoints。(但是这样也会影响我们自己的调试断点过程)
全局搜索 denugger
这里很巧,刚好只有一行结果。 我们直接将 这一行本地覆写。(逻辑置空)
再次刷新,可以发现,不再出现 debugger。
后续遇到什么补充什么~鸽了~