Skip to content
KitploitKITPLOIT
OutilsBlog
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/rogerorr/nttrace
Analyse Dynamique de Code (DAST)Rétro-ingénierieTests de Sécurité des APIDébogueursAnalyse de Malware
GitHubrogerorr/nttrace

NtTrace

Un programme de type strace pour l'API 'native' de Windows.

Voir le dépôtSite web
388499il y a 15h 42mVé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

Fichier readme de NtTrace

Voir aussi http://rogerorr.github.io/NtTrace/

Contenu

  • Readme.md - ce fichier
  • NtTrace.cfg - fichier de configuration par défaut pour NtTrace
  • NtTrace.ico - fichier d'icône
  • NtTrace.mak - fichier make pour l'invite de commande Microsoft Visual Studio
  • NtTrace.rc - fichier de ressources
  • src - fichiers sources
  • include - fichiers d'inclusion
  • version.rc - ressource de version
  • Gdi32Trace.cfg - fichier de configuration pour les appels natifs GDI
  • User32Trace.cfg - fichier de configuration pour les appels natifs USER32

Instructions de construction

Vous aurez besoin de la version 64 bits et/ou 32 bits de NtTrace, selon votre ou vos applications cibles.

  • placez-vous dans ce répertoire racine
  • Exécutez scripts\build-vs-x64.bat ou scripts\build-vs-x86.bat pour compiler respectivement la version 64 bits ou 32 bits.

ou

  • Lancez « x64 Native Tools Command Prompt for VS2022 » (64 bits) ou « Developer Command Prompt for VS2022 » (32 bits)
  • placez-vous dans ce répertoire racine
  • exécutez nmake /f NtTrace.mak

ou

  • Lancez une invite de commande Windows
  • placez-vous dans ce répertoire racine
  • Configurez l'environnement VC cible
  • Par exemple "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
  • ou "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
  • exécutez nmake /f NtTrace.mak

Exécution de NtTrace

NtTrace est conçu pour être exécuté depuis la ligne de commande.

Il peut être utilisé pour exécuter un programme, avec des arguments si nécessaire. Par exemple :
NtTrace -filter File cmd /c echo hello

ou pour s'attacher à un processus existant par son PID ou, en utilisant l'option -a, par son nom. Par exemple : NtTrace 1234 ou NtTrace -a notepad

Exécutez NtTrace -h pour une liste complète des options.

Appels GDI et User

Par défaut, NtTrace cible l'API Windows Native exposée via NtDll.dll

Des fichiers de configuration sont également fournis pour de nombreux points d'entrée qui prennent en charge l'interface graphique Windows :

Gdi32Trace.cfg pour l'interface de périphérique graphique (GDI)

User32Trace.cfg pour l'interface utilisateur (User)

Vous pouvez en sélectionner un, au lieu du fichier NtTrace.cfg par défaut, en utilisant l'argument de ligne de commande -config.

Note sur DbgHelp.dll

Windows est livré avec DbgHelp.dll dans le répertoire system32. Cependant, des versions plus récentes de cette DLL sont parfois disponibles auprès de Microsoft dans leurs SDK.

La version de la DLL installée avec le système d'exploitation a tendance à prendre le pas sur une version plus récente qui pourrait être téléchargée.

Si vous constatez que vous avez besoin d'une version plus récente que celle installée dans le répertoire système, vous pouvez simplement copier la version plus récente de DbgHelp.dll dans le même répertoire que NtTrace.exe. (Vous devrez également copier SymSrv.dll et SrcSrv.dll)

Fonctionnement

Technologie

NtTrace fonctionne en utilisant l'interface de débogage Windows pour placer des points d'arrêt dans NtDll autour des appels Windows natifs vers le noyau. Chaque fois qu'un point d'arrêt est atteint, NtTrace lit les arguments passés à / les valeurs renvoyées par l'appel associé.

Il fonctionne au niveau utilisateur et n'affecte que le processus spécifique (et ses enfants). Aucune tentative n'est faite pour entrer dans le noyau. C'était une décision de conception délibérée car cela signifie que l'outil peut être utilisé sans nécessiter de droits d'administration ou d'autorisation pour installer des pilotes de périphériques. Cependant, cela signifie également que l'outil ne capturera pas :

  • les appels noyau effectués par les pilotes de périphériques au nom d'une application
  • toute utilisation directe du mécanisme int 2e, syscall ou sysenter

NtTrace trace également, par défaut, les processus enfants du processus initial lancé ; l'option -pid ajoutera l'ID du processus à chaque ligne de sortie pour aider à identifier quel processus a effectué quels appels. L'option -only supprime le traçage des processus enfants.

Il gère également les applications multi-threads (et l'option -tid aidera à identifier quel thread effectue chaque appel). Cependant, notez que, étant donné que l'interface de débogage Windows est basée sur les événements, si plusieurs threads effectuent tous des appels simultanément, alors le traçage sera sérialisé.

Par défaut, les appels dans NtDll sont tracés ; les fichiers de configuration pour Gdi32 et User32 sélectionnent une DLL cible différente. NtTrace ne prend actuellement pas en charge le traçage simultané de différents types d'appels système.

Configuration

La configuration des appels natifs est contenue dans NtTrace.cfg et ce fichier est analysé au démarrage du programme. Notez que différentes versions de Windows prennent en charge différents ensembles d'appels.

Certaines fonctions natives sont officiellement documentées par Microsoft, mais beaucoup sont non documentées. La liste (presque) complète a été obtenue par une combinaison de travail de détective sur les fonctions et à partir de sites web, tels que ReactOS.

Chaque fonction est assignée à une catégorie, et le filtrage peut être effectué par nom de fonction (correspondance partielle) et par catégorie de fonction.

Par défaut, NtTrace trace lors du retour de l'appel système, mais l'option -pre peut être utilisée pour tracer également avant l'appel. Cela peut être utile si, par exemple, la même structure est utilisée pour un tampon de requête et de réponse.


$Id: Readme.md 2542 2025-01-21 23:15:34Z roger $
Télécharger l’outil