
Eigenständiger Zero-Driver-Windows-System- und API-Monitor in Rust
Hochleistungsfähiger, treiberloser Windows-System- und API-Monitor in Rust.
Modernes strace und Echtzeit-Process-Monitor für Windows. In nativem Rust entwickelt, ohne Kernel-Treiber, mit einer Echtzeit-Terminal-Benutzeroberfläche (TUI) und ungepufferter Streaming-Ausgabe für Headless-Diagnosen.
powershell -ExecutionPolicy Bypass -File .\packaging\install.ps1
Installiert wstrace.exe nach $HOME\.local\bin und registriert das Verzeichnis in der Benutzer-Umgebungsvariable PATH.
winget install gilnett.wstrace
scoop install packaging/scoop/wstrace.json
cargo install --path .
Direkt mit der Rust-Toolchain kompilieren:
cargo build --release
Die resultierende eigenständige ausführbare Datei befindet sich unter target\release\wstrace.exe.
Bestätigen Sie, dass wstrace in der aktuellen Shell verfügbar ist:
wstrace --version
Startet die Zielanwendung mit einer Echtzeit-Ereignistabelle:
wstrace run <executable_path> [-- <arguments>...]
| Taste | Aktion | Beschreibung |
|---|---|---|
Ctrl+C | Auswahl kopieren | Kopiert die Details des hervorgehobenen Ereignisses in die Windows-Zwischenablage. |
Ctrl+A | Alle kopieren | Kopiert alle aktuell gefilterten Ereignisse in die Windows-Zwischenablage. |
Ctrl+E / Space | Pause / Fortsetzen | Friert die Ereignisansicht ein, ohne eingehende Telemetrie zu verwerfen. |
Ctrl+X | Puffer leeren | Leert die aktuelle Ereignisliste aus dem Anzeigepuffer. |
Tab | Kategorie wechseln | Filtert Ereignisse: ALL -> FILE -> REG -> NET -> PROC. |
f | Nur Fehler | Beschränkt die Ansicht auf fehlgeschlagene Vorgänge (z. B. Zugriff verweigert, nicht gefunden). |
Up / Down | Navigation | Wählt ein Ereignis zur Detailprüfung aus. |
q / Esc | Beenden | Beendet die Tracing-Sitzung sauber. |
Hängen Sie sich an einen bestehenden Prozess über die Prozesskennung (PID) oder den Binärnamen an, ohne ihn neu zu starten:
# Anhängen per PID
wstrace attach -p <PID>
# Anhängen per Name der Prozess-Binärdatei
wstrace attach -n <process_name.exe>
-C / --children)Verfolgt den Zielprozess und überwacht rekursiv alle von ihm gestarteten Kindprozesse:
wstrace -C run <executable_path> [-- <arguments>...]
--include und --exclude)Relevante Vorgänge isolieren oder Betriebssystem-Rauschen unterdrücken:
# Nur Vorgänge einschließen, die einem Teilstring entsprechen
wstrace --include "<substring>" run <executable_path>
# Vorgänge ausschließen, die einem Teilstring entsprechen
wstrace --exclude "<substring>" run <executable_path>
-m stream)Schreibt Live-Ereignisse direkt nach stdout mit ANSI-Farbcodes für Logging- oder CI/CD-Pipelines:
wstrace -m stream [-d <seconds>] run <executable_path>
--export-json)Exportiert alle erfassten Sitzungsereignisse beim Beenden in eine formatierte JSON-Datei:
wstrace --export-json <output_file.json> run <executable_path>
--copy / --to-clipboard)Kopiert alle erfassten Sitzungsereignisse beim Beenden automatisch direkt in die Windows-Zwischenablage:
wstrace --copy run <executable_path>
packaging/install.ps1)ToolHelp32Snapshot, OpenProcess, VirtualQueryEx) & Event Tracing for Windows (ETW).x86_64-pc-windows-msvc (Intel / AMD 64-Bit)aarch64-pc-windows-msvc (Qualcomm Snapdragon X / Windows on ARM)wstrace wurde entwickelt, um strenge institutionelle Anforderungen für den Einsatz in hochsicheren Unternehmensumgebungen (Bankwesen, Verteidigung, Gesundheitswesen und kritische Infrastruktur) zu erfüllen:
wstrace ist zu 100 % offline und eigenständig. Es unterhält keine Remote-Server, initiiert keinerlei Telemetrie oder Analysen und führt keine ausgehenden Netzwerkaufrufe durch. Alle sensiblen Daten, die während des Live-Tracings beobachtet werden (API-Token, Dateipfade, Anmeldedaten, Speicherinhalte), verbleiben streng im lokalen RAM und verlassen niemals die Workstation.
Im Gegensatz zu herkömmlichen Tracing-Werkzeugen, die .sys-Kernel-Treiber von Drittanbietern installieren – was Systemabsturzrisiken (Blue Screen of Death / BSOD) und Ring-0-Backdoor-Angriffsflächen mit sich bringt – arbeitet wstrace ohne Kernel-Treiber. Es stützt sich ausschließlich auf nicht-invasive Userland-Win32-Debugging- und native Windows-Kernel-ETW-Consumer-Schnittstellen.
Die Trace-Telemetrie ist streng durch die Windows-Benutzersitzung und die Grenzen der Mandatory Integrity Control (MIC) begrenzt. Unprivilegierte Benutzersitzungen können nicht auf Prozesse mit höherer Integrität zugreifen oder diese inspizieren, ohne explizite Administrator-Elevation, und halten sich strikt an das Prinzip der minimalen Rechte.