Wcześniej sprawdziłeś, czy pakiet jest open source?
ott--
.Apk to po prostu plik .zip. Niestety, każda kompilacja aplikacji do „wydania” prawdopodobnie będzie chroniona przez ProGuard .
Daniel López
@MatthewRead The Op pyta, czy mógłby pobrać kod z interfejsu API, a ja odpowiedziałem, jak nazywa się to zjawisko i sposoby, aby przynajmniej zapobiec tworzeniu podobnej aplikacji. Nie mówi, jak zapobiec otrzymaniu kodu. Tak, to odpowiada na pytanie.
Jeśli masz szczęście, a Twój .apkplik nie był chroniony przez Proguard lub analogowy, możesz użyć narzędzia APK . Jest to narzędzie do inżynierii wstecznej zewnętrznych, zamkniętych, binarnych aplikacji na Androida.
Procedura dekodowania plików .apk, metoda krok po kroku:
Krok 1:
Utwórz nowy folder i skopiuj plik .apk, który chcesz zdekodować.
Teraz zmień nazwę rozszerzenia tego pliku .apk na .zip (np. Zmień nazwę z filename.apk na filename.zip) i zapisz go. Teraz możesz uzyskać dostęp do plików klas.dex itp. Na tym etapie możesz wyświetlić pliki rysunkowe, ale nie pliki XML i Java, więc kontynuuj.
Krok 2:
Teraz rozpakuj ten plik .zip w tym samym folderze (lub NOWYM FOLDERU).
Pobierz dex2jar i wypakuj go do tego samego folderu (lub NOWEGO FOLDERU).
Przenieś plik klas.dex do folderu dex2jar.
Teraz otwórz wiersz polecenia i zmień katalog na ten folder (lub NOWY FOLDER). Następnie napisz d2j-dex2jar classes.dexi naciśnij enter. Teraz masz plik klas.dex.dex2jar w tym samym folderze.
Pobierz dekompilator Java , kliknij dwukrotnie plik jd-gui, kliknij plik otwarty i otwórz plik class.dex.dex2jar z tego folderu: teraz masz pliki klas.
Zapisz wszystkie pliki klas (w jd-gui kliknij Plik -> Zapisz wszystkie źródła) według nazwy src. Na tym etapie otrzymujesz źródło Java, ale pliki .xml są nadal nieczytelne, więc kontynuuj.
Odpowiedzi:
Nawet jeśli użyto ProGuard, nadal możesz uzyskać ciekawe informacje. Oto pytanie StackOverflow ze szczegółowym wyjaśnieniem: Android: Pobieranie kodu źródłowego z pliku APK . Film na YouTube ze szczegółowym przewodnikiem . I wpis na blogu na ten temat: Jak pobrać kod źródłowy z pliku APK Androida .
źródło
Jeśli masz szczęście, a Twój
.apk
plik nie był chroniony przez Proguard lub analogowy, możesz użyć narzędzia APK . Jest to narzędzie do inżynierii wstecznej zewnętrznych, zamkniętych, binarnych aplikacji na Androida.źródło
Z jednego z wiki społeczności autorstwa Parnkul Garg w SO :
Procedura dekodowania plików .apk, metoda krok po kroku:
Krok 1:
Utwórz nowy folder i skopiuj plik .apk, który chcesz zdekodować.
Teraz zmień nazwę rozszerzenia tego pliku .apk na .zip (np. Zmień nazwę z filename.apk na filename.zip) i zapisz go. Teraz możesz uzyskać dostęp do plików klas.dex itp. Na tym etapie możesz wyświetlić pliki rysunkowe, ale nie pliki XML i Java, więc kontynuuj.
Krok 2:
Teraz rozpakuj ten plik .zip w tym samym folderze (lub NOWYM FOLDERU).
Pobierz dex2jar i wypakuj go do tego samego folderu (lub NOWEGO FOLDERU).
Przenieś plik klas.dex do folderu dex2jar.
Teraz otwórz wiersz polecenia i zmień katalog na ten folder (lub NOWY FOLDER). Następnie napisz
d2j-dex2jar classes.dex
i naciśnij enter. Teraz masz plik klas.dex.dex2jar w tym samym folderze.Pobierz dekompilator Java , kliknij dwukrotnie plik jd-gui, kliknij plik otwarty i otwórz plik class.dex.dex2jar z tego folderu: teraz masz pliki klas.
Zapisz wszystkie pliki klas (w jd-gui kliknij Plik -> Zapisz wszystkie źródła) według nazwy src. Na tym etapie otrzymujesz źródło Java, ale pliki .xml są nadal nieczytelne, więc kontynuuj.
Krok 3:
Teraz otwórz kolejny nowy folder
Umieść plik .apk, który chcesz zdekodować
Pobierz najnowszą wersję apktool ORAZ okno instalacji apktool (oba można pobrać z tego samego linku) i umieść je w tym samym folderze
Pobierz framework-res.apk i umieść go w tym samym folderze (nie wszystkie pliki apk potrzebują tego pliku, ale nie boli)
Otwórz okno poleceń
Przejdź do katalogu głównego APKtool i wpisz następujące polecenie:
apktool if framework-res.apk
apktool d myApp.apk
(gdzie myApp.apk oznacza nazwę pliku, który chcesz zdekodować)teraz masz folder plików w tym folderze i możesz łatwo odczytać pliki XML apk.
Krok 4:
To nie jest żaden krok, wystarczy skopiować zawartość obu folderów (w tym przypadku obu nowych folderów) do jednego
i ciesz się kodem źródłowym ...
źródło