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?
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?
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 :
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
Po wygenerowaniu pliku JAR użyj JD-GUI, aby otworzyć plik JAR. Zobaczysz pliki Java.
Dane wyjściowe będą podobne do:
d2j-dex2jar
zamiast niego (v0.0.9.15).
res
folderze
res
folder z nieczytelnymi plikami xml
Mac
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ści
Jeś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 tegolink
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 masz classes.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śmy res/
kod projektu Java, który jest naszym celem na początku.
P.S.
Jeśli nie możesz uzyskać folderu res za pomocą powyższych kroków, zainstaluj nowyapktool
- Czy zainstalowano Javę 1.7? Zainstaluj Apktool 2.x
- Czy zainstalowana jest Java 1.6 lub wyższa? Zainstaluj Apktool 1.x
Enjoy and happy coding
apktool.jar
nie ma go w tym samym pakiecie, wziąłem go z poprzedniego pakietu i wkleiłem w tym samym katalogu, co apktool
.
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
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
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.
Tak, możesz odzyskać swój projekt. Po prostu zmień nazwę yourproject.apk
pliku na yourproject.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.
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.
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ł.
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.
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:
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.
Wypróbuj to narzędzie: https://decompile.io , działa na iPhone / iPad / Mac