JS加密混淆
推荐工具:javascript-obfuscator
这是一个功能强大、广泛使用的 JS 混淆器,支持 CLI、Node.js、在线使用。
一、使用 JavaScript 混淆工具
安装:
npm install -g javascript-obfuscator
使用:
javascript-obfuscator input.js --output output-obfuscated.js
提高混淆强度:
javascript-obfuscator input.js --output output.js \ --compact true \ --control-flow-flattening true \ --dead-code-injection true \ --debug-protection true \ --disable-console-output true \ --string-array true \ --string-array-encoding base64 \ --self-defending true
二、Node.js 脚本调用示例(自动化)
const JavaScriptObfuscator = require('javascript-obfuscator');
const fs = require('fs');
const code = fs.readFileSync('input.js', 'utf8');
const obfuscatedCode = JavaScriptObfuscator.obfuscate(code, {
compact: true,
controlFlowFlattening: true,
stringArray: true,
stringArrayEncoding: ['base64'],
selfDefending: true
}).getObfuscatedCode();
fs.writeFileSync('output.js', obfuscatedCode);
参数解释:
-
control-flow-flattening: 控制流扁平化(增加阅读难度) -
dead-code-injection: 注入无用代码 -
debug-protection: 阻止调试器 -
disable-console-output: 禁用console.log -
self-defending: 防止格式化和修改 -
string-array-encoding: 字符串加密(推荐 base64)
浙公网安备 33010602011771号