[英]Reverse engineering from an APK file to a project
有两个有用的工具可以从未知的 APK 文件生成 Java 代码(粗略但足够好)。
从dex2jar下载 dex2jar 工具。
使用该工具将 APK 文件转换为JAR : Windows:
$ d2j-dex2jar.bat demo.apk dex2jar demo.apk -> ./demo-dex2jar.jar
MacOS/Linux:
$ d2j-dex2jar.sh -f demo.apk -o demo.jar
生成 JAR 文件后,使用JD-GUI打开 JAR 文件。 您将看到 Java 文件。
输出将类似于:
然后您可以使用其他工具从 APK 文件中检索 AndroidManifest.xml 和资源文件(如图像、翻译等)。
首先,我推荐this
视频可能会清除你所有的疑虑
如果没有,请通过它
Procedure for decoding .apk files, step-by-step method:
Step 1:
创建一个新文件夹并将 .apk 文件放入其中(您要解码)。 现在将此.apk
文件的扩展名重命名为.zip
(例如:从 filename.apk 重命名为 filename.zip)并保存它。
如果在转换为 .zip 时出现问题,请参阅link
获得 .zip 后,您将获得 classes.dex 文件等。在此阶段,您可以看到 drawable 但不能看到 xml 和 java 文件,所以继续。 如果您没有看到扩展通过检查配置
Step 2:
现在将这个 zip apk 文件解压缩到同一文件夹中。 现在从此link
下载 dex2jar
并将其解压缩到同一文件夹中。 现在打开命令提示符并将目录更改为该文件夹。
然后编写dex2jar classes.dex
并回车。 现在您将在同一文件夹中获得classes.dex.dex2jar
文件。
然后下载java反编译器
现在双击 jd-gui 并单击打开文件。 然后从该文件夹打开classes.dex.dex2jar
文件。 现在您获得类文件并按 src 名称保存所有这些类文件(单击文件,然后在 jd-gui 中单击“保存所有源”)。 解压缩该 zip 文件(classes_dex2jar.src.zip)
,您将获得该应用程序的所有 java 文件。
在这个阶段,你得到了 java 源代码,但 xml 文件仍然无法读取,所以继续。
Step 3:
现在打开另一个新文件夹并放置这些文件
放入要解码的 .apk 文件
下载 Apktool for windows v1.x
和Apktool
使用谷歌安装窗口并放在同一个文件夹中
使用google下载framework-res.apk文件并放在同一个文件夹中(并非所有apk文件都需要framework-res.apk文件)
打开命令窗口
导航到 APKtool 的根目录并键入以下命令: apktool if framework-res.apk.
上面的命令应该导致Framework installed ...
了Framework installed ...
Step 4:
最后我们得到了res/
以及项目的java代码,这是我们开始时的目标。
PS
如果您无法通过上述步骤获取 res 文件夹,请安装新的apktool
- 是否安装了 Java 1.7? 安装 Apktool 2.x
- 是否安装了 Java 1.6 或更高版本? 安装 Apktool 1.x
Enjoy and happy coding
没有软件,没有太多的步骤..
只需上传您的 APK 并从该站点获取您的所有资源..
https://www.apkdecompilers.com/
该网站将反编译嵌入在 APK 文件中的代码并提取文件中的所有其他资产。
注意:我反编译我的 APK 文件并在一分钟内从本网站获取代码
更新 1 :
我找到了另一个在线反编译器站点,
http://www.javadecompilers.com/apk/ - 不连续工作要求弹出窗口阻止
更新 2:
我在 Play 商店找到了 apk 反编译器应用程序,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
我们可以在我们的android手机中反编译apk文件。 并且我们还可以查看此应用程序中的 java 和 xml 文件
更新 3:
我们可以使用Android studio 2.2版本中的另一个选项Analyze APK feature
构建 -> 分析 APK -> 选择你的 APK -> 它给出结果
有一种新方法可以做到这一点。
Android Studio 2.2 具有 APK 分析器,它将提供有关 APK 的大量信息,请在此处查看:- http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
对于 Android 平台,您可以尝试ShowJava ,可从 Play 商店获得。
您可以通过应用程序界面查看生成的代码,生成的 java 文件和文件夹结构存储在/sdcard
中的ShowJava
文件夹中,以及转换生成的.jar
文件。
该应用程序是免费的,主视图底部有一个广告横幅,但有一个应用程序内购买选项(3.99 美元)可以将其删除。 除了移除广告横幅外,应用内购买不会添加任何功能。
披露:我不是该应用程序的开发者,也不与他有任何关联。
试试这个工具: https : //decompile.io ,它在 iPhone/iPad/Mac 上运行
请按照以下步骤执行此操作或简单地使用apkToJava gem进行此过程,它甚至会负责安装所需的工具以使其工作。
如果您正在寻找专业的替代方案,请查看 PNF Software 的JEB Decompiler 。
有一个演示版本可以让您反编译大多数代码。
以下是一些可用于执行从 APK 文件到源代码的逆向工程的工具:
您可能想要使用的另一个工具是APK Studio它依赖于第三方工具:Apktool、jadx、ADB 和 Uber APK 签名器,您需要单独下载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.