C'è un modo per estrarre e visualizzare il contenuto di un file .apk?
C'è un modo per estrarre e visualizzare il contenuto di un file .apk?
Risposte:
In realtà il file apk è solo un archivio zip, quindi puoi provare a rinominare il file in theappname.apk.zip
ed estrarlo con qualsiasi utility zip (es. 7zip).
Il androidmanifest.xml
file e le risorse verranno estratti e potranno essere visualizzati mentre il codice sorgente non è nel pacchetto - solo il file .dex compilato ("Dalvik Executable")
Mentre la decompressione rivelerà le risorse, AndroidManifest.xml
verranno codificate.apktool
può - tra molte altre cose - anche decodificare questo file.
Per decodificare l'applicazione App.apk
nella cartella App
, esegui
apktool decode App.apk App
apktool
non è incluso nell'SDK Android ufficiale, ma è disponibile utilizzando la maggior parte dei repository di pacchetti.
Ci sono anche zzos . (Full disclosure: l'ho scritto). Decompila solo le risorse effettive, non la parte dex ( baksmali , che non ho scritto, fa un ottimo lavoro nel gestire quella parte).
Zzos è molto meno conosciuto di apktool, ma ci sono alcuni APK che sono gestiti meglio da esso (e viceversa - ne parleremo più avanti). Per lo più, gli APK contenenti tipi di risorse personalizzate (non modificatori) non sono stati gestiti da apktool l'ultima volta che ho controllato e sono gestiti da zzos. Ci sono anche alcuni casi di escape che zzos gestisce meglio.
Sul lato negativo delle cose, zzos (versione corrente) richiede l'installazione di alcuni strumenti di supporto. È scritto in perl (al contrario di APKTool, che è scritto in Java), e utilizza aapt per la decompilazione effettiva. Inoltre, non decompila ancora le risorse degli attributi (cosa che fa APKTool).
Il significato del nome è "aapt", il compilatore di risorse di Android, spostato verso il basso di una lettera.
4 modi suggeriti per aprire i file apk:
1.aprire il file apk di Android Studio (per foto, codice java e analisi delle dimensioni) nel modo migliore
2.open da applicazioni winRar, 7zip, ecc (solo per vedere foto e ...)
3.usare javadecompilers del sito Web (per foto e codice java)
4.Usa gli strumenti APK (per foto e codice java)
unzip my.apk
Questo fa il trucco dalla riga di comando di Linux poiché il formato APK è solo un file ZIP in alto.
C'è un decompilatore online per gli apk Android
http://www.decompileandroid.com/
Carica apk dalla macchina locale
Aspetta qualche istante
scarica il codice sorgente in formato zip.
Decomprimilo, puoi visualizzare tutte le risorse correttamente ma tutti i file java non vengono decompilati correttamente.
Per tutti i dettagli, visita questa risposta
A seconda del motivo per cui desideri estrarre l'APK, APK Analyzer potrebbe essere sufficiente. Ti mostra le directory e le dimensioni dei file. Mostra anche i conteggi dei metodi raggruppati per pacchetto in cui è possibile eseguire il drill-down.
APK Analyzer è integrato in Android Studio. Puoi accedervi dal menu in alto, Crea -> Analizza APK.
Puoi anche usare Jadx - https://github.com/skylot/jadx . Ho utilizzato tutti gli strumenti menzionati in questa pagina e ho scoperto che Jadx funziona al meglio. Il file manifest e altri file di classe vengono convertiti il più possibile in un formato leggibile da questo strumento.
PS - http://www.javadecompilers.com/apk utilizza anche il decompilatore jadx per fare lo stesso lavoro online. Più semplice se vuoi rimuovere dall'archivio un singolo apk.
Saluti!
Puoi anche vedere il contenuto di un file APK all'interno del dispositivo Android stesso, il che aiuta molto nel debug.
Tutti i file, incluso il manifest di un'app, possono essere visualizzati e condivisi anche tramite e-mail, cloud, ecc., Non è richiesto il rooting. L'app è disponibile da:
https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek
Disclaimer: sono l'autore di questa app.
Lo scanner APK può mostrare le informazioni del file APK su PC.
inoltre, può essere estratto un file apk dal dispositivo Android.
E può essere collegato ad altri strumenti (JADX-GUI, JD-GUI ...)