1
wwl
2025-07-31 c3c6cf8cb3f73755ac9fad29f2b2c0cf64f27979
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const fs = require('fs');
const path = require('path');
const JavaScriptObfuscator = require('javascript-obfuscator');
 
const jsDir = path.resolve(__dirname, './unpackage/dist/build/web/static/js');
 
const files = fs.readdirSync(jsDir)
  .filter(f => f.endsWith('.js'))
  .filter(f => !/^vendor.*\.js$/.test(f))
  .filter(f => !/^manifest.*\.js$/.test(f));
 
files.forEach(file => {
  const filePath = path.join(jsDir, file);
  const code = fs.readFileSync(filePath, 'utf-8');
 
  const obfuscatedCode = JavaScriptObfuscator.obfuscate(code, {
    rotateStringArray: true,
    stringArray: true,
    stringArrayEncoding: ['base64'],
    stringArrayThreshold: 0.75,
    compact: true,
    controlFlowFlattening: false,
    deadCodeInjection: false,
    selfDefending: false,
    disableConsoleOutput: true,
    transformObjectKeys: false,
    unicodeEscapeSequence: true,
  }).getObfuscatedCode();
 
  fs.writeFileSync(filePath, obfuscatedCode, 'utf-8');
  console.log(`混淆完成: ${file}`);
});