- Ghidra es una potente suite de ingeniería inversa gratuita y de código abierto desarrollada por la NSA para analizar binarios en múltiples plataformas.
- La herramienta requiere un sistema de 64 bits, JDK 11 y puede compilarse con Gradle en Windows, Linux y macOS para obtener versiones siempre actualizadas.
- La correcta configuración de proyectos, la IU de CodeBrowser, atajos y tipos de datos externos es clave para aprovechar al máximo las capacidades de análisis.
- Scripts en Java y Python, bases de datos de tipos y firmas adicionales convierten a Ghidra en una opción muy sólida para análisis de malware y reversing avanzado.
Si te interesa la ingeniería inversa y el análisis de binarios, es casi imposible que no hayas oído hablar ya de Ghidra. Esta herramienta, liberada por la NSA tras más de una década de uso interno, se ha convertido en una alternativa muy seria a IDA Pro y a otros desensambladores comerciales, sobre todo porque es gratuita, de código abierto y tremendamente potente.
En las siguientes líneas vas a encontrar una guía muy completa para empezar con Ghidra desde cero: qué es, qué necesitas para usarla, cómo instalarla o compilarla en distintos sistemas operativos, cómo crear tu primer proyecto, cómo ajustar la interfaz para que resulte cómoda si vienes de IDA y cómo realizar tu primer análisis básico de un ejecutable. La idea es que termines el artículo con la sensación de que ya puedes abrir un binario en Ghidra y moverte con soltura por su entorno.
Qué es Ghidra y por qué ha marcado un antes y un después
Ghidra es una suite de ingeniería inversa desarrollada en Java por la National Security Agency (NSA). Durante más de diez años fue una herramienta interna utilizada para analizar malware, firmware, ejecutables de distintas plataformas y, en general, cualquier binario que necesitase ser desensamblado o decompilado para entender su comportamiento.
Al hacerse pública en 2019, Ghidra rompió el paradigma que existía hasta entonces: durante casi dos décadas, si querías dedicarte en serio al reversing profesional, la opción dominante era IDA Pro (a menudo con su decompilador de pago), un software caro y con un ecosistema muy consolidado. Había otras herramientas, pero pocas lograban hacerle sombra. La llegada de Ghidra, gratuita y open source, cambió por completo las expectativas de la comunidad.
Una de las cosas que más sorprende al principio es que Ghidra no se parece exactamente a las herramientas clásicas en las que muchos analistas se han formado. Esa interfaz basada en Java, con un enfoque modular y una organización de ventanas algo distinta, hizo que muchos la probasen al principio, se sintiesen algo perdidos y volviesen corriendo a su workflow tradicional con IDA u otros programas.
Sin embargo, a medida que ha madurado el proyecto, con nuevas versiones, correcciones y mejoras constantes, Ghidra se ha convertido en una opción totalmente válida como herramienta principal de ingeniería inversa. Con una buena configuración inicial de la interfaz, atajos personalizados y algunas bases de datos de tipos, muchos analistas han descubierto que pueden trabajar de forma cómoda y eficiente, sin echar de menos demasiado su viejo entorno.
Requisitos y características básicas de Ghidra
Antes de ponerte a destripar binarios como si no hubiera un mañana, conviene tener claro qué pide Ghidra para funcionar bien y qué ofrece de serie. A nivel técnico, se trata de una aplicación escrita en Java, lo que le da la ventaja de ser multiplataforma (Linux, macOS y Windows) y la desventaja de depender de una máquina virtual Java relativamente moderna.
Los requisitos mínimos recomendados por la propia herramienta son bastante asumibles: sistema operativo de 64 bits (cualquier versión actual de Linux, macOS o Windows), al menos 4 GB de memoria RAM y en torno a 1 GB de espacio en disco para la instalación básica y los proyectos iniciales. Obviamente, cuanto más grandes y complejos sean los binarios, más agradecerás disponer de más memoria RAM y CPU.
Es imprescindible disponer de un Java Development Kit (JDK) 11 o superior. Ghidra no se conforma solo con la máquina virtual para ejecutar, ya que muchos componentes y scripts se apoyan en ese entorno de desarrollo. Si usas paquetes precompilados descargados de GitHub, el propio paquete suele venir preparado para trabajar con un JDK adecuado, pero si compilas desde código fuente tendrás que tenerlo correctamente instalado.
Uno de los puntos fuertes de Ghidra es su gran capacidad de extensibilidad. Puedes desarrollar tus propios módulos, scripts y extensiones en Java o Python (a través de Jython) para automatizar análisis, generar informes, crear detectores de patrones o integrar otros flujos de trabajo. Además, Ghidra facilita la integración con entornos como Eclipse y ofrece mecanismos para interoperar con herramientas de referencia como IDA Pro.
Conviene aclarar que, aunque hoy en día el proyecto es open source y el código está disponible en GitHub, en los primeros meses tras su anuncio se produjo una pequeña transición: al principio la liberación fue algo más gradual y no todo el árbol de código estaba en abierto. A día de hoy, el repositorio oficial de Ghidra recoge el desarrollo activo, las incidencias y las contribuciones de la comunidad.
Advertencias de seguridad y confianza en la herramienta
Aunque Ghidra sea de uso masivo y esté liberada por una agencia gubernamental conocida, no hay que olvidar que se trata de una base de código grande y compleja, con multitud de dependencias de terceros. Algunas de esas bibliotecas han tenido vulnerabilidades en el pasado y es razonable suponer que puedan aparecer fallos de seguridad nuevos en el futuro.
No existe ninguna garantía absoluta de que el código actual de Ghidra esté totalmente libre de vulnerabilidades o de que alguien no pueda aprovechar un bug en una dependencia para ejecutar código malicioso. Lo sensato es tratar Ghidra como cualquier otra herramienta compleja: mantenla actualizada, descarga las versiones desde fuentes oficiales, ejecuta la aplicación en entornos controlados y no la mezcles con sistemas críticos si no es estrictamente necesario.
En entornos profesionales suele ser buena idea ejecutarla en una máquina virtual dedicada o en un entorno aislado, sobre todo si vas a analizar malware o binarios de origen dudoso. Ten en cuenta que, al cargar muestras maliciosas, cualquier fallo en el motor de análisis o en algún plugin podría teorizarse como vector de ataque, aunque sean escenarios relativamente poco frecuentes.
Cómo conseguir Ghidra: binarios precompilados vs compilación desde código
La forma más rápida de empezar con Ghidra es descargar la versión estable publicada en GitHub en forma de paquete ZIP. Estos binarios precompilados suelen ir con algunos meses de retraso respecto a la rama principal de desarrollo, pero a cambio ofrecen mayor estabilidad y una experiencia más controlada para la mayoría de usuarios.
Si buscas tener siempre las funciones más recientes y correcciones de última hora, una alternativa es clonar directamente el repositorio oficial y compilar Ghidra por tu cuenta. Este enfoque no es el recomendado para todo el mundo, pero da bastante juego a quienes quieren trastear con el código, enviar parches o simplemente probar features que todavía no han llegado a la versión estable.
En muchos casos se recomienda precisamente eso: descargar el código fuente en un archivo ZIP o clonar el repositorio Git y generar los binarios localmente, aprovechando que el proceso de build está bastante automatizado con Gradle. Una vez superada la primera compilación (que suele ser la más pesada, por la descarga de dependencias), es relativamente sencillo mantener la herramienta al día.
Al margen del método elegido, es importante que verifiques las firmas y hashes de los paquetes descargados desde GitHub u otras fuentes oficiales. Esto reduce el riesgo de que un archivo manipulador se haga pasar por una versión legítima de Ghidra.
Compilar Ghidra en Windows paso a paso
En Windows, además de Java y Gradle, vas a necesitar un compilador nativo proporcionado por Visual Studio. Las versiones modernas, como Visual Studio 2017 o posteriores, funcionan correctamente, y la edición Community 2022 suele ser más que suficiente para este propósito.
El flujo típico de compilación comienza abriendo una ventana de CMD (símbolo del sistema) y situándote en el directorio donde tengas el código fuente de Ghidra mediante el comando:cd %directory_of_ghidra_source_code%
Una vez ahí, se utiliza el script de Gradle proporcionado en el propio árbol del proyecto para inicializar la estructura, descargar todas las dependencias y dejar preparado el entorno. El comando usual es algo como:gradle.bat -I .\gradle\support\fetchDependencies.gradle init
Este proceso puede tardar entre 5 y 10 minutos, dependiendo de tu conexión y del estado de caché de Gradle, ya que tiene que descargar todas las bibliotecas necesarias.
Si todo va bien, al final del proceso verás en la consola un mensaje de BUILD SUCCESSFUL, junto con la confirmación de que se ha detectado correctamente la instalación de Visual Studio, requisito imprescindible para continuar con la compilación de los módulos nativos.
Tras la fase de inicialización, solo queda lanzar la construcción principal de la herramienta con:gradle.bat buildGhidra
Este paso también puede llevar un rato y es normal que aparezcan avisos o warnings, pero mientras el resultado final sea “BUILD SUCCESSFUL”, puedes dar la compilación por buena.
Cuando el proceso termina, el paquete completo de Ghidra queda empaquetado en un archivo ZIP dentro del directorio build/dist. Para usarlo, únicamente tendrás que extraer ese ZIP en la carpeta que prefieras y ejecutar el script ghidraRun.bat, que se encarga de lanzar la aplicación con la configuración adecuada.
Compilar Ghidra en Linux
En sistemas GNU/Linux, la idea general es la misma, pero en lugar de Visual Studio necesitarás una versión moderna de GCC, por ejemplo las series 9 o 12, que suelen dar buenos resultados. Además, por supuesto, Java y Gradle deben estar correctamente instalados en el sistema y, si necesitas ejecutar software de Windows desde Linux, existen soluciones como Bottles.
El primer paso consiste en abrir una terminal y cambiar al directorio donde tengas el código de Ghidra con:cd <directorio_del_codigo_de_ghidra>
Desde ahí, se lanza el proceso inicial de Gradle para descargar dependencias y configurar el proyecto, usando un comando del tipo:gradle -I ./gradle/support/fetchDependencies.gradle init
Igual que en Windows, esta fase de inicialización requiere conexión a Internet activa y suele llevar varios minutos. Un detalle particular en Linux es que, si tu configuración regional no está en inglés (por ejemplo, si usas un locale ruso o español), los mensajes localizados de GCC podrían romper algunos scripts que parsean la salida.
Para evitar problemas con la localización, es recomendable forzar el entorno a inglés al ejecutar Gradle, por ejemplo con:LANG=C gradle -I ./gradle/support/fetchDependencies.gradle init
De esta forma, la salida de GCC se genera en inglés y los scripts que se apoyan en ella pueden trabajar sin sorpresas.
Cuando el proceso de init termina con éxito (verás el mensaje BUILD SUCCESSFUL), toca construir Ghidra y las demás piezas asociadas con:gradle buildGhidra
Al término de la compilación, encontrarás de nuevo un ZIP preparado en el directorio build/dist. Basta con extraerlo y lanzar el script de shell ghidraRun situado en la raíz del árbol extraído para iniciar la aplicación.
En muchas distribuciones, la versión de desarrollo (por ejemplo, 10.3-DEV en el momento descrito) usa de forma predeterminada el tema de interfaz “Nimbus”. Si no te convence, puedes cambiarlo fácilmente desde las opciones de la herramienta, algo que veremos un poco más adelante.
Compilar Ghidra en macOS
En macOS, el proceso se parece mucho al de Linux, con la particularidad de que necesitas instalar las herramientas de línea de comandos de Xcode. Estas proporcionan un sustituto de GCC y Make, entre otras utilidades que Gradle emplea en el proceso de construcción.
Para comprobar si las tienes instaladas, puedes abrir una terminal y ejecutar simplemente gcc. Si el sistema detecta que faltan las herramientas, macOS mostrará un cuadro de diálogo para descargar e instalar las Command Line Tools. Aceptas, esperas a que se complete la descarga y listo.
Con las herramientas ya disponibles, la compilación de Ghidra en macOS se hace igual que en Linux: te sitúas en el directorio del código fuente con:cd <directorio_del_codigo_de_ghidra>
Y ejecutas el comando de inicialización de Gradle para obtener dependencias y configurar el proyecto:gradle -I ./gradle/support/fetchDependencies.gradle init
Tras la inicialización, se arranca el proceso principal de build con:gradle buildGhidra
Cuando termine y veas el mensaje de BUILD SUCCESSFUL, tendrás tu ZIP listo en build/dist. Solo queda descomprimir el paquete en una carpeta de tu elección y arrancar Ghidra con el script ghidraRun desde la terminal o haciendo doble clic, según tu configuración.
En macOS, la interfaz gráfica de Ghidra suele adoptar por defecto un aspecto nativo bastante alineado con el sistema, lo que ayuda a integrarla visualmente y a que no desentone con el resto de aplicaciones del escritorio.
Primeros pasos: crear un proyecto y abrir CodeBrowser
Una vez tienes Ghidra en marcha, el primer concepto que debes interiorizar es el de proyecto. Ghidra no trabaja directamente sobre los ficheros del sistema, sino que importa los binarios a una base de datos propia, donde almacena todo el análisis, anotaciones, tipos de datos, estructuras, etiquetas y demás información que vayas generando.
Para empezar, abre el menú File -> New Project… en la ventana principal de Ghidra. Aquí podrás elegir si quieres un proyecto “shared” (compartido en un servidor para trabajo colaborativo) o un proyecto local. Si solo vas a trastear tú, con un proyecto no compartido tienes de sobra.
En el asistente, indica la ruta del sistema de archivos donde se guardará el proyecto y el nombre que quieras darle. Una vez confirmado, verás la ventana de proyectos con un repositorio vacío listo para alojar tus binarios. Esta estructura se parece, hasta cierto punto, a una colección de bases de datos, donde cada archivo importado genera su propio conjunto de información.
El siguiente paso es lanzar la herramienta principal de análisis, llamada CodeBrowser. Puedes hacerlo desde el menú Tools de la ventana de proyectos (por ejemplo, Tools -> Run Tool -> CodeBrowser) o arrastrando un binario sobre el icono de la “cabeza de dragón verde” una vez lo hayas importado.
CodeBrowser abrirá una interfaz compuesta por varias vistas: una lista principal donde se muestran las instrucciones ensambladas, secciones con los árboles de símbolos y tipos de datos, una ventana de decompilación a alto nivel y una consola para logs y mensajes. Es, básicamente, el centro neurálgico de tu trabajo diario con Ghidra.
Configurar la interfaz de Ghidra para trabajar cómodo
La primera impresión que da Ghidra a muchos usuarios que vienen de IDA u otras herramientas es que la interfaz es algo distinta y, en ocasiones, un pelín caótica. Lo bueno es que casi todos los elementos se pueden ajustar, recolocar y personalizar desde las opciones de la herramienta.
Para acceder a la configuración global de CodeBrowser, utiliza el menú Edit -> Tool Options…. Desde ahí podrás modificar tanto la distribución visual (colores, fuentes, campos que se muestran, comportamiento del ratón) como los atajos de teclado y otros aspectos internos que influyen en tu flujo de trabajo diario.
Una de las primeras cosas que mucha gente echa en falta es una barra de navegación compacta, similar a la que ofrecen otros desensambladores. En CodeBrowser existe, pero suele estar desactivada por defecto. Puedes activarla tocando el botón de “overview” que aparece junto a la barra de desplazamiento, lo que te mostrará una vista general vertical del binario.
Los atajos de teclado son otro punto clave. Los valores por defecto pueden resultar confusos y recuerdan bastante a los de entornos como Eclipse, lo cual no siempre cuadra con la memoria muscular de alguien que lleva años usando IDA. Desde el apartado de “Key Bindings” en las opciones de la herramienta puedes buscar acciones concretas y reasignar teclas a tu gusto (por ejemplo, C para marcar código, D para marcar datos, X para referencias externas, Esc para retroceder, etc.).
También es recomendable ajustar el aspecto de la lista de desensamblado desde “Listing Display” para escoger fuentes y colores cómodos, y configurar detalles como el número máximo de líneas mostradas para arrays o cadenas en “Listing Fields -> Array Options”. Incluso puedes pedirle que los índices de los arrays se muestren en hexadecimal para evitar confusiones.
Ajustes visuales útiles: bytes, resaltados y campos
En el apartado de “Listing Fields”, Ghidra permite modificar prácticamente todos los elementos que se muestran alrededor del código ensamblador: dirección, bytes, operación, operandos, comentarios, etiquetas, etc. Esto te permite construir una vista mucho más compacta o más detallada, según lo que te resulte más cómodo.
Por ejemplo, si quieres que cada instrucción ocupe una sola línea, puedes ir a “Bytes Field” y poner el valor de “maximum lines to display” a 1, lo que elimina saltos de línea innecesarios. De paso, puedes marcar la opción de mostrar los bytes en mayúsculas si te resulta más legible trabajar con HEX en letras capitales.
El resaltado de texto es otro punto que suele desesperar a quien llega nuevo. De fábrica, Ghidra usa el botón central del ratón para resaltar registros, valores o etiquetas, algo poco intuitivo en muchos ratones modernos. Dentro de “Cursor Text Highlight”, puedes cambiar la opción “Mouse Button To Activate” a LEFT, para que el clic izquierdo active el resaltado y resulte más natural.
En el área de funciones, es bastante útil marcar “Flag Function Entry” y “Flag Function Exits” para que el inicio y el final de cada función se señalen visualmente en la lista de código. Al mismo tiempo, muchos usuarios prefieren desactivar “Display Function Label” en “Labels Field” para quitar una línea redundante en la cabecera de cada función y limpiar la vista.
Por último, si te molesta tener que desplazarte horizontalmente, puedes desmarcar la opción correspondiente en “Mouse” dentro de “Listing Fields”. De esta forma fuerzas una distribución que encaje mejor en el ancho de la ventana, priorizando un scroll vertical más natural.
Configurar símbolos, tipos de datos y referencias cruzadas
La potencia real de Ghidra se aprecia cuando empiezas a jugar con sus vistas de símbolos y de tipos de datos. A la izquierda de CodeBrowser encontrarás el “Symbol Tree”, que te permite localizar fácilmente funciones, importaciones, exportaciones y otros símbolos clave para entender la estructura de un binario.
Justo debajo, el “Data Type Manager” actúa como repositorio centralizado de todos los tipos conocidos: estructuras, typedefs, enumeraciones, cursores, etc. Desde aquí puedes cargar bibliotecas de tipos externas (por ejemplo, definiciones de Windows) usando el menú desplegable, o crear tus propios tipos para que el código decompilado tenga mucho más sentido.
Las referencias cruzadas o XREFs también se pueden ajustar en detalle. Dentro de “Listing Fields -> XREFs Field” puedes subir el número máximo de referencias mostradas para que, al situarte sobre una dirección, veas más llamadas o accesos relacionados. Esto es especialmente útil en análisis de malware, donde resulta vital rastrear dónde se usa una API o una función concreta.
Además, Ghidra permite cambiar sobre la marcha el ancho de las columnas de dirección, bytes y opcodes usando el botón “Edit the Listing fields” en la propia interfaz. Una vez activado, puedes arrastrar y redimensionar cada campo a tu gusto. La configuración se guarda cuando eliges “save the tool” al salir de CodeBrowser, de forma que tu diseño preferido quede persistente.
Importar un binario y lanzar el análisis automático
Con la interfaz ya más o menos a tu gusto, toca importar tu primer archivo. Desde la ventana del proyecto, utiliza el menú File -> Import File… y selecciona el ejecutable, librería o binario que quieras analizar. Ghidra copiará el contenido a su base de datos interna, de modo que en teoría podrías borrar el archivo original del sistema de ficheros sin perder la muestra importada.
Durante el proceso de importación, la herramienta intentará reconocer automáticamente el formato y el lenguaje del archivo. El término “lenguaje” en Ghidra no se refiere al idioma humano, sino a la combinación de arquitectura de procesador, endianess y variante de compilador utilizada. Si el formato no se detecta o es algo crudo (raw), puedes seleccionar manualmente el lenguaje y algunas opciones adicionales.
Entre las opciones de importación tienes cosas como decidir si se cargan o no librerías externas. En un ejecutable de Windows, por ejemplo, eso significa que Ghidra puede intentar resolver y cargar las DLL dependientes para enriquecer el análisis. En otros casos preferirás desactivar esa opción para centrarte solo en el binario principal.
Al terminar la importación, Ghidra muestra un resumen en el que se indica el tipo de archivo, la plataforma, el formato (por ejemplo PE en Windows) y un apartado de “Additional Information” en el que puedes ver si todas las librerías esperadas se han localizado correctamente o si falta alguna. Esta información es crucial para entender qué partes del ecosistema del ejecutable tienes cargadas y cuáles no.
Una vez tengas el binario importado y visible en la ventana del proyecto, puedes abrirlo en CodeBrowser haciendo doble clic sobre él o seleccionando la opción correspondiente desde el menú. En ese momento, Ghidra te preguntará si quieres ejecutar el análisis automático (auto-analyze) o si prefieres posponerlo.
Explorando CodeBrowser: vistas, árboles y decompilación
Al iniciar el análisis, Ghidra aplica una serie de “analizadores” o tareas especializadas que identifican código, datos, funciones y referencias. La configuración por defecto de estos analizadores suele ser más que suficiente en la mayoría de casos, aunque siempre puedes entrar en el panel de opciones para activar o desactivar módulos concretos según tus necesidades.
A medida que el análisis avanza, verás cómo la lista de instrucciones se va enriqueciendo con nuevas funciones, etiquetas y comentarios automáticos. En el panel izquierdo, el “Program Trees” te muestra la estructura lógica del archivo (segmentos, secciones, bloques), mientras que el “Symbol Tree” agrupa símbolos por categorías (funciones, labels, namespaces, etc.).
En la parte central tienes la vista clásica de ensamblador, donde puedes navegar dirección a dirección, saltar a funciones, seguir llamadas y revisar la secuencia de instrucciones. A la derecha, la vista de código decompilado intenta reconstruir una representación en C (u otro lenguaje de alto nivel) a partir del ensamblador, lo que en muchos casos acelera enormemente la comprensión del código.
En la parte inferior, la consola muestra logs del análisis, avisos y mensajes de error. Aquí suelen aparecer detalles sobre funciones no analizadas, problemas con algún analizador concreto o advertencias de estructuras de datos sospechosas. Es un buen lugar para revisar si todo ha funcionado según lo esperado o si conviene lanzar de nuevo algún análisis parcial.
La navegación básica se hace con el ratón y el teclado: puedes seguir llamadas, volver atrás, saltar a referencias, renombrar símbolos o definir nuevas funciones sobre la marcha. Con un poco de práctica, tu flujo con CodeBrowser se vuelve bastante fluido y flexible, sobre todo cuando has adaptado los atajos a tu forma de trabajar habitual.
Scripts, consola Python y ampliación de capacidades
Ghidra no se queda solo en lo visual; trae consigo una colección de scripts en Java y Python que permiten automatizar muchas tareas rutinarias del análisis. Estos scripts se gestionan desde el “Script Manager”, accesible mediante su botón correspondiente o desde el menú Window.
Dentro del Script Manager encontrarás scripts para tareas de todo tipo: desde localizar patrones específicos de funciones hasta extraer cadenas, generar informes, aplicar firmas, ajustar tipos de datos o buscar constructos típicos de compiladores concretos. Puedes ejecutar los scripts tal cual, modificarlos para adaptarlos a tus necesidades o crear los tuyos propios siguiendo la API de Ghidra.
Además, la herramienta incluye una consola interactiva de Python basada en Jython, accesible desde “Window -> Python”. En esa consola puedes explorar la API de Ghidra con llamadas sencillas como dir(), manipular el programa cargado, crear automatizaciones ad hoc o probar trozos de código antes de integrarlos en un script permanente.
Esta capacidad de scripting es uno de los grandes motivos por los que muchos analistas acaban quedándose con Ghidra: permite construir pipelines de análisis muy personalizados, integrarla con otras herramientas y reducir drásticamente el trabajo manual repetitivo.
Firmas, tipos de datos adicionales y análisis de malware
De serie, Ghidra viene con un buen surtido de tipos de datos y firmas de funciones, pero si te dedicas al análisis de malware en entornos Windows probablemente notarás que faltan muchos tipos específicos del sistema que son clave para entender correctamente llamadas a APIs y estructuras internas.
Para suplir esta carencia, la comunidad ha generado bases de datos de tipos ampliadas para Windows, así como ficheros de firmas FIDB para distintas versiones de Visual Studio (por ejemplo VS2013) y para otros compiladores como Delphi. Estas bases de datos se pueden cargar en el Data Type Manager y usar como referencia para enriquecer el análisis de tus muestras.
Una vez integradas, verás cómo el código decompilado gana claridad, las estructuras se muestran con nombres significativos y resulta mucho más sencillo seguir el flujo de una función que utiliza APIs complejas. Todo esto contribuye a que Ghidra se convierta en una plataforma cada vez más completa para análisis serios.
Evidentemente, hay margen de mejora y todavía hay huecos en algunas plataformas, pero el hecho de que sea un proyecto abierto facilita que la comunidad vaya aportando más definiciones, scripts y plantillas con el paso del tiempo, lo que refuerza su papel como herramienta central en muchos laboratorios de reversing.
Con todo lo anterior sobre la mesa, Ghidra se consolida como una alternativa robusta, flexible y gratuita para cualquiera que quiera meter mano a binarios, ya sea para aprender técnicas de explotación, practicar en CTF, investigar malware o auditar software propietario, siempre y cuando se mantenga actualizada, se configure con cabeza y se acompañe de buenas bases de datos de tipos y firmas para las plataformas objetivo.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.
