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
lighthouse — Un Explorador de Cobertura para Ingenieros Inversos | Kitploit
Herramientas/GitHubGitHub/gaasedelen/lighthouse
Análisis EstáticoAnálisis Dinámico (Sandboxing)Análisis de VulnerabilidadesAnálisis de CódigoIngeniería InversaDepuradoresFuzzingAnálisis de BinariosPapers e Investigación
GitHubgaasedelen/lighthouse

lighthouse

Un Explorador de Cobertura para Ingenieros Inversos

2.6k3364hace 7 mesesRevisado por Kitploit
Ver Repositorio

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

Lighthouse - Un explorador de cobertura para ingenieros inversos

Lighthouse Plugin

Descripción general

Lighthouse es un potente explorador de cobertura de código para IDA Pro y Binary Ninja, que proporciona a los investigadores de software controles únicos e interactivos para estudiar mapas de ejecución de aplicaciones nativas sin requerir símbolos ni código fuente.

Este proyecto obtuvo el 2.º puesto en el Concurso de Plugins de 2017 de IDA y posteriormente fue nominado en los Pwnie Awards de 2021 por sus contribuciones a la industria de la investigación de seguridad.

Agradecimientos especiales a @0vercl0k por la inspiración.

Versiones

  • v0.9 -- Compatibilidad con Python 3, formatos de cobertura personalizados, referencias cruzadas de cobertura, subsistema de temas, y mucho más.
  • v0.8 -- Compatibilidad con Binary Ninja, informes de cobertura HTML, estilo consistente, muchos ajustes, correcciones de errores.
  • v0.7 -- Frida, desmanglado de C++, menú contextual, prefijado de funciones, ajustes, correcciones de errores.
  • v0.6 -- Intel pintool, complejidad ciclomática, carga por lotes, correcciones de errores.
  • v0.5 -- Búsqueda, compatibilidad con IDA 7, muchas mejoras, estabilidad.
  • v0.4 -- La mayor parte del cómputo ahora es asíncrono, correcciones de errores.
  • v0.3 -- Composición de cobertura, shell de composición interactivo.
  • v0.2 -- Compatibilidad con múltiples archivos, mejoras de rendimiento, correcciones de errores.
  • v0.1 -- Versión inicial

Instalación

Lighthouse es un plugin multiplataforma (Windows, macOS, Linux) para Python 2/3. No tiene dependencias de terceros, lo que hace que el código sea portátil y fácil de instalar.

Utilice las instrucciones a continuación según su desensamblador correspondiente.

Instalación en IDA

  1. Desde la consola de Python de IDA, ejecute el siguiente comando para encontrar su directorio de plugins:
    • import idaapi, os; print(os.path.join(idaapi.get_user_idadir(), "plugins"))
  2. Copie el contenido de la carpeta /plugins/ de este repositorio al directorio indicado.
  3. Reinicie su desensamblador.

Instalación en Binary Ninja

Lighthouse se puede instalar a través del gestor de plugins de Binary Ninja, compatible con la versión v3.5 y posteriores.

  1. Abra el gestor de plugins de Binary Ninja navegando por los siguientes submenús:
    • Edit -> Preferences -> Manage Plugins
  2. Busque Lighthouse en el gestor de plugins y haga clic en el botón Enable en la esquina inferior derecha.
  3. Reinicie su desensamblador.

Uso

Una vez instalado correctamente, habrá algunas entradas de menú nuevas disponibles en el desensamblador. Estos son los puntos de entrada para que un usuario cargue datos de cobertura y comience a usar Lighthouse.

Lighthouse Menu Entries

Lighthouse puede cargar algunos 'sabores' diferentes de datos de cobertura. Para generar datos de cobertura que se puedan cargar en Lighthouse, consulte el README en el directorio coverage de este repositorio.

Pintado de cobertura

Mientras Lighthouse está en uso, 'pintará' los datos de cobertura activos en todos los visores de código disponibles en el desensamblador. Específicamente, esto se aplicará a sus ventanas de desensamblado lineal, grafo y descompilador.

Lighthouse Coverage Painting

En Binary Ninja, solo se admiten las vistas de desensamblado lineal, grafo e IL. La compatibilidad para pintar la salida del descompilador en Binary Ninja se añadirá a Lighthouse en un futuro cercano a medida que la función se estabilice.

Descripción general de la cobertura

La Descripción general de la cobertura es un widget acoplable que se abrirá una vez que se hayan cargado datos de cobertura en Lighthouse.

Lighthouse Coverage Overview

Este widget interactivo proporciona una vista a nivel de función de los datos de cobertura cargados. También alberga una serie de herramientas para gestionar los datos cargados e impulsar formas más avanzadas de análisis de cobertura.

Menú contextual

Hacer clic derecho en la tabla de la Descripción general de la cobertura producirá un menú contextual con algunas comodidades básicas para extraer información de la tabla, o manipular la base de datos como parte de su proceso de ingeniería inversa.

Lighthouse Context Menu

Si hay otras acciones que cree que podrían ser útiles para añadir a este menú contextual, por favor abra un issue y se considerarán para una futura versión de Lighthouse.

Cuadro combinado de cobertura

La cobertura cargada y las composiciones construidas por el usuario se pueden seleccionar o eliminar a través del cuadro combinado de cobertura.

Lighthouse Coverage ComboBox

Informe de cobertura HTML

Lighthouse puede generar informes de cobertura HTML rudimentarios. Puede ver un informe de ejemplo aquí.

Lighthouse HTML Report

Shell de cobertura

En la parte inferior de la ventana de descripción general de la cobertura se encuentra el shell de cobertura. Este shell se puede utilizar para realizar operaciones basadas en lógica que combinan o manipulan los conjuntos de cobertura cargados.

Lighthouse Coverage Composition

Esta función es extremadamente útil para explorar las relaciones de ejecución de un programa a lo largo de múltiples ejecuciones. En otras palabras, el shell se puede utilizar para 'diferenciar' la ejecución entre conjuntos de cobertura y extraer un significado más profundo que de otro modo queda oculto dentro del ruido de sus partes individuales.

Sintaxis de composición

Descargar herramienta