Przypadkowo usunąłem swój projekt z Eclipse , a wszystko, co mi pozostało, to plik APK , który przesłałem na telefon. Czy istnieje sposób na odwrócenie procesu eksportowania aplikacji do pliku .apk, aby odzyskać mój projekt?
android
apk
decompiling
Marko Cakic
źródło
źródło
Odpowiedzi:
Istnieją dwa przydatne narzędzia, które wygenerują kod Java (szorstki, ale wystarczająco dobry) z nieznanego pliku APK.
Użyj narzędzia do konwersji pliku APK do JAR :
Po wygenerowaniu pliku JAR użyj JD-GUI, aby otworzyć plik JAR. Zobaczysz pliki Java.
Dane wyjściowe będą podobne do:
źródło
d2j-dex2jar
zamiast niego (v0.0.9.15).res
folderzeres
folder z nieczytelnymi plikami xmlMac
razie nie można używać dex2jar:permission denied
zrób to$sudo chmod +x d2j-dex2jar.sh
Przede wszystkim polecam
this
wideo, aby to rozwiało wszystkie twoje wątpliwościJeśli nie, proszę przejść przez to
Procedure for decoding .apk files, step-by-step method:
Step 1:
Utwórz nowy folder i umieść w nim plik .apk (który chcesz zdekodować). Teraz zmień nazwę rozszerzenia tego
.apk
pliku na.zip
(np .: zmień nazwę z filename.apk na filename.zip) i zapisz.W przypadku problemów z konwersją do formatu .zip prosimy o odniesienie
link
Po otrzymaniu .zip otrzymujesz teraz pliki klas.dex itp. Na tym etapie możesz wyświetlać pliki rysunkowe, ale nie xml i java, więc kontynuuj. Jeśli nie widzisz, że rozszerzenia przechodzą, sprawdź konfigurację
Step 2:
Teraz rozpakuj ten plik zip apk w tym samym folderze. Teraz pobierz dex2jar z tego
link
i wypakuj go do tego samego folderu. Teraz otwórz wiersz polecenia i zmień katalog na ten folder.
Następnie napisz
dex2jar classes.dex
i naciśnij enter. Teraz maszclasses.dex.dex2jar
plik w tym samym folderze.Następnie pobierz dekompilator Java
A teraz dwukrotnie kliknij jd-gui i kliknij otwarty plik. Następnie otwórz
classes.dex.dex2jar
plik z tego folderu. Teraz otrzymujesz pliki klas i zapisujesz wszystkie pliki klas (kliknij plik, a następnie kliknij „zapisz wszystkie źródła” w jd-gui) według nazwy src. Wyodrębnij ten plik zip(classes_dex2jar.src.zip)
a otrzymasz wszystkie pliki Java aplikacji.Na tym etapie masz źródło Java, ale pliki XML nadal są nieczytelne, więc kontynuuj.
Step 3:
Teraz otwórz kolejny nowy folder i umieść te pliki
umieść plik .apk, który chcesz zdekodować
pobierz Apktool dla
windows v1.x
AndApktool
zainstaluj okno za pomocą Google i umieść w tym samym folderze
pobierz plik framework-res.apk za pomocą Google i umieść w tym samym folderze (nie wszystkie pliki apk wymagają pliku framework-res.apk)
Otwórz okno poleceń
Przejdź do katalogu głównego APKtool i wpisz następujące polecenie:
apktool if framework-res.apk.
Powyższe polecenie powinno skutkować
Framework installed ...
.Step 4:
Wreszcie otrzymaliśmyres/
kod projektu Java, który jest naszym celem na początku.Enjoy and happy coding
źródło
apktool.jar
nie ma go w tym samym pakiecie, wziąłem go z poprzedniego pakietu i wkleiłem w tym samym katalogu, coapktool
.Bez oprogramowania i bez zbyt wielu kroków ..
Po prostu prześlij swój pakiet APK i uzyskaj wszystkie zasoby z tej witryny ..
https://www.apkdecompilers.com/
Ta strona internetowa dekompiluje kod osadzony w plikach APK i wyodrębni wszystkie pozostałe zasoby w pliku.
Uwaga: dekompiluję plik APK i otrzymuję kod w ciągu jednej minuty z tej witryny
Aktualizacja 1 :
Znalazłem inną witrynę dekompilatora online,
http://www.javadecompilers.com/apk/ - Nie działa stale, prosząc o blokowanie wyskakujących okienek
Aktualizacja 2:
Znalazłem aplikację dekompilatora apk w sklepie Play,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Możemy dekompilować pliki apk w naszym telefonie z Androidem. a także możemy przeglądać pliki Java i XML w tej aplikacji
Aktualizacja 3:
Możemy użyć innej opcji Analizuj APK z wersji Android studio 2.2
Kompiluj -> Analizuj APK -> Wybierz swój APK -> daje wyniki
źródło
Jest na to nowy sposób.
Android Studio 2.2 ma analizator APK, który dostarczy wiele informacji o apk, sprawdź tutaj: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
źródło
Nie całkiem. Istnieje wiele pakietów dezasemblera / dekompilatora dex, takich jak smali lub dex2jar, które będą generować pół-czytelne dane wyjściowe (w przypadku dex2jar można uzyskać kod Java za pomocą czegoś takiego jak JD-GUI, ale proces jest nie jest idealny i jest bardzo mało prawdopodobne, że będziesz w stanie w 100% odtworzyć kod źródłowy, jednak może potencjalnie dać ci miejsce do rozpoczęcia odbudowy twojego drzewa źródłowego.
źródło
Tak, możesz odzyskać swój projekt. Po prostu zmień nazwę
yourproject.apk
pliku nayourproject.zip
, a otrzymasz wszystkie pliki w tym pliku ZIP. Zmieniamy rozszerzenie pliku z .apk na .zip. Z tego pliku ZIP rozpakuj plikclasses.dex
plik i dekompiluj go w następujący sposób.Po pierwsze potrzebujesz narzędzia do wyodrębnienia wszystkich (skompilowanych) klas DEX do pliku JAR. Jest taki o nazwie dex2jar , wykonany przez chińskiego studenta.
Następnie można użyć interfejsu JD-GUI do dekompilacji klas w pliku JAR do kodu źródłowego. Wynikowy kod źródłowy powinien być dość czytelny, ponieważ dex2jar stosuje pewne optymalizacje.
źródło
W przypadku platformy Android możesz wypróbować program ShowJava , dostępny w Sklepie Play.
Wygenerowany kod można sprawdzić za pomocą interfejsu aplikacji, a wygenerowane pliki Java i struktura folderów są przechowywane w
ShowJava
folderze/sdcard
, obok.jar
pliku wynikowego z konwersji.Aplikacja jest bezpłatna z banerem reklamowym u dołu głównego widoku, ale istnieje możliwość zakupu w aplikacji (3,99 $), aby ją usunąć. Zakup w aplikacji nie dodaje żadnej funkcji poza usunięciem banera reklamowego.
Ujawnienie: Nie jestem twórcą aplikacji ani nie jestem z nim związany w żaden sposób.
źródło
Wykonaj poniższe kroki, aby to zrobić, lub po prostu użyj klejnotu apkToJava do tego procesu, a nawet zajmie się zainstalowaniem wymaganych narzędzi, aby działał.
źródło
Jeśli szukasz profesjonalnej alternatywy, zapoznaj się z dekompilatorem JEB z firmy PNF Software.
Istnieje wersja demonstracyjna, która pozwoli Ci na dekompilację większości kodu.
źródło
Poniżej znajdują się niektóre z narzędzi, których można użyć do wykonania inżynierii wstecznej z pliku APK do kodu źródłowego:
źródło
W Android Studio 3.5 jest to tak proste, że możesz to osiągnąć w ciągu minuty. Poniżej przedstawiono krok po kroku.
1: Otwórz Android Studio, naciśnij przycisk okna -> Wpisz Android Studio -> kliknij ikonę, aby otworzyć ekran powitalny Android Studio, który będzie wyglądał następująco.
2: Tutaj możesz zobaczyć opcję „Profiluj lub debuguj APK” kliknij na nią, wybierz plik apk i naciśnij OK.
3: Otworzy wszystkie twoje manifesty i klasy java za minutę, w zależności od wielkości apk.
Otóż to.
źródło
Wypróbuj to narzędzie: https://decompile.io , działa na iPhone / iPad / Mac
źródło