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?


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! :)


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


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

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


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.


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.