一个 Chrome 扩展,用于反制 disable-devtool 等禁用开发者工具的库,让您自由使用浏览器开发者工具。
- 精准限制模式:在页面主世界尽早限制
DisableDevtool及其明确特征 - 保留页面原生交互:仅优先放行
F12、Ctrl+Shift+I/J/C、Ctrl+U等开发者工具快捷键,避免破坏页面自定义右键菜单和拖拽交互 - 阻断明确封锁实现:拦截带有
disable-devtool/DisableDevtool特征的脚本、监听器、动态代码构造和定时器 - 站点级配置:默认关闭,仅对手动启用的网站生效
- 调试统计:控制台提供
__antiDisableDevtool.getStats()查看拦截统计
- 下载或克隆此仓库到本地
git clone https://github.com/jiayx/anti-disable-devtool.git-
打开 Chrome 浏览器,访问
chrome://extensions/ -
打开右上角的「开发者模式」
-
点击「加载已解压的扩展程序」
-
选择项目文件夹
-
安装扩展后,点击浏览器工具栏中的扩展图标
-
在弹出窗口中:
- 查看当前网站信息
- 使用开关启用/禁用保护
-
应用设置后,页面会自动刷新以应用新的配置
扩展在 document_start 注入到页面主世界,尽量早于业务脚本建立一层精确保护:
- 捕获并放行常见的开发者工具快捷键
- 拦截带有
disable-devtool/DisableDevtool明确特征的脚本节点、事件监听器、动态Function构造和定时器 - 预先接管
window.DisableDevtool
anti-disable-devtool/
├── manifest.json # Chrome 扩展配置文件
├── content.js # 内容脚本,负责消息转发
├── injector.js # 注入脚本,实现核心拦截功能
├── popup.html # 扩展弹窗界面
├── popup.js # 弹窗控制逻辑
├── icons/ # 扩展图标
│ ├── icon16.png
│ ├── icon32.png
│ ├── icon48.png
│ └── icon128.png
└── README.md # 本文档
- popup.js → content.js:通过 Chrome 扩展 API 发送消息
- content.js → injector.js:通过
window.postMessage转发消息 - 配置保存在网站的
localStorage中,键名为antiDisableDevtoolConfig
- content.js:在
document_start时注入到隔离环境 - injector.js:在
document_start时注入到页面主环境(MAIN world)
-
本扩展仅用于开发和调试目的,请勿用于绕过网站的合法安全措施
-
某些网站可能有其他方式检测开发者工具,本扩展当前只针对 DisableDevtool 及其明确变体
-
使用本扩展可能会影响某些网站的正常功能,如遇问题可以临时禁用
欢迎提交 Issue 和 Pull Request!
如果您发现了新的检测方式或有改进建议,请:
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
MIT License
- disable-devtool - 本扩展所对抗的库
如有问题或建议,请通过 GitHub Issues 联系。
免责声明:本工具仅供学习和开发使用,使用者需自行承担使用本工具的风险和责任。