Décompilateurs APK
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.
Pour plus de détails sur chaque outil, consultez le post original de https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
JD-Gui
En tant que décompilateur Java GUI pionnier, JD-Gui vous permet d'examiner le code Java dans les fichiers APK. Il est simple à utiliser ; après avoir obtenu l'APK, ouvrez-le simplement avec JD-Gui pour inspecter le code.
Jadx
Jadx offre une interface conviviale pour décompiler le code Java des applications Android. Il est recommandé pour sa facilité d'utilisation sur différentes plateformes.
- Pour lancer l'interface graphique, accédez au répertoire bin et exécutez :
jadx-gui
- Pour une utilisation en ligne de commande, décompilez un APK avec :
jadx app.apk
- Pour spécifier un répertoire de sortie ou ajuster les options de décompilation :
jadx app.apk -d <path to output dir> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDA, un outil uniquement pour Windows, offre des fonctionnalités étendues pour l'ingénierie inverse des applications Android. Installez et exécutez GDA sur votre système Windows, puis chargez le fichier APK pour analyse.
Bytecode-Viewer
Avec Bytecode-Viewer, vous pouvez analyser des fichiers APK en utilisant plusieurs décompilateurs. Après le téléchargement, exécutez Bytecode-Viewer, chargez votre APK et sélectionnez les décompilateurs que vous souhaitez utiliser pour une analyse simultanée.
Enjarify
Enjarify traduit le bytecode Dalvik en bytecode Java, permettant aux outils d'analyse Java d'analyser plus efficacement les applications Android.
- Pour utiliser Enjarify, exécutez :
enjarify app.apk
Cela génère l'équivalent en bytecode Java de l'APK fourni.
CFR
CFR est capable de décompiler les fonctionnalités Java modernes. Utilisez-le comme suit :
- Pour une décompilation standard :
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
- Pour de grands fichiers JAR, ajustez l'allocation de mémoire JVM :
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower
Fernflower, un décompilateur analytique, nécessite d'être construit à partir de la source. Après la construction :
- Décompilez un fichier JAR :
java -jar ./fernflower.jar "app.jar" "output_directory"
Ensuite, extrayez les fichiers.java
du JAR généré en utilisantunzip
.
Krakatau
Krakatau offre un contrôle détaillé sur la décompilation, en particulier pour le traitement des bibliothèques externes.
- Utilisez Krakatau en spécifiant le chemin de la bibliothèque standard et le fichier JAR à décompiler :
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
Pour une décompilation simple avec procyon :
- Décompilez un fichier JAR dans un répertoire spécifié :
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
Cet outil peut être utilisé pour extraire le DEX d'un APK en cours d'exécution en mémoire. Cela aide à contourner l'obfuscation statique qui est supprimée pendant que l'application est exécutée en mémoire.
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.