Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BinDiffHelper — Extensión de Ghidra para integrar BinDiff para la coincidencia de funciones | Kitploit
Herramientas/GitHubGitHub/ubfx/bindiffhelper
Análisis EstáticoAnálisis de CódigoIngeniería InversaAnálisis de MalwareUtilidades y FrameworksAnálisis de BinariosExplotación de Binarios
GitHububfx/bindiffhelper

BinDiffHelper

Extensión de Ghidra para integrar BinDiff para la coincidencia de funciones

Ver Repositorio
29623hace 22 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

BinDiffHelper

Extensión de Ghidra que utiliza BinDiff en tu proyecto de Ghidra para encontrar funciones coincidentes y renombrarlas automáticamente (BinDiff 6, 7, 8 compatibles). Consulta el manual de BinDiff para ver cómo funciona y cómo empareja funciones / bloques básicos. Sin embargo, con esta extensión, BinDiff se automatiza desde dentro de Ghidra, por lo que no tienes que hacer el diff de tus binarios tú mismo.

Por favor, reporta errores a través de la función de issues en github

Registro de cambios

v0.7.1

  • Actualización para Ghidra 12

v0.7.0 (versiones de Ghidra >= 11.4)

  • Sin cambios excepto la compatibilidad con la versión de Ghidra

v0.6.4 (versiones de Ghidra < 11.4)

  • Soporte de exportación de namespace
  • Corrección de bloqueo indefinido al hacer diff

v0.6.3

  • Permitir ordenación de la tabla

v0.6.2

  • Corrección de un error por el que el diff se colgaba indefinidamente en BinDiff 8
  • Al hacer doble clic en un símbolo, seguirlo tanto en el listado de código primario como en el secundario

v0.6

  • Actualización de la librería del driver de sqlite, ahora debería funcionar en Apple silicon
  • Soporte de diffs textuales externos entre funciones descompiladas (ver https://github.com/ubfx/BinDiffHelper/pull/24)
  • Actualizaciones de la interfaz

v0.5

  • Soporte de BinDiff 8
  • Versión para Ghidra 11.1
Cambios anteriores ### v0.4.3 * Versión para Ghidra 11.0

v0.4.2

  • Añadir función para importar todas las funciones (no solo las marcadas en la tabla)
  • Añadir función para alternar la casilla de verificación de múltiples elementos en la tabla
  • Actualización para soportar Ghidra 10.3

v0.4.1

  • Actualización para soportar Gradle 7.5 y Ghidra 10.1

v0.4.0

  • Soporte de BinDiff 7 y Ghidra 10

v0.3.2

  • Corrección de un error por el que el diff con un archivo diferente del mismo proyecto no funcionaba
  • Corrección de un error por el que los archivos con nombres cortos (< 3 caracteres>) no se podían comparar

v0.3.1

  • Corrección de un fallo al abrir un archivo mediante la opción "from project"

v0.3

  • Coloreado de las funciones coincidentes en el listado
  • Añadir comentarios a las funciones coincidentes en el listado enlazando al otro binario
  • Corrección de un error por el que faltaba la librería protobuf en algunas compilaciones
  • Nuevo menú de carga de archivos

v0.2

  • Corrección de un error por el que el archivo al que importar tenía que estar extraído (checked out).
  • Aumentar el tamaño del diálogo de selección de archivo del proyecto

v0.1

  • Hacer BinDiff del binario abierto en Ghidra con otro binario del mismo proyecto de Ghidra, mostrar resultados e importar nombres de funciones
  • Abrir un archivo BinDiff, creado con BinDiff 6, a partir de dos archivos .BinExport e importar los nombres de funciones coincidentes en Ghidra

Cómo instalar

Descarga el archivo .zip desde la release, si es compatible con tu versión de Ghidra; de lo contrario, consulta Cómo compilar a continuación.

  1. Abre Ghidra
  2. En la Main Window: Ve a File->Install Extensions...
  3. Haz clic en el botón + en la esquina superior derecha y selecciona el archivo zip de BinDiffHelper
  4. Cierra el gestor de plugins. Reinicia Ghidra para cargar el nuevo plugin
  5. Consulta Uso a continuación

Otras herramientas recomendadas

  • Plugin BinExport binarios o compilado desde código fuente para tu versión específica de Ghidra
  • BinDiff (https://zynamics.com/software.html)

Sin estos, solo podrás importar archivos .BinDiff y no exportar y comparar automáticamente desde tu proyecto de Ghidra

Uso

Asegúrate de que el plugin está cargado en el Code Explorer abriendo un archivo en Ghidra y en el Code Explorer ve a File->Configure

Haz clic en el pequeño icono de enchufe en la esquina superior derecha:

Configure tool

y asegúrate de que la casilla junto a BinDiffHelperPlugin está marcada.

Configure plugins

Importar .BinDiff externo

Los archivos .BinExport correspondientes deben estar en la misma carpeta.

Abre el archivo en el que quieres importar nombres en el code Browser, luego ve a Window->BinDiffHelper Open BinDiffHelper

Usa el botón Open from BinDiff o el elemento de menú y selecciona tu archivo .BinDiff.

Example import

Selecciona todos los nombres de funciones que quieras importar y haz clic en el botón Import function names en la esquina superior derecha o en el elemento de menú.

Comparar entre archivos en el proyecto de Ghidra

Ve a Window->BinDiffHelper, asegúrate de que no hay advertencias relativas a BinExport o BinDiff, luego haz clic en el botón Open from project.

Selecciona el otro archivo del árbol y haz clic en OK.

Example project import

Cómo compilar

Requisitos:

  • Instalación de Ghidra (https://ghidra-sre.org) o compilada desde código fuente
  • Algún jdk. Puede haber ciertas restricciones dependiendo de cómo se compiló tu Ghidra y qué otros plugins estés usando. Recomiendo usar Temurin 21 LTS, ya que actualmente parece funcionar tanto con BinExport como con BinDiffHelper.
  • gradle (probado con 7.5, 8.10)

Clonar el repositorio

Clona el repositorio de forma recursiva, ya que depende de BinExport para la definición del protocol buffer correspondiente.

git clone --recurse-submodules https://github.com/ubfx/BinDiffHelper.git

Compilarlo

Necesitas establecer la variable de entorno GHIDRA_INSTALL_DIR al directorio de instalación de Ghidra. Si tienes diferentes JDKs instalados, asegúrate de que la variable de entorno JAVA_HOME apunta al que usa tu instalación de Ghidra.

La extensión se compilará específicamente para esa versión de Ghidra.

Y luego ve a la carpeta BinDiffHelper en tu shell y ejecuta

gradle

Esto compilará tanto BinExport en el submódulo correspondiente como BinDiffHelper en el directorio padre. Debería haberse creado un archivo .zip en el directorio dist. Usa ese archivo .zip para instalar según las instrucciones anteriores.

Configuración de desarrollo / depuración

A veces es útil poder depurar la extensión junto con Ghidra, aquí hay algunas notas al respecto:

Descargar herramienta