2016-11-28 68 views
1

我在Android工作室开发了一个Android应用程序,并且已经将其apk安装到Google Play商店。但我失去了应用程序的所有文件(java + xml)。Android Apk to Pure Java文件

现在我只有从Play商店和apk安装apk后才能上传到Google Play商店(apk执行加密之前)。

现在我想获取应用程序的所有java文件和xml的应用程序。我已经尝试了以前的StackOverflow问题提到的所有步骤,但我无法正确获取Java文件。我能够正确地获得xmls。我得到的Java文件有些不可理解的格式(部分编译/转换)

所以我的问题是我可以得到所有的Java文件作为普通的Java文件没有任何编译/转换?

请帮帮忙。预先感谢一吨

+2

我不认为你得到他们,变量名称,甚至方法名称可能是一些随机字符或像'integer1'' string5',所以,因为当他们编译名称不存储,每件事情被改变为操作和地址,所以当它们被逆转回来时,它们被随机字符或无意义的单词填充。 – Yazan

+0

只需阅读本文。你会明白。 https://www.tutorialspoint.com/tika/tika_extracting_class_file.htm –

+0

是的,我也得到了一些随机字符串来代替var名称和方法名称。 – AR5

回答

0

不,你不能。除非经过逆向工程过程,像dex2jar ...

+0

尝试dex2jar和所有....即使使用后,我得到的java文件是有一些毫无意义的var名称/方法名称,这使得整个文件看起来很奇怪。 – AR5

+0

@ AR5对不起,伙计。我猜你的apk文件也受到proguard的保护......这意味着源代码被混淆了。通常,逆向工程师需要几天时间才能完成倒车过程... – shanwu

+0

@ AR5抱歉,好友。我猜你的apk文件也受到proguard的保护......这意味着源代码被混淆了。通常情况下,逆向工程师需要数天才能完成倒车过程...... – shanwu

0

第一步是解压缩APK存档,并将名为classes.dex的文件复制到其他目录。接下来,您需要将您的dex文件转换为jar格式。
为此,您可以使用this library。请记住,您必须先使用gradle构建它。
最后一步是将您的java class文件反编译为合适的java文件。使用this tool
瞧,你有你的源代码。那就是如果你还没有使用Proguard来混淆你的代码。

+0

这个过程也给了我有没有意义的var名称/方法名称的java文件... – AR5

+0

@ AR5它表明你已经使用了'Proguard '在构建APK之前混淆您的代码。在这里你无能为力。 –

+0

哦...所以没办法让它ryt :( – AR5