如何从 apk 文件中获取本机代码
How to get react native code from apk file
我用 React Native 写了一个应用程序,但不小心在开发快结束时,我的硬盘崩溃了,现在我只有 APK 文件,我可以只从那个 APK 文件中取回 React Native 代码吗?
不,恐怕你无法检索你的反应本机代码,就像你反编译你的 apk 文件一样,它将 return 你 android 的 java 代码,但没有反应本机代码.
因为,React Native 将代码转换为本地语言,具体取决于您要构建其 android 或 ios 的OS。
解压apk文件后,在assets文件夹内,index.android.bundle文件是捆绑的react源代码。将 index.android.bundle 重命名为 something.js
因为 something.js 是一个捆绑文件 (minified/uglified),使用一些 unuglifier/jsbeautifier 来确保可读性。 (同时检查 jsnice)
聊胜于无。
不,您无法检索实际代码,但您可以获得一些反编译代码
安装 apktool:
对于 Macbook
brew install apktool
对于Linux
apt-get install -y apktool
对于Windows
您可以阅读 window DOCS
的安装步骤
用法
安装 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反编译文件
我用 React Native 写了一个应用程序,但不小心在开发快结束时,我的硬盘崩溃了,现在我只有 APK 文件,我可以只从那个 APK 文件中取回 React Native 代码吗?
不,恐怕你无法检索你的反应本机代码,就像你反编译你的 apk 文件一样,它将 return 你 android 的 java 代码,但没有反应本机代码.
因为,React Native 将代码转换为本地语言,具体取决于您要构建其 android 或 ios 的OS。
解压apk文件后,在assets文件夹内,index.android.bundle文件是捆绑的react源代码。将 index.android.bundle 重命名为 something.js
因为 something.js 是一个捆绑文件 (minified/uglified),使用一些 unuglifier/jsbeautifier 来确保可读性。 (同时检查 jsnice)
聊胜于无。
不,您无法检索实际代码,但您可以获得一些反编译代码
安装 apktool:
对于 Macbook
brew install apktool
对于Linux
apt-get install -y apktool
对于Windows
您可以阅读 window DOCS
的安装步骤用法
安装 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
目录