d2j-dex2jar es el comando principal de la herramienta dex2jar
d2j-dex2jar es el comando principal de la herramienta dex2jar
d2j-dex2jar es el comando principal de la herramienta dex2jar en Kali Linux. Se utiliza en ingeniería inversa de aplicaciones Android (APK) para convertir archivos .dex (el código ejecutable compilado de Android) o directamente archivos .apk en un archivo ejecutable Java .jar.
Una vez generado el archivo .jar, puedes abrirlo con visores como JD-GUI o Bytecode Viewer para analizar el código fuente Java casi de forma legible.
1. Instalación en Kali Linux
En versiones recientes de Kali viene disponible en sus repositorios oficiales. Si no lo tienes instalado, abre la terminal y ejecuta:
sudo apt update
sudo apt install dex2jar
2. Uso básico de d2j-dex2jar
Convertir una APK a un archivo JAR
Es la forma más común. Solo pasas la ruta de tu aplicación .apk:
d2j-dex2jar app.apk
Resultado: Creará un archivo llamado
app-dex2jar.jaren la misma carpeta.
Convertir un archivo .dex a JAR
Si descomprimiste la APK y tienes directamente el archivo classes.dex:
d2j-dex2jar classes.dex
Resultado: Se generará un archivo
classes-dex2jar.jar.
3. Opciones y Parámetros útiles
| Opción | Descripción |
-o / --output | Especifica la ruta o el nombre del archivo de salida .jar. |
-f / --force | Sobrescribe el archivo .jar si ya existe. |
-e / --exception | Guarda las excepciones durante el proceso en un archivo .zip. |
Ejemplo personalizando la salida y sobrescribiendo:
d2j-dex2jar -f -o resultado.jar mi_aplicacion.apk
4. Flujo de Trabajo Típico (Workflow)
💡 Solución a errores comunes
Permiso denegado (Permission Denied): Si lo descargaste manualmente y ejecutas el script binario directamante, dale permisos de ejecución:
Bashchmod +x d2j-dex2jar.shOutOfMemoryError (Archivos APK muy grandes): Si la aplicación es grande, puede quedarse sin memoria JVM. Edita el script de invocación (
d2j_invoke.sho el script correspondiente en/usr/bin/) y aumenta el límite de memoria asignado como-Xmx1024ma-Xmx2048mo superior.