Jak zdekompilować plik APK lub DEX na platformie Android? [Zamknięte]

137

Czy można zdekompilować pakiet APK lub plik DEX na platformie Android? Czy są jakieś narzędzia, które mogą dekompilować plik APK?

user3151261
źródło
masz na myśli programowo?
Lucifer,
Ten link zawiera każdą odpowiedź, której potrzebujesz. stackoverflow.com/questions/12732882/…
Mandar Kakade,
jest ich wiele w sklepie Play, ktoś może je przeszukać ..
MarmiK

Odpowiedzi:

163

Potrzebujesz trzech narzędzi do decompile an APKzłożenia.

  1. Dex2jar - narzędzia do pracy z plikami .dex .dex i java .class systemu Android

  2. ApkTool - narzędzie do inżynierii wstecznej plików APK systemu Android

  3. JD-GUI - Java Decompiler to narzędzie do dekompilacji i analizy „kodu bajtowego” Java 5 i późniejszych wersji.

aby uzyskać więcej porad dotyczących korzystania z dextojar . Mam nadzieję, że to pomoże Tobie i wszystkim! :)

Rupesh Yadav
źródło
Myślę, że wszystkie te narzędzia działają na platformie Windows. czy mogę zaimportować te pliki jar do mojego projektu na Androida, a następnie uruchomić na platformie Android
user3151261,
Rupesh Yadav @ W tym procesie część kodu linii nie pasuje do oryginalnego kodu. www.decompileandroid.com/ z tej strony internetowej mogę zdekompilować swój kod, ale oba kody są różne. Dlaczego?
Shailendr singh
1
@Shailendrsingh powyższy proces jest standardowym procesem dekompilacji APK i w przypadku, gdy zaciemnianie jest włączone w aplikacji, zdekompilowany kod klas może się różnić.
Rupesh Yadav
ok, jeśli zaciemnianie jest włączone w aplikacji. jak mogę uzyskać oryginalny kod, który jest napisany w aplikacji?
Shailendr singh
2
@Shailendrsingh jest to możliwe tylko wtedy, gdy masz odwrotny plik mapowania, w przeciwnym razie nie można uzyskać 100% z pliku APK.
Rupesh Yadav
32

Online APK Decompiler http://www.decompileandroid.com/
http://www.javadecompilers.com/
APK Decompiler App dla Windows http://forum.xda-developers.com/showthread.php?t=2493107

Zaktualizuj 2015/12/04
ClassyShark, możesz otwierać pliki APK / Zip / Class / Jar i analizować ich zawartość. https://github.com/google/android-classyshark

BM
źródło
3
DecompileAndroid niestety nie dekompiluje poprawnie
strings.xml
ProGuard całkowicie usuwa R $ string.class, ale dekompilatory Androida mogą zrekonstruować wszystkie informacje z zasobów resources.arsc. Myślę, że ten DecompileAndroid nie zaimplementował jeszcze tego rodzaju skomplikowanej funkcji
Jacky
5

Plik APK ma tylko zipformat. Możesz go rozpakować jak każdy inny .zipplik.

.dexPliki można dekompilować za pomocą dexdumpnarzędzia, które jest dostępne w zestawie Android SDK.

Więcej informacji dex można znaleźć pod adresem https://stackoverflow.com/a/7750547/116938 .

Austyn Mahoney
źródło
5

Możesz zdekompilować apk na urządzeniu z Androidem, używając tego: https://play.google.com/store/apps/details?id=com.njlabs.showjava

Więcej informacji znajdziesz tutaj: http://forum.xda-developers.com/showthread.php?t=2601315

EDYCJA: 28-02-2015

Do dekompilacji pliku APK możesz użyć tego narzędzia: https://apkstudio.codeplex.com/license

Jeśli to nie pomoże, sprawdź ten link

Ultimo_m
źródło
Ta aplikacja nigdy dla mnie nie działała. Nieskończenie próbuje wykonać „Dekompilację do javy” i zwykle się zawiesza ..
goRGon,
to należy postępować zgodnie z tą odpowiedzią stackoverflow.com/a/23924665/2736039 te rozwiązania działają bardzo dobrze
Ultimo_m
to rozwiązanie ma inny problem - zobacz mój komentarz tam;)
goRGon
Znam ten problem i aby go rozwiązać, używam narzędzia Apk. O ile wiem, nie możesz znaleźć narzędzia, które wykona całą pracę. Musisz ich wszystkich użyć :)
Ultimo_m
sprawdź moją zredagowaną odpowiedź Znalazłem nowe narzędzie
Ultimo_m
5

http://www.decompileandroid.com/

Ta witryna zdekompiluje kod osadzony w plikach APK i wyodrębni wszystkie inne zasoby w pliku.

Ranjith Kumar
źródło
2
bardzo ładna strona internetowa! Używałem go przez rok. Jest też alternatywa: javadecompilers.com/apk , która używa innego podejścia (Jadx zamiast Dex2jar + Jad)
Andrew Rukin
@JqueryNinja sprawdź to dla alternatywnego - stackoverflow.com/a/27981520/3879847
Ranjith Kumar
@RanjithKumar javadecompilers.com/apk po długich godzinach oczekiwania w kolejce witryna zdekompilowała mój apk. Brakowało jednak niektórych klas Java. Czy nie ma innej alternatywy?
iOSAndroidWindowsMobileAppsDev
@JqueryNinja użyj apk showjava. To jest lepsze niż inne. ale reklama jest bardziej .. play.google.com/store/apps/details?id=com.njlabs.showjava
Ranjith Kumar
@RanjithKumar showjava używa javadecompilers.com/apk lub jadx, które nie dekompilują wszystkich klas java
iOSAndroidWindowsMobileAppsDev
3

Możesz także skorzystać z apktool: http://ibotpeaches.github.io/Apktool/, które również dostarczy Ci pliki xml res. Oprócz tego możesz również użyć systemu dex2jar, który wyprowadzi plik dex w apk do pliku jar, który można otworzyć za pomocą JD-GUI i wyeksportować do standardowych plików java.

w9jds
źródło
0

Możesz także użyć narzędzia Android Multitool. Możesz wprowadzić drobne zmiany w aplikacji, takie jak ukrywanie elementów GUI lub modyfikowanie niewielkiej części Logic i przebudowanie apk. Jest łatwy w użyciu i dekompilacji / ponownej kompilacji plików apk i jar. Oto link można kasie.

Twoje zdrowie

trueblue
źródło