2016-10-10 21 views
-3

enter image description hereclasses.dex文件簡化版,包含我的java類

我已經開發在Android Studio中的應用程序,並在我的手機進行測試。我已經格式化了電腦,並忘記將我的項目保存到某個地方。現在我想讓我的源代碼回來。我從手機上獲取APK文件(通過使用adb和其他工具)。

我正在使用dex2jar並反編譯我的classes.dex文件,但它沒有顯示我自己的Java類。有可能讓他們回來嗎?

+0

即使你有你的classses和反編譯他們,他們將是一個大部分難以理解的,並且絕對不可維護的混亂 – Carcigenicate

+0

你爲什麼需要這個?dex文件是dalvik文件只需要Dalvik或JVM –

+0

我唯一想要的是找回我寫的類該項目,我不想再寫一遍,只有我有我自己的應用程序在我的手機,我可以pul apk文件。我只需要從這個apk文件中獲得我的課程 – parliament

回答

0

你可以反編譯就那麼輕易的下方有很大的教程:

https://futurestud.io/tutorials/how-to-decompile-an-android-app-apk

4個簡單的步驟如下:

1-解壓你APK喜歡你解壓縮任何ZIP文件

2 - 找到classes.dex文件

3-將它們轉換爲jar文件使用dexToJar工具

4-打開使用JD-Gui應用(availbale窗戶/ Ubuntu的/ MAC)

+0

我一步一步激動地做了什麼讓你難過。然而,在JD-Gui中只有幾個類不是我的 – parliament

+0

您是否已經開始使用您的apk?釋放之前? –

+0

我不知道什麼是progaurd,但我自己並沒有這樣做。我在android studio中創建了一個項目,然後在插入的手機上運行它。這就是全部 – parliament

0

這通常是通過一些混淆器完成的,如Proguard的jar文件。這意味着,除了別的以外,你的類的類名將被改變成無意義的名字(例如A/B/C),這些名字在Java類的完全合格的路徑中將仍然是不同的,例如,你可能會在不同的包中有多個「」A「類,但除此之外,你會多次使用這些類名,在大多數情況下,它不會損害你的程序的功能,但是它會使得反向工程變得更加困難。

如果這是你的應用程序,你可以重建它,你可以禁用的ProGuard或者其功能的一個子集,否則就需要逆向工程是你自己的。