JS Obfuscator - 即时加密
用于混淆和保护您的 JavaScript 代码。
即时
是 JS
的中文谐音。

功能特性
- 🔒 即时混淆 - 一键混淆选中的 JavaScript 代码
- 🛡️ 多重保护 - 变量重命名、字符串加密、控制流平坦化等
- ⚡ 快速高效 - 毫秒级完成代码混淆
- 🎯 精确控制 - 支持选中部分代码或整个文件混淆
- ⚙️ 灵活配置 - 可自定义混淆级别和选项
安装
- 在 VS Code 扩展市场搜索
JS Obfuscator
或 即时加密
- 点击安装按钮
- 重新加载 VS Code
使用方法
快速开始
- 在资源面板的某个 js 文件右击
- 选择
即时加密
菜单,再点击要加密的等级
- 混淆后的代码将生成一个新的文件,并附带混淆等级标识
配置选项
在 VS Code 设置中搜索 jsObfuscator
进行配置:
{
"jsObfuscator.compact": true,
"jsObfuscator.controlFlowFlattening": false,
"jsObfuscator.deadCodeInjection": false,
"jsObfuscator.debugProtection": false,
"jsObfuscator.disableConsoleOutput": true,
"jsObfuscator.identifierNamesGenerator": "hexadecimal",
"jsObfuscator.rotateStringArray": true,
"jsObfuscator.selfDefending": true,
"jsObfuscator.stringArray": true,
"jsObfuscator.stringArrayEncoding": ["base64"],
"jsObfuscator.stringArrayThreshold": 0.75
}
主要配置说明
- compact:压缩混淆后的代码
- controlFlowFlattening:控制流平坦化 (影响性能)
- deadCodeInjection:注入死代码增加复杂度
- debugProtection:禁用浏览器开发者工具调试
- disableConsoleOutput:禁用 console 输出
- stringArray:将字符串提取到数组中
- selfDefending:代码自我保护功能
示例
混淆前
function greet(name) {
console.log('Hello, ' + name + '!');
return name.length;
}
混淆后
var _0x1a2b=['Hello, ','log','length'];(function(_0x3c4d5e,_0x1a2b6f){var _0x2e3f4g=function(_0x5h6i7j){while(--_0x5h6i7j){_0x3c4d5e['push'](_0x3c4d5e['shift']());}};_0x2e3f4g(++_0x1a2b6f);}(_0x1a2b,0x8k));var _0x9l0m=function(_0x3c4d5e,_0x1a2b6f){_0x3c4d5e=_0x3c4d5e-0x0;var _0x2e3f4g=_0x1a2b[_0x3c4d5e];return _0x2e3f4g;};function greet(_0x1n2o3p){console[_0x9l0m('0x1')](_0x9l0m('0x0')+_0x1n2o3p+'!');return _0x1n2o3p[_0x9l0m('0x2')];}
注意事项
- 混淆会增加代码体积和执行开销
- 建议仅在生产环境使用混淆
- 保留原始代码备份
- 某些高级混淆选项可能影响代码性能
🔥 扩展推荐
fnMap - 函数地图扩展

一个强大的代码导航扩展,快速定位和跳转到函数定义。
主要功能:
- 🗺️ 可视化函数地图
- ⚡ 快速函数跳转
- 🔍 智能代码搜索
- 📊 代码结构分析
📖 了解更多