Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NtTrace — Ein strace-ähnliches Programm für die Windows 'native' API | Kitploit
Tools/GitHubGitHub/rogerorr/nttrace
Dynamische Code-Analyse (DAST)Reverse EngineeringAPI-SicherheitstestsDebuggerMalware-Analyse
GitHubrogerorr/nttrace

NtTrace

Ein strace-ähnliches Programm für die Windows 'native' API

Repository anzeigen
38849vor 29 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

NtTrace Readme-Datei

Siehe auch http://rogerorr.github.io/NtTrace/

Inhaltsverzeichnis

  • Readme.md - diese Datei
  • NtTrace.cfg - Standardkonfigurationsdatei für NtTrace
  • NtTrace.ico - Symboldatei
  • NtTrace.mak - Make-Datei für die Microsoft Visual Studio-Eingabeaufforderung
  • NtTrace.rc - Ressourcendatei
  • src - Quelldateien
  • include - Include-Dateien
  • version.rc - Versionsressource
  • Gdi32Trace.cfg - Konfigurationsdatei für native GDI-Aufrufe
  • User32Trace.cfg - Konfigurationsdatei für native USER32-Aufrufe

Build-Anweisungen

Sie benötigen entweder die 64-Bit- oder die 32-Bit-Version von NtTrace (oder beide), je nachdem, was zu Ihrer(n) Zielanwendung(en) passt.

  • Wechseln Sie in dieses oberste Verzeichnis
  • Führen Sie scripts\build-vs-x64.bat oder scripts\build-vs-x86.bat aus, um die 64-Bit- bzw. 32-Bit-Version zu erstellen.

oder

  • Starten Sie die „x64 Native Tools-Eingabeaufforderung für VS2022“ (64-Bit) oder die „Developer-Eingabeaufforderung für VS2022“ (32-Bit)
  • Wechseln Sie in dieses oberste Verzeichnis
  • führen Sie nmake /f NtTrace.mak aus

oder

  • Starten Sie eine Windows-Eingabeaufforderung
  • Wechseln Sie in dieses oberste Verzeichnis
  • Richten Sie die Ziel-VC-Umgebung ein
  • z.B. „C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat“ x64
  • oder „C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat“ x86
  • führen Sie nmake /f NtTrace.mak aus

NtTrace ausführen

NtTrace ist für die Ausführung über die Befehlszeile konzipiert.

Es kann verwendet werden, um ein Programm mit Argumenten auszuführen, falls erforderlich. Zum Beispiel:
NtTrace -filter File cmd /c echo hello

oder um einen bestehenden Prozess per PID oder (mit der Option -a) per Name anzuhängen. Zum Beispiel: NtTrace 1234 oder NtTrace -a notepad

Führen Sie NtTrace -h aus, um eine vollständige Liste der Optionen zu erhalten.

GDI- und User-Aufrufe

Standardmäßig zielt NtTrace auf die Windows Native API ab, die über NtDll.dll bereitgestellt wird.

Es werden auch Konfigurationsdateien für viele der Einstiegspunkte bereitgestellt, die die Windows-Grafikoberfläche unterstützen:

Gdi32Trace.cfg für die Graphics Device Interface (GDI)

User32Trace.cfg für die User Interface

Sie können eine dieser Dateien anstelle der Standarddatei NtTrace.cfg auswählen, indem Sie das Befehlszeilenargument -config verwenden.

Hinweis zu DbgHelp.dll

Windows enthält standardmäßig die DbgHelp.dll im system32-Verzeichnis. Neuere Versionen dieser DLL sind jedoch manchmal von Microsoft in ihren SDKs erhältlich.

Die mit dem Betriebssystem installierte Version der DLL hat tendenziell Vorrang vor einer neueren Version, die möglicherweise heruntergeladen wurde.

Wenn Sie eine neuere Version als die im Systemverzeichnis installierte benötigen, können Sie einfach eine Kopie der neueren DbgHelp.dll in dasselbe Verzeichnis wie NtTrace.exe legen. (Sie müssen auch SymSrv.dll und SrcSrv.dll kopieren)

Funktionsweise

Technologie

NtTrace nutzt die Windows-Debug-Schnittstelle, um Breakpoints in NtDll rund um die nativen Windows-Aufrufe in den Kernel zu setzen. Jedes Mal, wenn ein Breakpoint ausgelöst wird, liest NtTrace die an den zugehörigen Aufruf übergebenen Argumente/von ihm zurückgegebenen Werte.

Es arbeitet auf Benutzerebene und wirkt sich nur auf den spezifischen Prozess (und seine untergeordneten Prozesse) aus. Es wird nicht versucht, in den Kernel einzudringen. Dies war eine bewusste Designentscheidung, da das Tool dadurch ohne Administratorrechte oder Berechtigung zur Installation von Gerätetreibern verwendet werden kann. Dies bedeutet jedoch auch, dass das Tool Folgendes nicht erfasst:

  • Kernel-Aufrufe, die von Gerätetreibern im Namen einer Anwendung durchgeführt werden
  • jede direkte Verwendung des int 2e-, syscall- oder sysenter-Mechanismus

NtTrace verfolgt standardmäßig auch untergeordnete Prozesse des gestarteten Anfangsprozesses. Die Option -pid fügt jeder Ausgabezeile die Prozess-ID hinzu, um zu identifizieren, welcher Prozess welche Aufrufe getätigt hat. Die Option -only unterdrückt die Verfolgung von untergeordneten Prozessen.

Es behandelt auch Multithread-Anwendungen (und die Option -tid hilft dabei, zu identifizieren, welcher Thread welchen Aufruf tätigt). Beachten Sie jedoch, dass die Ablaufverfolgung serialisiert wird, wenn mehrere Threads gleichzeitig Aufrufe tätigen, da die Windows-Debug-Schnittstelle ereignisbasiert ist.

Standardmäßig werden die Aufrufe in NtDll verfolgt; die Konfigurationsdateien für Gdi32 und User32 wählen eine andere Ziel-DLL aus. NtTrace unterstützt derzeit nicht die gleichzeitige Verfolgung verschiedener Arten von Systemaufrufen.

Konfiguration

Die Konfiguration für die nativen Aufrufe befindet sich in NtTrace.cfg, und diese Datei wird beim Programmstart analysiert. Beachten Sie, dass verschiedene Windows-Versionen unterschiedliche Aufrufsätze unterstützen.

Einige der nativen Funktionen werden von Microsoft offiziell dokumentiert, viele sind jedoch undokumentiert. Die (fast) vollständige Liste wurde durch eine Kombination aus Detektivarbeit an den Funktionen und von Websites wie ReactOS ermittelt.

Jede Funktion ist einer Kategorie zugeordnet, und die Filterung kann nach Funktionsnamen (Teilübereinstimmung) und Funktionskategorie erfolgen.

Standardmäßig verfolgt NtTrace die Rückkehr vom Systemaufruf, aber die Option -pre kann auch verwendet werden, um vor dem Aufruf zu verfolgen. Dies kann nützlich sein, wenn beispielsweise dieselbe Struktur für einen Anforderungs- und einen Antwortpuffer verwendet wird.


$Id: Readme.md 2542 2025-01-21 23:15:34Z roger $
Tool herunterladen