Answers:
有两个有用的工具可以从未知的APK文件生成Java代码(粗略但足够好)。
使用该工具将APK文件转换为JAR:
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
生成JAR文件后,使用JD-GUI打开JAR文件。您将看到Java文件。
输出将类似于:
d2j-dex2jar
改用(v0.0.9.15)。
res
文件夹中找到资源文件
res
包含无法读取的xml文件的文件夹
Mac
如果你不能使用dex2jar:permission denied
那么做到这一点 $sudo chmod +x d2j-dex2jar.sh
首先,我推荐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文件解压缩到同一文件夹中。现在从这里下载dex2jarlink
并将其解压缩到同一文件夹。现在打开命令提示符,并将目录更改为该文件夹。
然后编写dex2jar classes.dex
并按Enter。现在,您将classes.dex.dex2jar
文件保存在同一文件夹中。
然后下载java decompiler
现在,双击jd-gui并单击打开的文件。然后classes.dex.dex2jar
从该文件夹打开文件。现在,您获得了类文件,并通过src名称保存了所有这些类文件(单击文件,然后单击jd-gui中的“保存所有源代码”)。解压缩该zip文件(classes_dex2jar.src.zip)
,您将获得该应用程序的所有Java文件。
在此阶段,您将获得Java源代码,但是xml文件仍然不可读,因此请继续。
Step 3:
现在打开另一个新文件夹并放入这些文件
放入要解码的.apk文件
下载Apktool为windows v1.x
与Apktool
使用谷歌安装窗口,并放置在同一文件夹
使用google下载framework-res.apk文件并将其放在同一文件夹中(并非所有apk文件都需要framework-res.apk文件)
打开命令窗口
导航到APKtool的根目录,然后键入以下命令:
apktool if framework-res.apk.
上面的命令将导致Framework installed ...
。
Step 4:
最终,我们获得了res/
项目的Java代码以及Java代码,这是我们开始的目标。
P.S.
如果您无法通过上述步骤获取res文件夹,请安装新apktool
- 是否安装了Java 1.7? 安装Apktool 2.x
- 是否安装了Java 1.6或更高版本? 安装Apktool 1.x
Enjoy and happy coding
apktool.jar
不在同一个程序包中,我是从以前的程序包中获得的,然后将其粘贴到与相同的目录中apktool
。
没有软件,没有太多步骤。
只需上传您的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版本中的另一个选项分析APK功能
建立->分析APK->选择您的APK->它给出结果
有一种新方法可以做到这一点。
Android Studio 2.2具有APK分析器,它将提供有关apk的大量信息,请在此处检出它:-http: //android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
是的,您可以恢复项目。只需将yourproject.apk
文件重命名为yourproject.zip
,您将获得该ZIP文件中的所有文件。我们将文件扩展名从.apk更改为.zip。从该ZIP文件中,提取classes.dex
文件并通过以下方式对其进行反编译。
首先,您需要一个工具将DEX上的所有(已编译)类提取到JAR中。有一个叫dex2jar的文件,它是由中国学生制作的。
然后,您可以使用JD-GUI将JAR中的类反编译为源代码。由于dex2jar应用了一些优化,因此生成的源代码应具有很好的可读性。
对于Android平台,您可以尝试ShowJava Play商店中提供的。
您可以通过应用界面查询生成的代码,生成的java文件和文件夹结构存储在中的ShowJava
文件夹中/sdcard
,.jar
转换文件。
该应用程序是免费的,在主视图的底部带有一个广告横幅,但是有一个应用程序内购买选项(3,99 $)可以将其删除。应用内购买除了删除广告横幅外,没有添加任何功能。
披露:我既不是该应用程序的开发人员,也不以任何方式与他有任何关系。
请按照以下步骤进行操作,或者在此过程中仅使用apkToJava gem,它甚至还要安装所需的工具才能使其正常工作。
如果您正在寻找专业的替代产品,请查看JEB Decompiler PNF Software的。
有一个演示版,可以让您反编译大多数代码。
以下是一些可用于执行从APK文件到源代码的反向工程的工具:
试试这个工具:https : //decompile.io,它可以在iPhone / iPad / Mac上运行