我已經開發在Android Studio中的應用程序,並在我的手機進行測試。我已經格式化了電腦,並忘記將我的項目保存到某個地方。現在我想讓我的源代碼回來。我從手機上獲取APK文件(通過使用adb和其他工具)。
我正在使用dex2jar並反編譯我的classes.dex文件,但它沒有顯示我自己的Java類。有可能讓他們回來嗎?
我已經開發在Android Studio中的應用程序,並在我的手機進行測試。我已經格式化了電腦,並忘記將我的項目保存到某個地方。現在我想讓我的源代碼回來。我從手機上獲取APK文件(通過使用adb和其他工具)。
我正在使用dex2jar並反編譯我的classes.dex文件,但它沒有顯示我自己的Java類。有可能讓他們回來嗎?
你可以反編譯就那麼輕易的下方有很大的教程:
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)
我一步一步激動地做了什麼讓你難過。然而,在JD-Gui中只有幾個類不是我的 – parliament
您是否已經開始使用您的apk?釋放之前? –
我不知道什麼是progaurd,但我自己並沒有這樣做。我在android studio中創建了一個項目,然後在插入的手機上運行它。這就是全部 – parliament
這通常是通過一些混淆器完成的,如Proguard的jar文件。這意味着,除了別的以外,你的類的類名將被改變成無意義的名字(例如A/B/C),這些名字在Java類的完全合格的路徑中將仍然是不同的,例如,你可能會在不同的包中有多個「」A「類,但除此之外,你會多次使用這些類名,在大多數情況下,它不會損害你的程序的功能,但是它會使得反向工程變得更加困難。
如果這是你的應用程序,你可以重建它,你可以禁用的ProGuard或者其功能的一個子集,否則就需要逆向工程是你自己的。
即使你有你的classses和反編譯他們,他們將是一個大部分難以理解的,並且絕對不可維護的混亂 – Carcigenicate
你爲什麼需要這個?dex文件是dalvik文件只需要Dalvik或JVM –
我唯一想要的是找回我寫的類該項目,我不想再寫一遍,只有我有我自己的應用程序在我的手機,我可以pul apk文件。我只需要從這個apk文件中獲得我的課程 – parliament