JavaScript 混淆器
通过控制流平坦化、字符串数组、死代码注入和标识符重命名来混淆 JavaScript 代码。内置 3 种预设,直接在浏览器中运行。
处理中…
使用方法
- 1 将你的 JavaScript 源代码粘贴到左侧输入框。
- 2 选择一个预设 —— low(轻度混淆)、medium(默认)、high(控制流 + 死代码)。
- 3 点击 Obfuscate,然后复制或下载结果。
为什么使用此工具
- 基于 javascript-obfuscator 构建,这是一个被众多 SaaS 建站平台采用的开源库。
- 该库采用懒加载方式 —— 在你点击 Obfuscate 之前页面依旧保持轻量。
- 内置三种预设配置,并提供针对各处理步骤的详细开关选项。
- 完全在客户端运行 —— 你的源代码永远不会离开浏览器。
常见问题
混淆后的代码真的完全无法阅读吗?
代码会变得非常难以阅读,但绝不是无法破解 —— 有耐心的攻击者仍然可以将其还原。建议将混淆与合理的授权机制、服务器端校验以及压缩(minification)结合使用。
只想要压缩后的结果,而不是混淆?
可以试试 <a class="underline" href="/javascript-minifier">JavaScript Minifier</a> —— 同样采用懒加载机制,处理速度更快,除了压缩体积外不会重命名任何变量名。
需要重新格式化已混淆的代码?
使用 <a class="underline" href="/javascript-formatter">JavaScript Formatter</a> 进行美化排版并检查代码结构。
什么是 JavaScript 混淆器?
JavaScript 混淆器(JavaScript Obfuscator)是一款将 JavaScript 源代码转换为功能等价但极难阅读版本的工具。它综合运用控制流平坦化、字符串数组提取、死代码注入和标识符重命名等技术,并提供三种预置方案。所有处理都在浏览器本地完成,也就是说源代码只在客户端处理,绝不会上传到服务器。
功能特性
预设强度
低、中、高预设在可读性保护与运行时开销之间进行权衡。
名称与字符串混淆
重命名标识符,并将字符串字面量移入编码后的数组中。
如实说明局限性
混淆可以阻止随意查看代码——但它不是加密,也无法隐藏机密信息。
100% 隐私保护
在客户端运行——您的源代码永远不会离开浏览器。
示例
Input
function greet(n){ return "Hello, " + n; }
Output
var _0x3f2a=["Hello, "];function greet(_0x1b){return _0x3f2a[0]+_0x1b;} (representative — exact output varies by preset and library version)
常见使用场景
-
1
阻止随意复制
使客户端 JavaScript 更难被阅读和原样复制。
-
2
轻度保护逻辑
增加理解组件(widget)或代码片段内部实现所需的工作量。
-
3
压缩并混淆名称
将代码压缩与名称混淆相结合,生成更小、更难理解的输出。
Zerethon 的 JS 混淆工具使用 javascript-obfuscator 库,将 JavaScript 转换为功能等效但难以阅读的代码,全部过程都在您的浏览器中完成。低/中/高预设可控制字符串数组编码、控制流平坦化(control-flow flattening)和死代码注入(dead-code injection)。混淆会增加逆向工程代码所需的工作量,但并非加密,也不是真正的安全防护——坚持不懈的读者仍然可以还原其行为。不会上传任何内容。
- 分类
- 开发者
- 价格
- 免费
- 隐私
- 基于浏览器
- 注册
- 无需
参考资料
- javascript-obfuscator — GitHub
- 代码压缩(Minification)——MDN Web Docs 术语表 — MDN
隐私
除非另有说明,否则你的数据永远不会离开浏览器。JavaScript 混淆器 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。
相关工具
在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。