【问题标题】:Decompile React Native index.android.bundle反编译 React Native index.android.bundle
【发布时间】:2020-10-08 09:44:13
【问题描述】:

我正在使用 React Native 和集成库 react-native-obfuscating-transformer 混淆我的代码。现在反编译我的 APK 后,我相信我的整个 js 代码都在 assets/index.android.bundle 下。

我如何解绑它并查看我的代码混淆是否有效。

【问题讨论】:

标签: android react-native obfuscation


【解决方案1】:

适用于 Macbook

brew install apktool

安装apktool后,在终端上运行以下命令解压缩apk文件:

apktool  d /pathOfApkFile.apk

之后你会在pathOfApkFile/assets/index.android.bundle获得index.android.bundle文件

你可以使用react-native-decompiler 来反编译index.android.bundle 文件

反编译index.android.bundle文件

你可以通过运行这个命令来反编译index.android.bundle

npx react-native-decompiler -i ./index.android.bundle -o ./output

之后会在./output目录下得到JS反编译文件

JS代码反编译

React Native 已经在做 uglify js 代码了。

react-native-obfuscating-transformer也是制作复杂的丑化代码

类似于 MD5 和 SHA256 加密,没有可用的工具知道何时进行机器学习和暴力破解来给我们估计代码

如果你想验证 react-native-obfuscating-transformer 是否实现,那么你可以编辑 index.android.bundle 并保存代码,然后实现 react-native-obfuscating-transformer 并编辑和比较两个文件

您可以通过在 build.gradle 中添加名为 bundleInRelease: true 的标志并添加 Hermes 将 js 包转换为字节码以提高效率来制作更多丑陋的代码

REF

注意:没有办法反编译index.android.bundle,因为这个文件包含uglify代码,其中一行可能有很多反转

Java 代码反编译

您可以使用DEX2JAR 将apk 转换为java 代码 你可以从JD-GUI查看该代码

你可以看到这个VIDEO

【讨论】:

  • 嗨@Muhammad,感谢您的回答。我能够做到。但我的问题不同。如何解绑 assets/index.android.bundle 文件
  • @FaisalAhmed 我已经编辑了 index.android.bundle 的答案
  • 看来github.com/nomi9995/react-native-decompiler 已被删除。在哪里可以找到它?
【解决方案2】:

https://android.jlelse.eu/getting-inside-apk-files-21dbd01529d4

如果您的应用是在 React Native 上编写的,使用相同的 apktool 您可以在反编译的 APK 文件夹的 assets 文件夹中找到 index.android.bundle 文件。 要使用 IntelliJ IDEA 打开它,请右键单击文件,关联文件类型...并选择 JavaScript。它通常是缩小的 .js 文件。

换句话说,在 Intellij 等 IDE 中打开 .bundle 文件将生成一个缩小的 .js 文件,然后可以对其进行格式化并与您的源代码进行比较。我希望这会有所帮助!

【讨论】:

    【解决方案3】:

    有一个叫APK Easy Tool的工具,从here下载,安装,打开。



    通过选择浏览选项选择 apk,然后单击提取 apk,提取后单击反编译的 apk 目录,然后打开目录。你会看到这样的东西



    在 Extracted APKs 目录中导航,您将获得捆绑包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 2020-04-23
      相关资源
      最近更新 更多