✅ 一、安装方法
- 1
🛠️ 二、基本用法
原始文件 hello.js
- 1
- 2
- 3
- 4
执行混淆:
- 1
⚙️ 三、常用命令行参数说明
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
--compact | boolean | true | 是否压缩代码,去除空格和换行 |
--controlFlowFlattening | boolean | false | 控制流扁平化,重构为状态机逻辑,显著提升混淆难度,但影响性能 |
--controlFlowFlatteningThreshold | number (0~1) | 0.75 | 控制多少比例的代码节点被扁平化 |
--stringArray | boolean | true | 是否将字符串提取为数组项 |
--stringArrayEncoding | "base64" / "rc4" / false | false | 对字符串数组进行编码,防止直接读取 |
--splitStrings | boolean | false | 拆分长字符串为若干片段 |
--splitStringsChunkLength | number | 10 | 拆分后的最小字符串长度 |
--selfDefending | boolean | false | 添加防调试与反格式化保护 |
--transformObjectKeys | boolean | false | 混淆对象属性名 |
--deadCodeInjection | boolean | false | 插入无用代码增加逆向难度 |
--identifierNamesGenerator | "hexadecimal" / "mangled" / "dictionary" | "hexadecimal" | 变量和函数名混淆风格 - hexadecimal :生成形如 _0xabc123 的名字(默认)- mangled :生成短小的如 a , b , c 名称- dictionary :使用自定义字典(配合 identifierNamesGeneratorDictionary ) |
⚠️ 性能提示:controlFlowFlattening
📄 四、使用配置文件(推荐)
obfuscator-config.json
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
使用命令:
- 1
📁 五、批量混淆目录
- 1
💡 六、实用示例合集
1️⃣ 简单压缩
- 1
2️⃣ 最大强度混淆(慎用)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
🔍 七、常见问题与建议
❓运行变慢?
❓打包后报错?
❓是否推荐前端项目全面混淆?
🧩 八、总结与最佳实践
场景 | 建议配置 |
---|---|
开发调试 | 不混淆或仅压缩 --compact true |
普通项目上线 | 使用字符串混淆与压缩 |
有登录校验、反爬逻辑 | 加上 controlFlowFlattening 、stringArrayEncoding |
高保密需求(但可牺牲性能) | 所有混淆选项全开,阈值调高 |