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

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 usando unzip.

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