Avendo un file .apk, c'è un modo per ottenere il suo codice sorgente?
Avendo un file .apk, c'è un modo per ottenere il suo codice sorgente?
Risposte:
Anche se ProGuard è stato utilizzato, è ancora possibile ottenere alcune informazioni interessanti. Ecco una domanda StackOverflow con una spiegazione dettagliata: Android: ottenere il codice sorgente da un file APK . Video di YouTube con una guida dettagliata . E un post di blog su questo: come recuperare il codice sorgente da un file APK Android .
Se sei fortunato e il tuo .apk
file non è stato protetto da Proguard o analogico, puoi usare lo strumento APK . È uno strumento per il reverse engineering di app Android binarie chiuse di terze parti.
Da una delle wiki della comunità di Parnkul Garg in SO :
Procedura per la decodifica dei file .apk, metodo passo-passo:
Crea una nuova cartella e copia sul file .apk che vuoi decodificare.
Ora rinominare l'estensione di questo file .apk in .zip (ad esempio rinominare da nomefile.apk in nomefile.zip) e salvarlo. Ora puoi accedere ai file classes.dex, ecc. A questo punto puoi vedere i file disegnabili ma non i file xml e java, quindi continua.
Ora estrai questo file .zip nella stessa cartella (o NEW FOLDER).
Scarica dex2jar ed estrailo nella stessa cartella (o NUOVA CARTELLA).
Spostare il file classes.dex nella cartella dex2jar.
Ora apri il prompt dei comandi e cambia la directory in quella cartella (o NEW FOLDER). Quindi scrivere d2j-dex2jar classes.dex
e premere invio. Ora hai il file classes.dex.dex2jar nella stessa cartella.
Scarica il decompilatore java , fai doppio clic su jd-gui, fai clic sul file aperto e apri il file classes.dex.dex2jar da quella cartella: ora ottieni i file di classe.
Salvare tutti questi file di classe (in jd-gui, fare clic su File -> Salva tutte le fonti) per nome src. A questo punto ottieni la fonte java ma i file .xml sono ancora illeggibili, quindi continua.
Ora apri un'altra nuova cartella
Inserisci il file .apk che vuoi decodificare
Scarica l'ultima versione di apktool AND apktool install window (entrambi possono essere scaricati dallo stesso link) e posizionali nella stessa cartella
Scarica framework-res.apk e mettilo nella stessa cartella (Non tutti i file apk hanno bisogno di questo file, ma non fa male)
Apri una finestra di comando
Passare alla directory principale di APKtool e digitare il comando seguente:
apktool if framework-res.apk
apktool d myApp.apk
(dove myApp.apk indica il nome file che si desidera decodificare)
ora ottieni una cartella di file in quella cartella e puoi leggere facilmente i file xml dell'apk.
Non è un passaggio semplicemente copiare il contenuto di entrambe le cartelle (in questo caso entrambe le nuove cartelle) su quella singola
e goditi il codice sorgente ...