Ghidra: navegación y anotación de binarios
Importe un binario, navegue por el código desensamblado y descompilado, cambie el nombre de variables y añada comentarios.
Ghidra: navegación y anotación de binarios es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué es Ghidra?
Ghidra es una herramienta gratuita y de código abierto de ingeniería inversa desarrollada por la NSA y publicada en 2019. Admite desensamblado, descompilación, scripting y análisis colaborativo en Linux, macOS y Windows.
Cargar un binario
Para abrir un binario en Ghidra:
- Crear un proyecto nuevo
- Importar el archivo (Archivo → Importar archivo)
- Se ejecuta el autoanálisis; deje que termine (reconoce funciones, cadenas y tipos de datos)
- Se abre CodeBrowser, que muestra las vistas de desensamblado y del decompilador
La interfaz de Ghidra
Ventanas principales de Ghidra:
- Árboles de programas — secciones (.text, .data, .plt)
- Árbol de símbolos — funciones, etiquetas, importaciones y exportaciones
- Listado — vista de desensamblado
- Decompilador — reconstrucción en pseudo-C
- Funciones — lista de todas las funciones identificadas
Navegar al punto de entrada
Inicie el análisis en el punto de entrada del programa o en main():
- Presione
Gpara usar Ir a y acceder a una dirección o un símbolo - Busque «main» en el árbol de símbolos
- Haga doble clic en cualquier función para navegar hasta ella
Leer la salida del decompilador
El decompilador de Ghidra produce pseudo-C, que es más fácil de leer que el ensamblador. No será perfecto: los nombres de las variables son genéricos (param_1, local_10) y el flujo de control puede parecer extraño, pero revela la lógica con suficiente claridad para comprender qué hace el código.
Renombrar variables y funciones
Las anotaciones mejoran la legibilidad:
- Haga clic con el botón derecho en una variable → Renombrar (o presione
L) - Haga clic con el botón derecho en una función → Renombrar función
- Añada comentarios con
;(al final de línea) o con el estilo/*...*/
Renombrar elementos ayuda a construir el contexto a medida que comprende mejor el binario.
Identificar cadenas
Las cadenas son invaluables para comprender el propósito del programa:
- Ventana → Cadenas definidas muestra todas las constantes de cadena
- Haga clic en una cadena para saltar a su uso en el código
- Los mensajes de error, las rutas de archivos, las URL y las claves del registro revelan la funcionalidad
Referencias cruzadas (XREFs)
Las XREFs muestran dónde se llama a una función o dónde se utiliza una variable. Presione X sobre cualquier símbolo para ver todas sus referencias. Esto es fundamental para encontrar dónde entra la entrada del usuario en una función o dónde se realizan comprobaciones de seguridad.
Crear scripts con Ghidra
Ghidra dispone de una API de scripting para Python y Java:
# Python script to find all calls to strcpy:
from ghidra.program.model.symbol import RefType
for ref in currentProgram.getReferenceManager().getReferencesTo(toAddr(0x401234)):
print(ref.getFromAddress())Analizar malware con Ghidra
Para analizar malware:
- Identifique técnicas antianálisis (antidepuración y ofuscación del código)
- Busque funciones de comunicación de red (socket, connect, WinInet)
- Localice funciones criptográficas (busque las constantes de la S-box de AES: 0x63, 0x7c...)
- Extraiga las URL de C2 de las cadenas descifradas
Ghidra frente a IDA Pro
Ghidra frente a IDA Pro:
- Ghidra: gratuito, de código abierto, admite scripts y tiene un buen decompilador
- IDA Pro: estándar del sector, análisis más rápido, mejor ecosistema de plugins y caro ($$$)
- Para la mayoría de las tareas, Ghidra es totalmente capaz; IDA se utiliza en laboratorios profesionales de análisis de malware
Comprobación rápida: Ghidra
¿Qué función de Ghidra muestra todas las ubicaciones del binario que llaman a una función específica o hacen referencia a una variable específica?
Resumen de la lección
Ghidra es una herramienta gratuita de ingeniería inversa desarrollada por la NSA, con capacidades de desensamblado, decompilación y scripting. Flujos de trabajo clave: cargar el binario, ejecutar el autoanálisis, navegar hasta main(), usar el decompilador para comprender la lógica, renombrar variables, usar XREFs para rastrear el flujo de datos y buscar cadenas para obtener contexto. Las anotaciones ayudan a construir la comprensión de forma iterativa. El scripting automatiza las tareas de análisis repetitivas.
Preguntas frecuentes
¿La lección «Ghidra: navegación y anotación de binarios» es gratis?
Sí — el texto completo de «Ghidra: navegación y anotación de binarios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Ghidra: navegación y anotación de binarios»?
Importe un binario, navegue por el código desensamblado y descompilado, cambie el nombre de variables y añada comentarios. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cyber Security Academy?
No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Ghidra: navegación y anotación de binarios»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?
Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Ghidra: navegación y anotación de binarios
- Fundamentos de ensamblador x86/x64 para reversing
- Análisis dinámico con GDB y pwndbg
- Desofuscación y técnicas anti análisis