Moniteur système et API Windows autonome sans pilote en Rust
Moniteur système et API Windows haute performance sans pilote en Rust.
strace moderne et Process Monitor en temps réel pour Windows. Développé en Rust natif sans nécessiter de pilotes noyau, avec une interface utilisateur terminal (TUI) en temps réel et un streaming non tamponné pour les diagnostics sans interface graphique.
powershell -ExecutionPolicy Bypass -File .\packaging\install.ps1
Installe wstrace.exe dans $HOME\.local\bin et enregistre le répertoire dans la variable d'environnement PATH de l'utilisateur.
winget install gilnett.wstrace
scoop install packaging/scoop/wstrace.json
cargo install --path .
Compilez directement à l'aide de la chaîne d'outils Rust :
cargo build --release
L'exécutable autonome résultant se trouve à l'emplacement target\release\wstrace.exe.
Confirmez que wstrace est accessible dans le shell actuel :
wstrace --version
Lance l'application cible avec une table d'événements en temps réel :
wstrace run <executable_path> [-- <arguments>...]
| Touche | Action | Description |
|---|---|---|
Ctrl+C | Copier la sélection | Copie les détails de l'événement sélectionné dans le presse-papiers Windows. |
Ctrl+A | Tout copier | Copie tous les événements actuellement filtrés dans le presse-papiers Windows. |
Ctrl+E / Space | Pause / Reprendre | Gèle l'affichage des événements sans perdre la télémétrie entrante. |
Ctrl+X | Vider le tampon | Vide la liste d'événements actuelle du tampon d'affichage. |
Tab | Cycle de catégorie | Filtre les événements : ALL -> FILE -> REG -> NET -> PROC. |
f | Échecs uniquement | Restreint la vue aux opérations échouées (par ex. accès refusé, introuvable). |
Up / Down | Navigation | Sélectionne un événement pour une inspection approfondie. |
q / Esc | Quitter | Met fin proprement à la session de traçage. |
S'attache à un processus existant par identifiant de processus (PID) ou par nom de binaire sans le redémarrer :
# Attach by PID
wstrace attach -p <PID>
# Attach by process executable name
wstrace attach -n <process_name.exe>
-C / --children)Suit le processus cible et surveille récursivement tous les processus enfants qu'il engendre :
wstrace -C run <executable_path> [-- <arguments>...]
--include et --exclude)Isoler les opérations pertinentes ou supprimer le bruit du système d'exploitation :
# Include only operations matching a substring
wstrace --include "<substring>" run <executable_path>
# Exclude operations matching a substring
wstrace --exclude "<substring>" run <executable_path>
-m stream)Écrit les événements en direct directement sur stdout avec des codes couleur ANSI pour la journalisation ou les pipelines CI/CD :
wstrace -m stream [-d <seconds>] run <executable_path>
--export-json)Exporte tous les événements de la session capturés vers un fichier JSON formaté à la fin de l'exécution :
wstrace --export-json <output_file.json> run <executable_path>
--copy / --to-clipboard)Copie automatiquement tous les événements de la session capturés directement dans le presse-papiers Windows à la sortie :
wstrace --copy run <executable_path>
packaging/install.ps1)ToolHelp32Snapshot, OpenProcess, VirtualQueryEx) et Event Tracing for Windows (ETW).x86_64-pc-windows-msvc (Intel / AMD 64 bits)aarch64-pc-windows-msvc (Qualcomm Snapdragon X / Windows on ARM)wstrace est conçu pour répondre aux exigences strictes des institutions en matière de déploiement dans des environnements d'entreprise à haute sécurité (banque, défense, santé et infrastructures critiques) :
wstrace est 100 % hors ligne et autonome. Il ne maintient aucun serveur distant, n'initie aucune télémétrie ni analyse, et n'effectue aucun appel réseau sortant. Toute donnée sensible observée lors du traçage en direct (jetons d'API, chemins de fichiers, identifiants, contenus mémoire) reste strictement confinée à la RAM locale et ne quitte jamais le poste de travail.
Contrairement aux utilitaires de traçage traditionnels qui installent des pilotes noyau .sys tiers — introduisant des risques de plantage système (Blue Screen of Death / BSOD) et des surfaces d'attaque de porte dérobée en ring-0 — wstrace fonctionne sans aucun pilote noyau. Il s'appuie exclusivement sur le débogage Win32 non invasif en espace utilisateur et sur les interfaces natives de consommation ETW du noyau Windows.
La télémétrie de traçage est strictement délimitée par la session utilisateur Windows et les frontières du Mandatory Integrity Control (MIC). Les sessions utilisateur non privilégiées ne peuvent pas accéder aux processus de haute intégrité ni les inspecter sans élévation explicite des privilèges administrateur, conformément au principe du moindre privilège.