混淆(Obfuscation)
在保持程序语义不变的前提下,改写标识符、字符串与控制流,使源码难以阅读与静态分析。本站核心能力即此。
Documentation
理解「混淆、加密、压缩」的差异、掌握预设与各选项含义,才能在体积、性能与防护强度之间做出正确取舍。
先分清三种常见技术,避免把混淆当成密码学意义上的加密。
在保持程序语义不变的前提下,改写标识符、字符串与控制流,使源码难以阅读与静态分析。本站核心能力即此。
依赖密钥的双向保护:密文可解密还原。浏览器端 JS 无法安全保管密钥,故「JS 加密」口语常指混淆,而非真加密。
去除空白与缩短命名以减小体积,可读性下降有限。本站「压缩」「简化」属于这一层,需配合其他选项才能形成有效防护。
从粘贴源码到下载结果的标准路径;适合第一次使用本站的同学。
将需要保护的 JavaScript 粘贴到右侧「源码」区。语法需合法,否则混淆引擎会报错。
优先点选「轻量 / 标准 / 高强度」预设;再按需细调各分组开关。首次使用建议从「标准」开始。
点击「开始加密」。全部计算在浏览器完成,源码与结果默认不上传、不写入服务器。
从「混淆结果」复制代码或下载 .js 文件。可用「交换」对结果二次混淆,用「清空」清除残留。
三档预设均为完整配置快照,套用后仍可继续细调;均不自动开启防破解项。
体积敏感、内联脚本、快速试跑
多数前端业务脚本的默认推荐
关键逻辑、授权校验、支付相关前端片段
工具侧栏 5 组开关与 javascript-obfuscator 字段一一对应,便于按风险面选型。
混淆提高逆向成本,但不能替代服务端安全设计。
混淆只能提高前端逆向成本,无法替代服务端鉴权、签名校验与密钥托管。敏感业务必须以服务端为准。
从「标准」起步,确认行为一致后再逐步加码。高强度会显著增大体积与启动耗时,请按场景取舍。
防调试、自保护、域名锁默认关闭。启用后务必在目标域名与目标浏览器完成回归(可用本站运行测试页)。
生产环境更推荐在 CI/CD 中用打包插件做混淆;本站适合快速验证策略、处理零散脚本或原型防护。
使用中最容易踩坑的几个问题。
不能可靠还原。混淆是近似单向变换,请务必自行备份原始源码后再处理。
不会。混淆引擎(javascript-obfuscator)在浏览器本地执行,本站不将源码提交到 vault_webman 或其他后端。
字符串编码、控制流平坦化与死代码注入都会插入大量辅助逻辑。这是强度与体积的正常权衡。
开发阶段请关闭防破解项;仅对生产包启用,并用运行测试页验证目标环境行为。
引擎面向已编译的 JavaScript。请先经 tsc / bundler 输出纯 JS,再粘贴到本站混淆。