JD-GUI en Español: Instalación y Uso

 

 https://www.onlinetis.com

JD-GUI en Español: Instalación y Uso

Instalar y usar JD-GUI en Kali Linux es bastante sencillo, aunque por defecto la interfaz suele venir en inglés. Aquí te explico cómo tenerlo listo y las opciones para el idioma.


1. Instalación de JD-GUI en Kali

Primero, asegúrate de tener el entorno de Java instalado, ya que JD-GUI lo necesita para correr.

  1. Actualiza tus repositorios:

    Bash
    sudo apt update
    
  2. Instala JD-GUI:

    Bash
    sudo apt install jd-gui
    

2. ¿Se puede poner en Español?

Aquí hay un punto importante: JD-GUI no tiene una opción nativa en el menú para cambiar el idioma a español. La mayoría de las herramientas de análisis de seguridad y descompiladores se mantienen en inglés por estándar técnico.

Sin embargo, su interfaz es muy visual e intuitiva. Aquí tienes una pequeña "traducción" de las funciones principales para que te muevas como un experto:

InglésEspañolFunción
File > Open FileArchivo > AbrirCarga tu archivo .jar, .class o .apk.
Save All SourcesGuardar fuentesExporta todo el código descompilado a un archivo .zip.
SearchBuscarPermite buscar clases, métodos o cadenas de texto (Ctrl+F).
NavigationNavegaciónPara moverte entre el historial de archivos abiertos.

3. Cómo usarlo (Flujo de trabajo)

Una vez abierto, el proceso para analizar un archivo es el siguiente:

  1. Cargar: Arrastra el archivo .jar directamente a la ventana de JD-GUI.

  2. Explorar: En la columna de la izquierda verás la estructura de paquetes (carpetas).

  3. Analizar: Haz clic en cualquier clase (.class) y verás el código Java casi como si fuera el original.


Tip de experto:

Si lo que buscas es descompilar aplicaciones de Android (.apk), recuerda que primero debes pasar el APK por una herramienta como dex2jar para obtener el archivo que JD-GUI pueda leer.

Nota: Si realmente necesitas una herramienta de ingeniería inversa que tenga mejor soporte de comunidad o plugins, te recomiendo echarle un vistazo a JADX, que también está disponible en Kali y suele ser un poco más moderno.

 

El proceso para pasar de un archivo .apk a algo que puedas leer en JD-GUI es muy común en la ingeniería inversa.

Como el archivo APK contiene archivos .dex (Dalvik Executable) y JD-GUI solo lee archivos .jar (Java Archive), usaremos una herramienta llamada dex2jar.

Aquí tienes los pasos detallados:


Paso 1: Instalar dex2jar

En Kali Linux, puedes instalarlo directamente desde los repositorios:

Bash
sudo apt update
sudo apt install dex2jar

Paso 2: Convertir el APK a JAR

Una vez instalado, abre tu terminal en la carpeta donde tengas el APK y ejecuta el siguiente comando:

Bash
d2j-dex2jar nombre_de_tu_app.apk
  • Resultado: Se generará un nuevo archivo llamado nombre_de_tu_app-dex2jar.jar en la misma carpeta.

Paso 3: Abrir el resultado en JD-GUI

Ahora solo tienes que abrir el nuevo archivo .jar con el descompilador:

Bash
jd-gui nombre_de_tu_app-dex2jar.jar

¿Qué pasa si el APK tiene varios archivos DEX?

Las aplicaciones modernas de Android suelen ser grandes y usan "Multi-Dex". Si al convertirlo notas que falta código:

  1. Cambia la extensión del archivo de .apk a .zip.

  2. Descomprímelo y verás varios archivos: classes.dex, classes2.dex, etc.

  3. Tendrás que pasar cada uno por el comando: d2j-dex2jar classes.dex.

  4. Luego abres todos los .jar resultantes en JD-GUI al mismo tiempo.

Una alternativa más moderna: JADX

Si esto te parece mucho lío, Kali incluye JADX, que hace todo esto en un solo paso (abre el APK directamente y lo muestra como código Java). Puedes probarlo escribiendo jadx-gui en tu terminal.

 

Buscar información sensible (como contraseñas, claves de API, tokens o URLs de servidores) es el "pan de cada día" en la auditoría de aplicaciones.

Aquí tienes los trucos para hacerlo de forma eficiente dentro de JD-GUI:


1. Búsqueda Global (La más potente)

No busques archivo por archivo. Usa la búsqueda indexada:

  • Atajo: Presiona Ctrl + Shift + S.

  • Configuración: Aparecerá una ventana. Asegúrate de que esté seleccionada la pestaña "String Constant".

  • Qué buscar: Escribe palabras clave como:

    • http:// o https:// (para encontrar endpoints).

    • api_key, secret, password, o token.

    • jdbc: (si buscas cadenas de conexión a bases de datos).

2. Búsqueda en el archivo actual

Si ya estás viendo una clase que te parece sospechosa (por ejemplo, una llamada Config.class o Auth.class):

  • Atajo: Ctrl + F.

  • Esto abrirá una pequeña barra de búsqueda en la parte inferior para resaltar términos específicos en ese código.

3. El truco de "Save All Sources"

A veces, JD-GUI se queda corto si quieres usar herramientas de Linux más potentes. Haz esto:

  1. Ve a File > Save All Sources.

  2. Guarda el archivo .zip y descomprímelo.

  3. Usa la terminal de Kali para buscar con grep. Es mucho más rápido si sabes qué buscas:

    Bash
    grep -r "auth_token" ./codigo_descomprimido/
    

¿Qué buscar exactamente?

Si estás auditando una app, presta atención a estos patrones:

  • Firebase: Busca URLs que terminen en .firebaseio.com.

  • Sentry/Crashlytics: A veces dejan tokens de log expuestos.

  • AWS: Busca patrones como AKIA... (identificadores de acceso de Amazon).

Ojo con la Ofuscación: Si al abrir el código ves que las clases y variables se llaman a, b, c, la app está ofuscada (usaron ProGuard o R8). Es mucho más difícil de leer, pero las "Strings" (cadenas de texto como las URLs) suelen seguir siendo visibles.

 

Usar la terminal de Kali con grep es como tener rayos X para el código descompilado. Es mucho más rápido que buscar manualmente en JD-GUI cuando el proyecto tiene cientos de archivos.

Una vez que hayas guardado las fuentes (File > Save All Sources) y las hayas descomprimido en una carpeta, abre tu terminal ahí y prueba estos comandos:


1. Buscar todas las URLs (HTTP/HTTPS)

Este comando filtrará cualquier cadena que parezca una dirección web:

Bash
grep -rE "https?://[a-zA-Z0-9./?=_-]+" .
  • -r: Busca de forma recursiva en todas las carpetas.

  • -E: Activa las expresiones regulares extendidas.

  • https?: Busca "http" o "https".

2. Buscar llaves de AWS (Patrón común)

Las credenciales de Amazon Web Services suelen empezar por AKIA. Puedes cazarlas así:

Bash
grep -r "AKIA[0-9A-Z]\{16\}" .

3. Buscar posibles correos electrónicos

Ideal para encontrar contactos de desarrolladores o servidores de correo internos:

Bash
grep -rE "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}" .

4. Búsqueda de "Secretos" (Palabras clave)

Si quieres buscar varias cosas a la vez (como "password", "token" o "key"), usa este "supercomando":

Bash
grep -riE "password|token|secret|apiKey|authorization|config" .
  • -i: Ignora mayúsculas y minúsculas (busca tanto "Password" como "password").


Resumen visual del proceso

Un consejo de "Hacker":

Si los resultados son demasiados y te llenan la pantalla de basura, puedes limpiar la salida para que solo te diga en qué archivos encontró algo:

Bash
grep -rl "api_key" .

(La opción -l solo muestra el nombre del archivo, no el contenido).

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux