丢失了我的数据...能够以某种方式从我的APK获取我的应用程序源代码?
我的电脑坏了,戴尔重置了硬盘。 这使我失去了两个月的应用修订版本。 这是一个相当简单的应用程序,不是主要的文件大小,所以如果它可以反编译,它应该不会太糟糕。 有什么方法可以带走我的APK并输出源代码,或者至少是我的MainActivity? 谢谢!
您将无法获得原始源代码,但可以使用工具根据编译后的二进制文件创建新的源代码。 这显然是纯粹基于二进制文件,所以你不会得到你的任何评论或空白,并且它的可读性会降低很多,并且可能无法编译或工作100%。 但是,嘿,这比没有好。
我建议先从APKTool开始。 这将打开清单并给你smali(Dalvik字节码汇编)的一切。 要恢复Java级别的源代码,有许多Java反编译器可供选择。 我建议试试Enjarify + Procyon。
除此之外,你有没有尝试磁盘恢复? 根据他们对磁盘所做的操作,您的数据可能仍然可以恢复。
我使用的是APKtools,你可以提取准确的Java源代码,包括资源和XML。
要从APK文件获取源代码,我们需要以下工具:1. dex2jar 2. java反编译器3. apktool 4. apkinstall
获取源代码的步骤: -
从APK获取Java文件: - 1.将.apk文件重命名为.zip文件(例如SharedPr.apk到SharedPr.zip中)。
从提取的文件夹中提取SharedPr.zip文件并复制classes.dex文件。
提取dex2jar.zip并将classes.dex粘贴到dex2jar文件夹中。
打开命令提示符并将目录更改为dex2jar文件夹。 然后编写dex2jar classes.dex并按回车。 现在您将在同一个文件夹中获得classes.dex.dex2jar文件。
现在双击jd-gui(Java反编译器)并点击打开的文件。 然后从该文件夹打开classes.dex.dex2jar文件。 现在你将得到类文件并保存所有这些类文件(点击文件,然后点击jd-gui中的“保存所有源文件”)src名称。
从APK获取XML文件: -
在文件夹中提取apktool和apkinstall(例如:新建文件夹)。
将SharedPr.apk(你的apk文件)放在同一个文件夹(即新建文件夹)中。
打开命令提示符并转到根目录(即新建文件夹)。
在命令提示符处键入命令:apktool d SharedPr.apk
这将在当前目录(这里是新建文件夹)中生成一个名称为SharePr的文件夹,所有XML文件都将位于res-> layout文件夹中。
上一篇: Lost my data... Able to get my app source from my APK somehow?
下一篇: Source code from apk file recovered but its not the same which I wrote