2016-11-28 65 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