Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/gaasedelen/tenet
Analyse Dynamique (Sandboxing)Rétro-ingénierieDébogueursAnalyse de Binaires
GitHubgaasedelen/tenet

tenet

Un explorateur de traces pour les rétro-ingénieurs

Voir le dépôt
1.5k16926il y a 5 ansVérifié par Kitploit

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

Tenet - Un explorateur de traces pour ingénieurs en rétro-ingénierie

Explorateur de traces Tenet

Aperçu

Tenet est un plugin IDA Pro pour explorer les traces d'exécution. L'objectif de ce plugin est de fournir des contrôles plus naturels et humains pour naviguer dans les traces d'exécution par rapport à un binaire donné. La base de ce travail découle du désir de rechercher des méthodes nouvelles ou innovantes pour examiner et distiller les modèles d'exécution complexes dans les logiciels.

Pour plus de contexte sur ce projet, veuillez lire le billet de blog à propos de sa version initiale.

Remerciements particuliers à QIRA / geohot et al. pour l'inspiration.

Versions

  • v0.2 -- Détection de la base d'image, visualisation des cellules, refactorisation des points d'arrêt, corrections de bugs.
  • v0.1 -- Version initiale

Installation

Tenet est un plugin Python 3 multiplateforme (Windows, macOS, Linux). Il ne nécessite aucune dépendance tierce, rendant le code à la fois portable et facile à installer.

  1. Depuis la console python de votre désassembleur, exécutez la commande suivante pour trouver son répertoire de plugins :

    • IDA Pro : import idaapi, os; os.path.join(idaapi.get_user_idadir(), "plugins")
  2. Copiez le contenu du dossier /plugins/ de ce dépôt vers le répertoire listé.

  3. Redémarrez votre désassembleur.

Ce plugin est uniquement pris en charge pour IDA 7.5 et plus récent.

Utilisation

Une fois correctement installé, une nouvelle entrée de menu sera disponible dans le désassembleur. Cela peut être utilisé pour charger des traces d'exécution collectées en externe dans Tenet.

Charger une trace Tenet

Comme il s'agit de la version initiale, Tenet n'accepte que des traces texte simples lisibles par l'homme. Veuillez vous référer au readme de traçage dans ce dépôt pour des informations supplémentaires sur le format de trace, les limitations et les traceurs de référence.

Exploration bidirectionnelle

Lors de l'utilisation de Tenet, le plugin va 'peindre' des traînées pour indiquer le flux d'exécution vers l'avant (bleu) et vers l'arrière (rouge) à partir de votre position actuelle dans la trace d'exécution active.

Traînées Tenet

Pour avancer ou reculer dans le temps, il suffit de défiler en survolant la chronologie sur le côté droit du désassembleur. Pour passer par-dessus les appels de fonction, maintenez SHIFT en défilant.

Chronologie de la trace

La chronologie de la trace sera ancrée sur le côté droit du désassembleur. Ce widget est utilisé pour visualiser différents types d'événements le long de la chronologie et effectuer la navigation de base comme décrit ci-dessus.

Zoom avant sur la chronologie de la trace

En cliquant et en faisant glisser sur la chronologie, il est possible de zoomer sur une section spécifique de la trace d'exécution. Cette action peut être répétée un nombre quelconque de fois pour atteindre la granularité souhaitée.

Points d'arrêt d'exécution

Un double-clic sur le pointeur d'instruction dans la fenêtre des registres le mettra en surbrillance en rouge, révélant tous les emplacements où l'instruction a été exécutée le long de la chronologie de la trace.

Placer un point d'arrêt sur l'instruction courante

Pour sauter entre les exécutions, défilez vers le haut ou le bas en survolant le pointeur d'instruction en surbrillance.

De plus, vous pouvez faire un clic droit dans la liste du désassemblage et sélectionner l'une des entrées de menu basées sur la navigation pour rechercher rapidement l'exécution d'une instruction d'intérêt.

Recherche de la première exécution d'une instruction

Le raccourci clavier natif F2 d'IDA peut également être utilisé pour définir des points d'arrêt sur des instructions arbitraires.

Points d'arrêt mémoire

En double-cliquant sur un octet dans les vues de la pile ou de la mémoire, vous verrez instantanément toutes les lectures/écritures sur cette adresse visualisées à travers la chronologie de la trace. Le jaune indique une lecture mémoire, le bleu indique une écriture mémoire.

Explorer les accès mémoire via les points d'arrêt mémoire

Les points d'arrêt mémoire peuvent être navigués en utilisant la même technique décrite pour les points d'arrêt d'exécution. Double-cliquez sur un octet, et défilez en survolant l'octet sélectionné pour rechercher la trace vers chacun de ses accès.

Un clic droit sur un octet d'intérêt vous donnera des options pour rechercher entre lecture / écriture / accès mémoire si vous avez une action de navigation spécifique en tête.

Recherche mémoire

Pour naviguer vers une adresse arbitraire dans la vue mémoire, cliquez sur la vue mémoire et appuyez sur G pour entrer une adresse ou un symbole de base de données vers lequel chercher.

Points d'arrêt de région

Il est possible de définir un point d'arrêt mémoire sur une région de mémoire en mettant en surbrillance un bloc de mémoire, et en double-cliquant dessus pour définir un point d'arrêt d'accès.

Points d'arrêt d'accès à une région mémoire

Comme pour les points d'arrêt mémoire normaux, survoler la région et défiler peut être utilisé pour parcourir les accès effectués à la région mémoire sélectionnée.

Recherche de registre

En rétro-ingénierie, il est assez courant de rencontrer des situations où vous vous demandez "Quelle instruction a défini ce registre à sa valeur actuelle ?"

Avec Tenet, vous pouvez rechercher en arrière cette instruction en un seul clic.

Recherche de l'écriture de registre précédente

La recherche en arrière est de loin la direction la plus courante pour naviguer à travers les changements de registre... mais pour plus de dextérité, vous pouvez également rechercher en avant vers la prochaine affectation de registre en utilisant la flèche bleue à droite du registre.

Shell d'horodatage

Un 'shell' simple est fourni pour naviguer vers des horodatages spécifiques dans la trace. Coller (ou taper...) un horodatage dans le shell avec ou sans virgules suffira.

Télécharger l’outil