1选择目标平台
安全预设:轻量混淆,遵循小程序平台规范,不影响审核。
均衡预设:在安全预设基础上全面加强混淆强度,代码难以阅读分析。
全部混淆项拉满 + 反调试自防御。仅限独立分发的敏感脚本。
虚拟化保护:代码编译为自定义中间形态执行,不可逆推原始逻辑;少数语法自动降级混淆并提示。
服务端脚本预设:保留 require 引用不被改写,适配 Node 运行环境。
自由组合全部参数,默认即 高强度乱码方案,产物完全不像正常代码;可叠加 VMP 虚拟化编译。
默认已是高强度乱码方案,可直接使用;带 * 的选项显著增大体积。小程序请勿使用本模式。
标识符与环境
字符串加密
结构混淆 * 耗性能
防护与输出
反调试不影响正常用户访问。
版权与运行锁定 可选 · 对所有预设生效
作用于每个 JS 文件:版权信息被改动即失效,校验失败将无法运行。支持浏览器 http(s) 与 Node 环境(file://、跨域 CDN 不支持);叠加 VMP 时小程序亦可用;纯前端锁定只提高门槛,核心逻辑请放服务端。
版权信息
加密加载(运行前保持加密形态) 需动态执行环境
文件与调试器中均不呈现明文代码。小程序与禁 unsafe-eval 的 CSP 页面不支持。
反 AI 分析(提高逆向成本)
干扰 AI 理解与还原,各环境兼容;体积与耗时明显增加,与「加密加载」叠加最佳。
VMP 虚拟化编译 对所有预设生效
编译为自研字节码由虚拟机执行,不支持的语法自动降级并提示。启用后「加密加载 / 反 AI / 字符伪装」自动关闭。
加固项独立可叠加,默认全开,每次构建参数随机:
与下方「生效 / 失效日期」独立叠加;环境锁三选一,锁定逻辑深度内化于产物之中。
WASM 盾牌可进一步增强核心校验与分析对抗能力,小程序不可用,选择小程序预设自动关闭。
字符级伪装(内容完全不可读) 需动态执行环境
兼容性同加密加载,小程序自动关闭。高档位经老旧编辑器 / 网关可能损坏文件,请改用标准或紧凑档。
开发者工具快捷键拦截 仅浏览器
命中即整页拦截(刷新恢复),右键静默屏蔽,仅覆盖页面内按键;页面依赖右键请谨慎开启。
无限 debugger(反调试) 仅浏览器 · 可选
正常访问无感知;检测到调试分析时阻止其继续,关闭开发者工具自动恢复。需与「加密加载」或「VMP」叠加。
变量名风格 纯外观 · 可选
纯外观不提升安全性;气泡风格明显增大体积。超大文件可能标识符耗尽。
浏览器锁定
勾选的浏览器构成白名单(全部不勾 = 不限制);小程序环境下域名与浏览器锁定不生效。
Node.js 锁定
仅在 Node 环境生效,请配合 Node 预设或自定义的 node 运行环境使用。
生效时间 通用
支持联网校准时间;所有环境(含小程序)生效。
保留变量名
用于暴露给外部调用的全局函数 / 对象名;字符串内容请用上方自定义里的「保留字符串」。
2上传文件或粘贴代码
3开始加密
使用须知
- 小程序只能使用「微信小程序」预设:其他预设包含小程序平台不支持的能力,会导致报错或审核被拒。
- 输出规则:单 JS 输出与原文件同名;ZIP 输出为
原名称-secured.zip,包内路径与文件名保持不变,可直接解压覆盖构建产物。 - 混淆只能提高代码阅读门槛,无法绝对防止逆向;授权校验、计费等核心逻辑必须放在服务端。
- 小程序产物加密后,请先在微信开发者工具与真机上完成全流程测试,再上传提审;请务必保留未混淆源码。
- 加密引擎驻留服务端不下发;代码仅用于实时加密,全程内存处理,不写盘、不留存。
常见问题
加密混淆后的 JavaScript 还能还原成源码吗?
不能完全还原。本工具的混淆是单向变换,输出代码无法自动还原为原始源码;但混淆只能提高阅读与逆向门槛,并非绝对防御,授权校验、计费等核心逻辑仍应放在服务端。
VMP 虚拟化保护是什么?和混淆有什么区别?
VMP 虚拟化把代码转换为自定义中间形态后执行,产物中不存在原始逻辑,防护强度高于常规混淆;支持 JS 全语法(含 ESM),少数暂不支持的语法会自动降级为高强度混淆并在结果中提示。体积膨胀与运行开销大于常规混淆,建议用于独立分发的敏感脚本;微信小程序不支持。
微信小程序代码可以在线加密吗?会不会影响审核?
可以,选择「微信小程序」预设即可。该预设采用小程序兼容的轻量方案,遵循平台代码规范,兼容微信小程序运行环境。加密后请先在微信开发者工具与真机完成全流程测试再提审。
加密时我的代码会上传到服务器吗?
会,且仅用于实时加密。加密引擎(含自研 VMP)驻留服务端、永不下发浏览器,从根上杜绝引擎被逆向与盗用;代码全程内存处理,不写盘、不留存任何副本,产物下发后即销毁。
支持 ZIP 批量加密吗?目录结构会变吗?
支持。上传 ZIP 后仅处理其中的 .js 文件,图片、配置、node_modules 等其他内容原样保留,包内目录与文件名不变,输出同名 -secured.zip,可直接解压覆盖构建产物。
「加密加载」和「字符级伪装」有什么区别?
加密加载让业务代码在文件中不以明文存在,仅在运行时恢复执行;字符级伪装则让整份文件内容完全不可读。两者都依赖动态执行能力,禁止 unsafe-eval 的严格 CSP 页面与微信小程序不支持,且会增大体积。
混淆后文件体积和运行性能会有什么变化?
取决于预设:小程序安全预设体积影响很小;Web 预设体积明显增大;高强度、加密加载与字符级伪装体积膨胀更多,仅建议用于独立分发的敏感脚本,大文件请先小范围实测。
JS 代码在线加密