Open mppperez opened 3 years ago
@mppperez is your fork available on npm?
Unfortunately not. You will have to include it manually if you want to use it. I guess with our next release we will drop this dependency as well and will check out the solution of directly use javascript-obfuscator.
We've got Hermes enabled (this should generate bytecode rather than JS) but we still have the JS files that need obfuscating... this may be already the solution even for others. I guess our configuration is just not completed yet.
I ended up publishing your fork to a private npm registry and it works well alongside Hermes. A solution using javascript-obfuscator
directly would be interesting.
@mppperez @grit96 How did you manage to get hermes working with the obfuscator? Either I obfuscate or I use hermes, I cannot get both to work.
More specifically, the obfuscator seems to work but then hermes recreates its own android.bundle without the obfuscation.
When I disassemble the bundle I get all the original code back. Any tips? ☹️
This is now the recommended way to do it:
// metro.config.js
module.exports = {
transformer: {
minifierPath: require.resolve('metro-minify-terser')
}
}
@grit96 Thanks! I will try. One question: is it possible to plug in the javascript obfuscator there?
As an update, that still doesn't seem to minify my bundle. I am using hermes and this command to make a build:
react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/src/main/assets/index.android.bundle --assets-dest ./android/app/src/main/res && rm -rf android/build/ && rm -rf android/app/build/ && rm -rf android/app/src/main/res/drawable* && mkdir -p android/app/build/intermediates/assets/release/ && cd android && ./gradlew assembleRelease && cd .."
But the index.android.bundle
is still not obfuscated (I still get lots of "Original Name: xxx" which contains the original function names.)
Thoughts? I have a feeling something is undoing the obfuscation step.
Just updated to new React Native version and it's broken again.
Output:
Already updated my fork appropriately and it works with updated dependencies (+ necessary code changes). PR will be created soon.