Ingeniería Inversa de Android con Dex2jar
Ingeniería Inversa de Android con Dex2jar
Dex2jar es una herramienta esencial en Kali Linux para la ingeniería inversa de aplicaciones Android. Su función principal es convertir archivos .dex (Dalvik Executable) en archivos .class de Java, agrupados en un archivo JAR.
Esto permite que después puedas leer el código fuente usando un descompilador como JD-GUI.
1. Instalación en Kali Linux
Kali suele tener dex2jar en sus repositorios oficiales. Para instalarlo, abre la terminal y ejecuta:
sudo apt update
sudo apt install dex2jar
2. Cómo usarlo (Paso a paso)
El proceso para ver el código de una aplicación (.apk) es el siguiente:
Paso A: Obtener el archivo classes.dex
Un archivo APK es básicamente un archivo comprimido. Puedes extraer su contenido haciendo clic derecho y "Extraer aquí" o por terminal:
unzip aplicacion.apk -d carpeta_destino
Dentro de esa carpeta verás uno o varios archivos llamados classes.dex.
Paso B: Convertir DEX a JAR
Usa el comando d2j-dex2jar apuntando al archivo que extrajiste:
d2j-dex2jar classes.dex
Resultado: Se generará un archivo llamado classes-dex2jar.jar.
3. Visualizar el código
Una vez que tienes el archivo .jar, necesitas una herramienta para leerlo, ya que sigue siendo código compilado. La más común es JD-GUI:
Instálalo:
sudo apt install jd-guiÁbrelo:
jd-gui classes-dex2jar.jar
Ahora podrás navegar por las carpetas y ver el código Java original (o una aproximación muy cercana) de la aplicación.
Resumen de comandos útiles
| Tarea | Comando |
| Instalar | sudo apt install dex2jar |
| Convertir | d2j-dex2jar archivo.dex |
| Dar permisos (si falla) | chmod +x /usr/bin/d2j-dex2jar |
Nota importante: Algunas aplicaciones modernas usan "ofuscación" (como ProGuard o R8), lo que hace que las variables y métodos tengan nombres como
a,boc, dificultando la lectura del código.