APK Reverse Engineering
Esistono diversi tools per il reverse engineering di applicazioni Android, vediamone alcuni:
- apktool
- JD-GUI
- dex2jar
- jadx-gui
Altri 2 tool degni di nota sono Smali/Backsmali (usati da apktool) e ByteCodeViewer.
E’ possibile utilizzare apktool per estrarre e decodificare i file dal pacchetto .apk
apktool d -o output file.apk
Il tool salverà tutto il contenuto del file .apk all’interno della cartella passata al flag -d.
A questo punto attraverso dex2jar è necessario convertire i file .dex (possono essere più di uno) in file .jar:
d2j-dex2jar.sh classes.dex classes1.dex classes2.dex
Una volta fatto ciò è possibile aprire i file .jar con JD-GUI.
In alternativa è possibile aprire il file .apk direttamente con jadx-gui, che in maniera automatica mostrerà i dati del pacchetto e convertirà i file .dex in codice Java.
Mobile Security Framework (MobSF)
Un tool molto utile, automatizzato, che non si occupa solo di estrarre le app ma anche di analizzarle è MobSF. Il mio consiglio è quello di usarlo, soprattutto all’inizio, perché agevola molto le operazioni di analisi del codice sorgente.
https://github.com/MobSF/Mobile-Security-Framework-MobSF
https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/