提问者:小点点

NodeJS javascript-obfuscator错误:“所有StringArrayEncoding的元素必须是唯一的”


在JS文件上使用javascript-obfuscator并得到以下错误…

ReferenceError: Validation failed. errors:
`stringArrayEncoding` errors:
    - All stringArrayEncoding's elements must be unique
,    - stringArrayEncoding must be an array

    at new o (/path/to/node_modules/javascript-obfuscator/dist/index.js:2:366749)
    at _createInstance (/path/to/node_modules/inversify/lib/resolution/instantiation.js:29:12)
    at Object.resolveInstance (/path/to/node_modules/inversify/lib/resolution/instantiation.js:49:18)
    at /path/to/node_modules/inversify/lib/resolution/resolver.js:73:42
    at Array.map (<anonymous>)
    at Object.resolveInstance (/path/to/node_modules/inversify/lib/resolution/instantiation.js:48:67)
    at /path/to/node_modules/inversify/lib/resolution/resolver.js:73:42
    at Array.map (<anonymous>)
    at Object.resolveInstance (/path/to/node_modules/inversify/lib/resolution/instantiation.js:48:67)
    at /path/to/node_modules/inversify/lib/resolution/resolver.js:73:42

导致错误的代码:

obfuscatorSettings = { //obfuscator options being used
        compact: true,
        controlFlowFlattening: true,
        controlFlowFlatteningThreshold: 0.75,
        deadCodeInjection: true,
        deadCodeInjectionThreshold: 0.4,
        debugProtection: false,
        debugProtectionInterval: false,
        disableConsoleOutput: false,
        identifierNamesGenerator: 'hexadecimal',
        identifiersPrefix: 'UniqueId',
        log: false,
        renameGlobals: false,
        rotateStringArray: true,
        selfDefending: true,
        shuffleStringArray: true,
        splitStrings: true,
        splitStringsChunkLength: 10,
        stringArray: true,
        stringArrayEncoding: 'base64',
        stringArrayThreshold: 0.75,
        transformObjectKeys: true,
        unicodeEscapeSequence: false
    }
obfuscatedCode = require('javascript-obfuscator').obfuscate(JSFileContents, obfuscatorSettings); //Error here

对JS文件的更改导致了错误。试图找出哪个变化是罪魁祸首。


共1个答案

匿名用户

错误消息还说“StringArrayEncoding必须是一个数组”。

尝试:StringArrayEncode:['Base64'],

文件编制