Android

Android Pentesting

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.

android-static-analysis-apk

https://github.com/MobSF/Mobile-Security-Framework-MobSF

https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/