Skip to content

jiayx/anti-disable-devtool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anti Disable DevTool 🛡️

一个 Chrome 扩展,用于反制 disable-devtool 等禁用开发者工具的库,让您自由使用浏览器开发者工具。

🎯 功能特点

  • 精准限制模式:在页面主世界尽早限制 DisableDevtool 及其明确特征
  • 保留页面原生交互:仅优先放行 F12Ctrl+Shift+I/J/CCtrl+U 等开发者工具快捷键,避免破坏页面自定义右键菜单和拖拽交互
  • 阻断明确封锁实现:拦截带有 disable-devtool / DisableDevtool 特征的脚本、监听器、动态代码构造和定时器
  • 站点级配置:默认关闭,仅对手动启用的网站生效
  • 调试统计:控制台提供 __antiDisableDevtool.getStats() 查看拦截统计

📦 安装方法

开发者模式安装

  1. 下载或克隆此仓库到本地
git clone https://github.com/jiayx/anti-disable-devtool.git
  1. 打开 Chrome 浏览器,访问 chrome://extensions/

  2. 打开右上角的「开发者模式」

  3. 点击「加载已解压的扩展程序」

  4. 选择项目文件夹

🚀 使用方法

  1. 安装扩展后,点击浏览器工具栏中的扩展图标

  2. 在弹出窗口中

    • 查看当前网站信息
    • 使用开关启用/禁用保护
  3. 应用设置后,页面会自动刷新以应用新的配置

🔧 工作原理

统一解封策略

扩展在 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          # 本文档

🛠️ 技术细节

消息通信流程

  1. popup.jscontent.js:通过 Chrome 扩展 API 发送消息
  2. content.jsinjector.js:通过 window.postMessage 转发消息
  3. 配置保存在网站的 localStorage 中,键名为 antiDisableDevtoolConfig

脚本执行时机

  • content.js:在 document_start 时注入到隔离环境
  • injector.js:在 document_start 时注入到页面主环境(MAIN world)

⚠️ 注意事项

  1. 本扩展仅用于开发和调试目的,请勿用于绕过网站的合法安全措施

  2. 某些网站可能有其他方式检测开发者工具,本扩展当前只针对 DisableDevtool 及其明确变体

  3. 使用本扩展可能会影响某些网站的正常功能,如遇问题可以临时禁用

🤝 贡献

欢迎提交 Issue 和 Pull Request!

如果您发现了新的检测方式或有改进建议,请:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

📄 许可证

MIT License

🔗 相关链接

📮 联系方式

如有问题或建议,请通过 GitHub Issues 联系。


免责声明:本工具仅供学习和开发使用,使用者需自行承担使用本工具的风险和责任。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors