APK decompilers
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Para m谩s detalles sobre cada herramienta, consulta la publicaci贸n original en https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
JD-Gui
Como el decompilador GUI de Java pionero, JD-Gui te permite investigar el c贸digo Java dentro de archivos APK. Es f谩cil de usar; despu茅s de obtener el APK, simplemente 谩brelo con JD-Gui para inspeccionar el c贸digo.
Jadx
Jadx ofrece una interfaz f谩cil de usar para decompilar c贸digo Java de aplicaciones Android. Se recomienda por su facilidad de uso en diferentes plataformas.
- Para iniciar la GUI, navega al directorio bin y ejecuta:
jadx-gui
- Para uso en l铆nea de comandos, decompila un APK con:
jadx app.apk
- Para especificar un directorio de salida o ajustar opciones de decompilaci贸n:
jadx app.apk -d <ruta al directorio de salida> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDA, una herramienta solo para Windows, ofrece amplias caracter铆sticas para la ingenier铆a inversa de aplicaciones Android. Instala y ejecuta GDA en tu sistema Windows, luego carga el archivo APK para su an谩lisis.
Bytecode-Viewer
Con Bytecode-Viewer, puedes analizar archivos APK utilizando m煤ltiples decompiladores. Despu茅s de descargar, ejecuta Bytecode-Viewer, carga tu APK y selecciona los decompiladores que deseas usar para un an谩lisis simult谩neo.
Enjarify
Enjarify traduce bytecode Dalvik a bytecode Java, permitiendo que las herramientas de an谩lisis de Java analicen aplicaciones Android de manera m谩s efectiva.
- Para usar Enjarify, ejecuta:
enjarify app.apk
Esto genera el bytecode Java equivalente del APK proporcionado.
CFR
CFR es capaz de decompilar caracter铆sticas modernas de Java. 脷salo de la siguiente manera:
- Para decompilaci贸n est谩ndar:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
- Para archivos JAR grandes, ajusta la asignaci贸n de memoria de la JVM:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower
Fernflower, un decompilador anal铆tico, requiere ser construido desde el c贸digo fuente. Despu茅s de construir:
- Decompila un archivo JAR:
java -jar ./fernflower.jar "app.jar" "output_directory"
Luego, extrae los archivos.java
del JAR generado usandounzip
.
Krakatau
Krakatau ofrece un control detallado sobre la decompilaci贸n, especialmente para manejar bibliotecas externas.
- Usa Krakatau especificando la ruta de la biblioteca est谩ndar y el archivo JAR a decompilar:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
Para una decompilaci贸n sencilla con procyon:
- Decompila un archivo JAR a un directorio especificado:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
Esta herramienta se puede usar para volcar el DEX de un APK en ejecuci贸n en memoria. Esto ayuda a superar la ofuscaci贸n est谩tica que se elimina mientras la aplicaci贸n se ejecuta en memoria.
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.