工具加载中...
在线JS代码混淆加密工具介绍
在线JS代码混淆加密工具可将原始 JavaScript 源码进行变量重命名、控制流混淆、字符串加密、死代码注入等处理,显著提升代码阅读和还原难度,帮助开发者保护前端核心逻辑与代码成果。
工具支持粘贴JS代码、上传JS文件、查看混淆结果三种工作流,适配常见前端开发与交付场景。默认提供三档混淆预设,并支持基础设置、混淆系数、字符串规则、安全域名锁定等高级选项,兼顾上手效率与保护强度。
混淆处理在浏览器本地执行,源码不会上传至网络服务器。对于敏感业务逻辑、商业项目代码、演示版交付代码均可作为常规保护方案使用。
核心功能
- 多方式输入:支持粘贴JS代码与上传JS文件混淆处理。
- 三档预设方案:最佳混淆、中等混淆、低度混淆一键切换。
- 丰富参数配置:支持基础设置、混淆系数、字符串规则和高级保护项。
- 安全域名锁定:可设置仅在指定域名下运行,防止代码被复制滥用。
- 结果复制导出:支持一键复制混淆结果并下载为JS文件。
使用教程
- 选择“粘贴JS代码”或“上传JS文件”输入待处理代码。
- 根据需求选择混淆预设方案(推荐先用中等混淆)。
- 按需调整基础设置、混淆系数和高级参数。
- 点击“JS混淆加密”,等待工具完成处理。
- 在“混淆结果”中复制或下载最终JS代码。
适用场景
- 前端商业项目保护:降低核心逻辑被逆向与复制的风险。
- 代码交付场景:在演示版或试用版中提升代码保护强度。
- 开源改造分发:对特定模块做混淆后再发布使用。
- 安全加固流程:作为前端构建后的一环进行发布前处理。
混淆预设说明
工具提供“最佳混淆、中等混淆、低度混淆”三档预设。通常混淆强度越高,代码可读性越差、保护效果越好,但文件体积和执行性能开销也会更高。建议先用中等混淆进行验证,再根据业务场景逐步调整参数。
若项目对性能要求较高,可降低控制流平坦化、死代码注入、字符串加密强度;若项目更关注防逆向,可提高混淆系数并配置安全域名锁定。
配置建议
基础设置中的“禁止控制台调试”“禁止控制台输出”适合生产环境保护,但请先在测试环境验证兼容性。涉及全局变量重命名、对象属性重命名时,也建议逐模块测试,避免与外部依赖冲突。
高级设置建议优先配置“安全域名”,可限制混淆代码仅在指定域名运行;如有敏感关键字,可使用“强制转换字符串”提升对应片段的保护强度。
配置项介绍
一、基础设置
基础设置会影响代码结构与运行行为,建议每次调整后都进行功能回归验证,避免出现兼容性问题。
- 防止格式化:干扰代码美化工具还原结构。
- 使用eval语句:通过动态执行增强分析难度。
- 转义Unicode:提高阅读难度,但可能增大代码体积。
- 优化代码结构:对语句做结构压缩和重排。
- 重命名全局变量/属性名:保护标识符,但需注意外部依赖兼容性。
- 分割字符串:拆分长字符串,提升还原难度。
- 数字转表达式:将数字改写为表达式形式。
- 禁止控制台调试/输出:减少调试线索与运行时提示。
二、混淆系数与规则
系数范围为0~1,数值越高混淆越强,通常文件体积更大、执行性能开销更高。建议先使用中等预设,再按业务安全需求提升关键项。
- 变量加密系数:提高变量名混淆强度。
- 死代码注入系数:增加干扰代码,提升逆向难度。
- 控制流平坦化系数:打散逻辑结构关系。
- 变量加密规则:`base64` 性能较好,`rc4` 强度更高。
三、高级设置
高级设置支持每项一行批量输入。推荐优先配置安全域名,其它项目按需启用。
- 安全域名:限制混淆代码仅在指定域名执行(支持子域名通配)。
- 非安全域名跳转URL:非白名单域名访问时跳转目标地址。
- 强制转换字符串:对重点敏感字符串加强保护。
- 保留变量标识符/字符串:指定内容不参与混淆。
为何要混淆代码
代码混淆的核心目的是提高逆向成本与复制成本,常见用途包括:保护商业逻辑、防止代码被直接复制、演示版交付保护、减少注释与冗余信息暴露等。混淆不是绝对防护,但能显著提升还原门槛。
其它提示
建议仅混淆一次,不要再用其它压缩或混淆工具二次处理,否则可能破坏结构导致脚本异常。混淆完成后优先使用工具内“复制/下载”保存结果,避免中间编辑造成格式损坏。工具会自动记住你的混淆配置,后续可直接复用。
常见问题
1. 混淆后代码运行变慢正常吗?
正常。混淆强度越高,执行开销通常越大。建议根据业务性能要求选择合适预设。
2. 工具会上传我的源码吗?
默认在本地浏览器中处理,不走服务端源码解析流程,可用于敏感代码场景。
3. 混淆后的代码还能恢复源码吗?
无法100%恢复为原始源码。混淆会改变变量名、控制流和代码结构,虽然可被部分反混淆分析,但恢复成本会显著提高。因此建议结合混淆强度、域名锁定和业务拆分综合保护。
4. 是否建议二次混淆或再压缩?
不建议。二次处理可能破坏混淆结构,导致脚本异常或可读性反而提升。
5. 域名锁定有什么用?
可限制混淆后代码仅在指定域名执行,降低代码被复制后直接复用的风险。