Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
lighthouse — Un explorateur de couverture pour les reverse engineers | Kitploit
Outils/GitHubGitHub/gaasedelen/lighthouse
Analyse StatiqueAnalyse Dynamique (Sandboxing)Analyse des VulnérabilitésAnalyse de CodeRétro-ingénierieDébogueursFuzzingAnalyse de BinairesArticles et Recherche
GitHubgaasedelen/lighthouse

lighthouse

Un explorateur de couverture pour les reverse engineers

2.6k3364il y a 7 moisVérifié par Kitploit
Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Lighthouse - Un explorateur de couverture pour les reverse engineers

Lighthouse Plugin

Aperçu

Lighthouse est un puissant explorateur de couverture de code pour IDA Pro et Binary Ninja, offrant aux chercheurs en logiciel des contrôles interactifs uniques pour étudier les cartes d'exécution d'applications natives sans nécessiter de symboles ni de code source.

Ce projet s'est classé 2ème au concours de plugins 2017 d'IDA et a ensuite été nominé aux Pwnie Awards 2021 pour ses contributions à l'industrie de la recherche en sécurité.

Remerciements particuliers à @0vercl0k pour l'inspiration.

Versions

  • v0.9 -- Support de Python 3, formats de couverture personnalisés, références croisées de couverture, sous-système de thèmes, et bien plus.
  • v0.8 -- Support de Binary Ninja, rapports de couverture HTML, style cohérent, nombreux ajustements, corrections de bugs.
  • v0.7 -- Frida, démangling C++, menu contextuel, préfixage de fonctions, ajustements, corrections de bugs.
  • v0.6 -- Intel pintool, complexité cyclomatique, chargement par lots, corrections de bugs.
  • v0.5 -- Recherche, support d'IDA 7, nombreuses améliorations, stabilité.
  • v0.4 -- La plupart des calculs sont désormais asynchrones, corrections de bugs.
  • v0.3 -- Composition de couverture, shell de composition interactif.
  • v0.2 -- Support multi-fichiers, améliorations de performance, corrections de bugs.
  • v0.1 -- Version initiale

Installation

Lighthouse est un plugin Python 2/3 multiplateforme (Windows, macOS, Linux). Il ne nécessite aucune dépendance tierce, ce qui rend le code à la fois portable et facile à installer.

Utilisez les instructions ci-dessous pour votre désassembleur respectif.

Installation pour IDA

  1. Depuis la console Python d'IDA, exécutez la commande suivante pour trouver son répertoire de plugins :
    • import idaapi, os; print(os.path.join(idaapi.get_user_idadir(), "plugins"))
  2. Copiez le contenu du dossier /plugins/ de ce dépôt dans le répertoire indiqué.
  3. Redémarrez votre désassembleur.

Installation pour Binary Ninja

Lighthouse peut être installé via le gestionnaire de plugins de Binary Ninja, compatible avec la v3.5 et les versions ultérieures.

  1. Ouvrez le gestionnaire de plugins de Binary Ninja en naviguant dans les sous-menus suivants :
    • Edit -> Preferences -> Manage Plugins
  2. Recherchez Lighthouse dans le gestionnaire de plugins, puis cliquez sur le bouton Enable en bas à droite.
  3. Redémarrez votre désassembleur.

Utilisation

Une fois correctement installé, quelques nouvelles entrées de menu seront disponibles dans le désassembleur. Ce sont les points d'entrée permettant à l'utilisateur de charger des données de couverture et de commencer à utiliser Lighthouse.

Lighthouse Menu Entries

Lighthouse est capable de charger plusieurs « saveurs » différentes de données de couverture. Pour générer des données de couverture pouvant être chargées dans Lighthouse, veuillez consulter le README dans le répertoire coverage de ce dépôt.

Peinture de couverture

Lorsque Lighthouse est utilisé, il « peint » les données de couverture actives sur tous les visionneuses de code disponibles dans le désassembleur. Plus précisément, cela s'applique à vos fenêtres de désassemblage linéaire, de graphe et de décompilateur.

Lighthouse Coverage Painting

Dans Binary Ninja, seules les vues de désassemblage linéaire, de graphe et d'IL sont prises en charge. Le support de la peinture de la sortie du décompilateur dans Binary Ninja sera ajouté à Lighthouse dans un futur proche à mesure que la fonctionnalité se stabilise.

Aperçu de la couverture

L'Aperçu de la couverture est un widget ancrable qui s'ouvre une fois que la couverture a été chargée dans Lighthouse.

Lighthouse Coverage Overview

Ce widget interactif offre une vue au niveau des fonctions des données de couverture chargées. Il héberge également un certain nombre d'outils pour gérer les données chargées et mener des formes plus avancées d'analyse de couverture.

Menu contextuel

Un clic droit sur le tableau de l'Aperçu de la couverture produira un menu contextuel avec quelques commodités de base pour extraire des informations du tableau, ou manipuler la base de données dans le cadre de votre processus de reverse engineering.

Lighthouse Context Menu

Si vous pensez que d'autres actions pourraient être utiles à ajouter à ce menu contextuel, veuillez ouvrir une issue et elles seront examinées pour une future version de Lighthouse.

ComboBox de couverture

Les couvertures chargées et les compositions construites par l'utilisateur peuvent être sélectionnées ou supprimées via la combobox de couverture.

Lighthouse Coverage ComboBox

Rapport de couverture HTML

Lighthouse peut générer des rapports de couverture HTML rudimentaires. Un exemple de rapport est visible ici.

Lighthouse HTML Report

Shell de couverture

En bas de la fenêtre d'aperçu de la couverture se trouve le shell de couverture. Ce shell peut être utilisé pour effectuer des opérations logiques qui combinent ou manipulent les ensembles de couverture chargés.

Lighthouse Coverage Composition

Cette fonctionnalité est extrêmement utile pour explorer les relations d'exécution d'un programme à travers plusieurs exécutions. En d'autres termes, le shell peut être utilisé pour « différencier » l'exécution entre des ensembles de couverture et en extraire une signification plus profonde qui serait autrement obscurcie par le bruit de leurs parties individuelles.

Syntaxe de composition

Télécharger l’outil