JS 代码在线加密

小程序 / Web 代码混淆保护,支持 ZIP 批量加密,输出同名压缩包直接替换产物

引擎不下发 · 代码即用即焚 微信小程序安全兼容 ZIP 批量 · 目录结构不变 VMP 虚拟化介绍 →

1选择目标平台

MP 微信小程序 推荐

安全预设:轻量混淆,遵循小程序平台规范,不影响审核。

体积影响小 · 适用 mp-weixin 产物 · 可叠加 VMP

WB Web 网站

均衡预设:在安全预设基础上全面加强混淆强度,代码难以阅读分析。

体积增加较多 · 适用浏览器端 JS

HI 高强度 慎用

全部混淆项拉满 + 反调试自防御。仅限独立分发的敏感脚本。

体积膨胀数倍 · 严禁用于小程序

VM VMP 虚拟化 最强

虚拟化保护:代码编译为自定义中间形态执行,不可逆推原始逻辑;少数语法自动降级混淆并提示。

体积显著膨胀 · 网页 / Node / 小程序均可用

ND Node.js

服务端脚本预设:保留 require 引用不被改写,适配 Node 运行环境。

适用 Node 环境运行的脚本

CU 自定义 乱码

自由组合全部参数,默认即 高强度乱码方案,产物完全不像正常代码;可叠加 VMP 虚拟化编译。

高强度 · 严禁用于小程序

版权与运行锁定 可选 · 对所有预设生效

作用于每个 JS 文件:版权信息被改动即失效,校验失败将无法运行。支持浏览器 http(s) 与 Node 环境(file://、跨域 CDN 不支持);叠加 VMP 时小程序亦可用;纯前端锁定只提高门槛,核心逻辑请放服务端。

版权信息

加密加载(运行前保持加密形态) 需动态执行环境

文件与调试器中均不呈现明文代码。小程序与禁 unsafe-eval 的 CSP 页面不支持。

反 AI 分析(提高逆向成本)

干扰 AI 理解与还原,各环境兼容;体积与耗时明显增加,与「加密加载」叠加最佳。

VMP 虚拟化编译 对所有预设生效

编译为自研字节码由虚拟机执行,不支持的语法自动降级并提示。启用后「加密加载 / 反 AI / 字符伪装」自动关闭。

加固项独立可叠加,默认全开,每次构建参数随机:

与下方「生效 / 失效日期」独立叠加;环境锁三选一,锁定逻辑深度内化于产物之中。
WASM 盾牌可进一步增强核心校验与分析对抗能力,小程序不可用,选择小程序预设自动关闭。

字符级伪装(内容完全不可读) 需动态执行环境

兼容性同加密加载,小程序自动关闭。高档位经老旧编辑器 / 网关可能损坏文件,请改用标准或紧凑档。

开发者工具快捷键拦截 仅浏览器

命中即整页拦截(刷新恢复),右键静默屏蔽,仅覆盖页面内按键;页面依赖右键请谨慎开启。

无限 debugger(反调试) 仅浏览器 · 可选

正常访问无感知;检测到调试分析时阻止其继续,关闭开发者工具自动恢复。需与「加密加载」或「VMP」叠加。

变量名风格 纯外观 · 可选

纯外观不提升安全性;气泡风格明显增大体积。超大文件可能标识符耗尽。

浏览器锁定

勾选的浏览器构成白名单(全部不勾 = 不限制);小程序环境下域名与浏览器锁定不生效。

Node.js 锁定

仅在 Node 环境生效,请配合 Node 预设或自定义的 node 运行环境使用。

生效时间 通用

支持联网校准时间;所有环境(含小程序)生效。

保留变量名

用于暴露给外部调用的全局函数 / 对象名;字符串内容请用上方自定义里的「保留字符串」。

当前选项运算量很大,单批内容建议不超过 10MB,否则可能造成浏览器卡死。

2上传文件或粘贴代码

高级选项(排除规则)

3开始加密

使用须知

常见问题

加密混淆后的 JavaScript 还能还原成源码吗?

不能完全还原。本工具的混淆是单向变换,输出代码无法自动还原为原始源码;但混淆只能提高阅读与逆向门槛,并非绝对防御,授权校验、计费等核心逻辑仍应放在服务端。

VMP 虚拟化保护是什么?和混淆有什么区别?

VMP 虚拟化把代码转换为自定义中间形态后执行,产物中不存在原始逻辑,防护强度高于常规混淆;支持 JS 全语法(含 ESM),少数暂不支持的语法会自动降级为高强度混淆并在结果中提示。体积膨胀与运行开销大于常规混淆,建议用于独立分发的敏感脚本;微信小程序不支持。

微信小程序代码可以在线加密吗?会不会影响审核?

可以,选择「微信小程序」预设即可。该预设采用小程序兼容的轻量方案,遵循平台代码规范,兼容微信小程序运行环境。加密后请先在微信开发者工具与真机完成全流程测试再提审。

加密时我的代码会上传到服务器吗?

会,且仅用于实时加密。加密引擎(含自研 VMP)驻留服务端、永不下发浏览器,从根上杜绝引擎被逆向与盗用;代码全程内存处理,不写盘、不留存任何副本,产物下发后即销毁。

支持 ZIP 批量加密吗?目录结构会变吗?

支持。上传 ZIP 后仅处理其中的 .js 文件,图片、配置、node_modules 等其他内容原样保留,包内目录与文件名不变,输出同名 -secured.zip,可直接解压覆盖构建产物。

「加密加载」和「字符级伪装」有什么区别?

加密加载让业务代码在文件中不以明文存在,仅在运行时恢复执行;字符级伪装则让整份文件内容完全不可读。两者都依赖动态执行能力,禁止 unsafe-eval 的严格 CSP 页面与微信小程序不支持,且会增大体积。

混淆后文件体积和运行性能会有什么变化?

取决于预设:小程序安全预设体积影响很小;Web 预设体积明显增大;高强度、加密加载与字符级伪装体积膨胀更多,仅建议用于独立分发的敏感脚本,大文件请先小范围实测。