javascript-obfuscator/react-native-obfuscating-transformer

RN 0.55.4 require issue

sytler opened this issue · 5 comments

Hi, Im getting
calls to require expect exactly 1 string literal argument, but this was found: require(_0xbf50('0x4')).
anybody know what could be the issue there?

transformer used:

module.exports = obfuscatingTransformer({
  upstreamTransformer: typescriptTransformer,
  obfuscatorOptions: {
    compact: true,
    controlFlowFlattening: false,
    controlFlowFlatteningThreshold: 0.75,
    deadCodeInjection: true,
    deadCodeInjectionThreshold: 0.4,
    debugProtection: true,
    debugProtectionInterval: false,
    disableConsoleOutput: true,
    identifierNamesGenerator: "hexadecimal",
    log: false,
    renameGlobals: false,
    reservedNames: ['import', 'require', 'class declaration', 'export'],
    rotateStringArray: false,
    seed: 0,
    selfDefending: false,
    sourceMap: false,
    sourceMapMode: "separate",
    stringArray: false,
    stringArrayEncoding: false,
    // stringArrayThreshold: 1,
    target: "node",
    unicodeEscapeSequence: false,
  }
});

any news?

azi1 commented

am facing the same issue. even if i don't provide any obfuscatorOptions and set emitObfuscatedFiles= true and see the obfuscated files. my code is not properly obfuscated.

I guess the major problem you think this package doesn't work at all is that default filter options is src/**/* and default react-native init project doesn't have src folder.

Btw, I've figured out that if you enable stringArray option with this package, it's internally disabling that option but if you enable deadCodeInjection option, you're forcibly enable stringArray option so the aforementioned require issue appears.

I tried apply reservedStrings option with strings like 'react', 'react-native', etc. to avoid obfuscate strings inside require method but no luck so far.

@azi1 our code is not properly obfuscated as well. did you solve your issue?

azi1 commented

@wangghon no still working on it .Let me know if you come with any solution. thanks