Inżynieria odwrotna z pliku APK do projektu

Przypadkowo usunąłem swój projekt z Eclipse, a jedyne co mi pozostało to plik APK, który przeniosłem na mój telefon. Czy istnieje sposób na odwrócenie procesu eksportu aplikacji do.plik apk, żebym mógł odzyskać projekt?

Author: Vadim Kotov, 2012-10-04

10 answers

Istnieją dwa przydatne narzędzia, które generują kod Java (szorstki, ale wystarczająco dobry) z nieznanego pliku APK.

  1. Pobierz narzędzie dex2jar z dex2jar .
  2. Użyj narzędzia do konwersji pliku APK do JAR:

    $ d2j-dex2jar.bat demo.apk
    dex2jar demo.apk -> ./demo-dex2jar.jar
    
  3. Po wygenerowaniu pliku JAR użyj JD-GUI , aby otworzyć plik JAR. Zobaczysz pliki Java.

Wyjście będzie podobne do:

JD GUI

 241
Author: rahul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-13 14:06:33

Przede wszystkim polecam this wideo may this is usuwa wszystkie Twoje wątpliwości

If not please go through

Procedure for decoding .apk files, step-by-step method:

Step 1:

Stwórz nowy folder i umieść .plik apk w nim (który chcesz rozszyfrować). Teraz zmień nazwę rozszerzenia tego pliku .apk na .zip (np.: Zmień nazwę z nazwy pliku.apk do nazwy pliku.apk.zip) i zapisać go.

Jeśli problemy w konwersji na .zip proszę link

Po uzyskaniu .zip teraz masz zajęcia.pliki dex itp. Na tym etapie możesz zobaczyć drawable, ale nie pliki xml i java, więc kontynuuj. Jeśli nie widzisz rozszerzenia przejdź przez sprawdź konfigurację

Step 2:

Teraz rozpakuj ten plik zip apk w tym samym folderze. Teraz pobierz dex2jar z tego link

I rozpakować 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 otrzymujesz classes.dex.dex2jar plik w tym samym folderze.

Następnie pobierz Java decompiler

A teraz kliknij dwukrotnie JD-gui i kliknij Otwórz plik. Następnie otwórz classes.dex.dex2jar Plik z tego folderu. Teraz dostajesz pliki klas i zapisujesz wszystkie te pliki klas (kliknij na plik, a następnie kliknij "Zapisz wszystkie źródła" w JD-gui) według nazwy src. Rozpakuj ten plik zip (classes_dex2jar.src.zip), a otrzymasz wszystkie pliki java aplikacji.

Na tym etapie dostajesz źródło Javy, ale pliki xml są nadal nieczytelne, więc kontynuuj.

Step 3:

Teraz otwórz nowy folder i umieść te pliki

  1. Put .plik apk, który chcesz rozszyfrować

  2. Pobierz Apktool dla windows v1.x oraz Apktool

Zainstaluj okno za pomocą google i umieść w tym samym folderze

  1. Pobierz plik framework-res. apk za pomocą google i umieścić w tym samym folderze (nie wszystkie pliki apk muszą framework-plik res. apk)

  2. Otwórz okno poleceń

  3. Przejdź do katalogu głównego APKtool i wpisz następujące polecenie: apktool if framework-res.apk.

Powyższe polecenie powinno skutkować Framework installed ....

  1. apktool d "appName".apk ("appName" oznacza aplikację, którą chcesz dekodować) teraz masz folder plików w tym folderze, a teraz możesz łatwo odczytać pliki xml również.

Step 4: Wreszcie mamy res/ również jako kod java projektu, który jest naszym celem na początku.

P.S. Jeśli nie możesz uzyskać folderu res w powyższych krokach, zainstaluj nowy apktool

  • czy Java 1.7 jest zainstalowana? Zainstaluj Apktool 2.x
  • czy Java 1.6 lub wyższa jest zainstalowana? Zainstaluj Apktool 1.x

Enjoy and happy coding

 69
Author: Swapnil Sonar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-06 06:43:28

No software & No too much steps..

Po prostu prześlij swój APK & uzyskać wszystkie zasoby z tej strony..

Https://www.apkdecompilers.com/

Ta strona będzie dekompilować kod osadzony w plikach APK i wyodrębnić wszystkie inne zasoby w pliku.

Uwaga: dekompiluję mój plik APK i otrzymuję kod w ciągu jednej miniuty z tej strony

Aktualizacja 1:

I found another online decompiler site,

Http://www.javadecompilers.com/apk/ - nie działa bez przerwy z pytaniem o blokowanie popup

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 w stanie przeglądać pliki java & xml w tej aplikacji

Aktualizacja 3:

Możemy użyć innej opcji Analizuj funkcję APK z wersji Android studio 2.2

Build - > Analyze APK - > Select your APK - > it give results

Tutaj wpisz opis obrazka

 45
Author: Ranjith Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-11 06:10:27

Niezupełnie. Istnieje wiele pakietów Dex disassembler/decompiler , takich jak smali lub dex2jar, które generują półprzezroczyste wyjście (w przypadku dex2jar, możesz uzyskać kod Javy za pomocą czegoś takiego jak JD-GUI, ale proces nie jest doskonały i jest bardzo mało prawdopodobne, że będziesz w stanie w 100% odtworzyć swój kod źródłowy. Może to jednak potencjalnie dać ci miejsce do rozpoczęcia przebudowy drzewa źródeł.

 4
Author: Chris Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-04 17:54:38

Jest na to nowy sposób.

Android Studio 2.2 ma analizator APK, który da wiele informacji o apk, sprawdź go tutaj: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html

Ap

 4
Author: Brijesh Masrani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-14 06:38:38

Tak, możesz odzyskać swój projekt. Po prostu zmień nazwę pliku yourproject.apk na yourproject.zip, a otrzymasz wszystkie pliki w tym pliku ZIP. Zmieniamy rozszerzenie pliku z .apk do .zip. Z tego pliku ZIP rozpakuj plik classes.dex i dekompiluj go w następujący sposób.

Najpierw potrzebujesz narzędzia do rozpakowania wszystkich (skompilowanych) klas w DEX - ie do JAR-a. Jest jeden o nazwie dex2jar , który jest wykonany przez chińskiego studenta.

Następnie możesz użyć JD-GUI do dekompilacji klasy w JAR do kodu źródłowego. Uzyskany kod źródłowy powinien być dość czytelny, ponieważ dex2jar stosuje pewne optymalizacje.

 3
Author: Star,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-18 20:43:21

Wykonaj poniższe kroki, aby to zrobić lub po prostu użyj apktojava gem w tym procesie, nawet dba o instalację wymaganych narzędzi do pracy.

  • Konwertuj plik apk na zip
  • rozpakuj plik
  • wyodrębnij klasy.dex from it
  • użyj dex do jar do konwersji klas.dex do pliku jar
  • użyj jadx gui, aby otworzyć plik JAR jako kod źródłowy Javy
 2
Author: Ajit Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-31 06:24:38

Dla Platformy Android, można spróbować ShowJava, dostępne w Sklepie Play.

Wygenerowany kod można sprawdzić za pomocą interfejsu aplikacji, a wygenerowane pliki i struktura folderów java są przechowywane w folderze ShowJava w folderze /sdcard, obok pliku wynikowego .jar z konwersji.

Aplikacja jest darmowa z banerem reklamowym u dołu głównego widoku, ale istnieje opcja zakupu w aplikacji (3,99$), aby go usunąć. Zakup w aplikacji nie dodaje żadnych funkcji obok usunięcia banera reklamowego.

Ujawnienie: nie jestem twórcą aplikacji ani nie jestem związany z nim w żaden sposób.

 1
Author: Stephane Piriou,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-24 11:12:42

Jeśli szukasz profesjonalnej alternatywy, zajrzyj do Jeb Decompiler z PNF Software.

Istnieje wersja demo, która pozwoli Ci dekompilować większość kodu.

 0
Author: Nick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-06 16:25:35

Poniżej znajdują się niektóre z narzędzi, których możesz użyć do wykonania inżynierii odwrotnej z pliku APK do kodu źródłowego:

  1. Dex2jar
  2. Java decompiler
  3. Apktool
  4. Analizator Apk
 0
Author: Mandeep Yadav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-20 09:28:12