0xpanadol/js-deobfuscator

GitHub: 0xpanadol/js-deobfuscator

一个完全在浏览器本地运行的 JavaScript 反混淆工具,无需服务器即可解析常见混淆模式并提供 AST 可视化功能。

Stars: 2 | Forks: 0

# js-deobfuscator 一个基于浏览器的 JavaScript 反混淆工具。粘贴混淆代码,点击运行,即可获得可读的输出。无服务器,无需上传,所有操作均在您的浏览器本地运行。 ![截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/ba77fe7163165027.png) ## 为什么开发这个? 大多数反混淆工具要么仅支持 CLI,要么已过时,或者需要安装一堆依赖。我想要一个可以直接在浏览器标签页中打开并使用的工具。所以我构建了它。 它可以处理您遇到的常见混淆模式:字符串数组旋转、控制流扁平化、死代码注入、解码器包装器等。底层基于 [deob](https://github.com/nicedayzhu/deob) 引擎。 ## 功能特性 - 输入和输出均使用 Monaco 编辑器(语法高亮、自动换行等功能) - AST 树状查看器,用于检查解析后的输出 - 针对重度混淆代码的多轮反混淆 - 可配置的解码器定位方法(字符串数组、调用计数、eval 代码注入) - 变量名优化(十六进制、短名称、自定义正则表达式) - 关键字标记,用于在输出中高亮显示特定 token - 拖放 `.js` / `.txt` 文件 - 深色模式 - 支持移动端(布局垂直堆叠) - 通过 Web Workers 完全在客户端运行 - 可作为 PWA 安装 ## 快速开始 ``` git clone https://github.com/0xpanadol/js-deobfuscator.git cd js-deobfuscator npm install npm run dev ``` 然后在浏览器中打开 `http://localhost:5173`。 ## 生产环境构建 ``` npm run build ``` 输出位于 `dist/` 目录。您可以使用任何静态文件服务器提供服务,或直接打开 `index.html`。 ## 键盘快捷键 | 快捷键 | 操作 | |---|---| | `Ctrl+Enter` | 运行反混淆 | | `Ctrl+S` | 下载输出 | | `Ctrl+Shift+C` | 复制输出到剪贴板 | ## 技术栈 - React 19 + TypeScript - Vite - Tailwind CSS v4 - Monaco Editor - Zustand (状态管理) - Allotment (分割面板) - Web Workers (用于线程外反混淆) ## 工作原理 反混淆引擎(来自 `deob` 包)使用 Babel 将输入解析为 AST,然后运行一系列转换:解析字符串数组、内联解码器调用、简化控制流、移除死代码等。所有这些都发生在 Web Worker 中,因此 UI 保持响应。 浏览器沙箱在解码器需要实际执行代码以解析字符串时,使用间接 `eval()` 进行运行时评估。这是完全在客户端运行的代价。 ## 许可证 MIT
标签:AST 抽象语法树, DNS 反向解析, JavaScript 反混淆, Monaco Editor, PWA, React, Syscalls, TypeScript, Vite, Web Workers, Web 安全, 云安全监控, 代码美化, 前端安全, 反混淆工具, 字符串解密, 安全插件, 开源安全工具, 恶意代码分析, 控制流平坦化, 死代码剔除, 浏览器端工具, 离线可用, 网络安全, 自动化攻击, 自动化攻击, 逆向工程平台, 配置文件, 隐私保护, 零上传, 静态分析