Détails
décompilation de DEX en code source Java
Comment décompiler les fichiers Android DEX (VM bytecode) en code source Java correspondant ?
695
3
C'est facile
Obtenez ces outils :
[dex2jar][1] pour convertir les fichiers dex en fichiers jar.
[jd-gui][2] pour visualiser les fichiers java dans le jar.
Le code source est assez lisible car dex2jar fait quelques optimisations.
Procédure :
Voici la procédure à suivre pour décompiler :
Step 1 :
Convertir classes.dex dans test_apk-debug.apk en test_apk-debug_dex2jar.jar
[documentation dex2jar] [3]
Étape 2 :
Ouvrir le jar dans JD-GUI
!La source décompilée][4]
[1] : http://code.google.com/p/dex2jar/ [2] : http://jd.benow.ca/ [3] : http://code.google.com/p/dex2jar/wiki/ModifyApkWithDexTool [4] : http://i.stack.imgur.com/PWJIX.png
En fait, je vous recommande d'aller ici : [https://github.com/JesusFreke/smali] [1]
Il fournit BAKSMALI, qui est un excellent outil de rétro-ingénierie pour les fichiers DEX. Il est fait par JesusFreke, le gars qui a créé les fameuses ROMs pour Android.
[1] : https://github.com/JesusFreke/smali
Avec [Dedexer][1], vous pouvez désassembler le fichier
.dex
en bytecode dalvik (.ddx
).La décompilation vers Java n'est pas possible pour autant que je sache.
Vous pouvez lire sur le bytecode dalvik [ici][2].
[1] : http://dedexer.sourceforge.net/ [2] : http://www.dalvikvm.com/