DEX — Dalvik Executable (bytecode Android)

Android Format

Présentation

Le format DEX contient le bytecode des applications Android, exécuté par la VM ART/Dalvik. Un APK embarque un ou plusieurs classes.dex (multidex). Son désassemblage produit du smali.

Outils

# DEX -> smali
baksmali d classes.dex -o smali/
smali a smali/ -o classes.dex     # réassembler

# DEX -> JAR -> Java
d2j-dex2jar classes.dex
# puis jd-gui / jadx sur le .jar

# Infos
dexdump -d classes.dex

En pratique

Le smali permet le patching fin (bypass root/SSL pinning), dex2jar+JADX donnent une vue Java rapide. Attention aux protections : chiffrement de DEX chargé dynamiquement (packers).