
Monitor autônomo de sistema e API do Windows com driver zero em Rust
Monitor de sistema e API do Windows de alto desempenho e sem driver, escrito em Rust.
strace moderno e Process Monitor em tempo real para Windows. Construído em Rust nativo sem necessidade de drivers de kernel, apresentando uma interface de usuário de terminal (TUI) em tempo real e streaming sem buffer para diagnósticos headless.
powershell -ExecutionPolicy Bypass -File .\packaging\install.ps1
Instala o wstrace.exe em $HOME\.local\bin e registra o diretório na variável de ambiente PATH do Usuário.
winget install gilnett.wstrace
scoop install packaging/scoop/wstrace.json
cargo install --path .
Compile diretamente usando o toolchain do Rust:
cargo build --release
O executável autônomo resultante está localizado em target\release\wstrace.exe.
Confirme que o wstrace está acessível no shell atual:
wstrace --version
Inicia a aplicação alvo com uma tabela de eventos em tempo real:
wstrace run <executable_path> [-- <arguments>...]
| Tecla | Ação | Descrição |
|---|---|---|
Ctrl+C | Copiar Selecionado | Copia os detalhes do evento destacado para a área de transferência do Windows. |
Ctrl+A | Copiar Tudo | Copia todos os eventos atualmente filtrados para a área de transferência do Windows. |
Ctrl+E / Space | Pausar / Retomar | Congela a visualização de eventos sem descartar a telemetria recebida. |
Ctrl+X | Limpar Buffer | Esvazia a lista de eventos atual do buffer de exibição. |
Tab | Ciclo de Categoria | Filtra eventos: ALL -> FILE -> REG -> NET -> PROC. |
f | Apenas Falhas | Restringe a visualização a operações com falha (ex.: acesso negado, não encontrado). |
Up / Down | Navegação | Seleciona um evento para inspeção detalhada. |
q / Esc | Sair | Encerra a sessão de rastreamento de forma limpa. |
Anexe a um processo existente pelo Identificador de Processo (PID) ou nome do binário sem reiniciá-lo:
# Attach by PID
wstrace attach -p <PID>
# Attach by process executable name
wstrace attach -n <process_name.exe>
-C / --children)Rastreia o processo alvo e monitora recursivamente todos os processos filhos gerados por ele:
wstrace -C run <executable_path> [-- <arguments>...]
--include e --exclude)Isole operações relevantes ou suprima o ruído do sistema operacional:
# 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)Escreve eventos ao vivo diretamente no stdout com códigos de cor ANSI para logging ou pipelines de CI/CD:
wstrace -m stream [-d <seconds>] run <executable_path>
--export-json)Exporta todos os eventos capturados da sessão para um arquivo JSON formatado ao encerrar:
wstrace --export-json <output_file.json> run <executable_path>
--copy / --to-clipboard)Copia automaticamente todos os eventos capturados da sessão diretamente para a área de transferência do Windows ao sair:
wstrace --copy run <executable_path>
packaging/install.ps1)ToolHelp32Snapshot, OpenProcess, VirtualQueryEx) e Event Tracing for Windows (ETW).x86_64-pc-windows-msvc (Intel / AMD 64-bit)aarch64-pc-windows-msvc (Qualcomm Snapdragon X / Windows on ARM)O wstrace foi projetado para atender a requisitos institucionais rigorosos para implantação em ambientes empresariais de alta segurança (bancos, defesa, saúde e infraestrutura crítica):
O wstrace é 100% offline e autônomo. Ele não mantém servidores remotos, não inicia telemetria ou análises e não realiza chamadas de rede de saída. Quaisquer dados sensíveis observados durante o rastreamento ao vivo (tokens de API, caminhos de arquivos, credenciais, conteúdos de memória) permanecem estritamente confinados à RAM local e nunca deixam a estação de trabalho.
Ao contrário dos utilitários de rastreamento tradicionais que instalam drivers de kernel .sys de terceiros — introduzindo riscos de travamento do sistema (Blue Screen of Death / BSOD) e superfícies de ataque de backdoor em ring-0 — o wstrace opera com zero drivers de kernel. Ele depende exclusivamente de depuração userland Win32 não invasiva e interfaces nativas de consumidor ETW do Kernel do Windows.
A telemetria de rastreamento é estritamente limitada pela sessão de usuário do Windows e pelos limites do Mandatory Integrity Control (MIC). Sessões de usuário sem privilégios não podem acessar ou inspecionar processos de integridade superior sem elevação explícita de administrador, aderindo estritamente ao princípio do menor privilégio.