
Автономный системный и API-монитор для Windows без драйверов на Rust
Высокопроизводительный монитор системы и API Windows без драйверов на Rust.
Современный strace и Process Monitor в реальном времени для Windows. Написан на нативном Rust и не требует драйверов ядра, включает терминальный пользовательский интерфейс (TUI) в реальном времени и небуферизованную потоковую передачу для диагностики без графического интерфейса.
Сторонние драйверы ядра (.sys) создают риск краха системы (BSOD), расширяют поверхность атаки и требуют исключений для подписи драйверов, запрещённых в корпоративных средах. wstrace работает на 100% в пользовательском режиме, используя неинвазивные отладочные API Win32 и нативные интерфейсы Windows ETW.
Стандартные учётные записи пользователей могут запускать и трассировать любую цель через wstrace run <binary>. Порождаемые дочерние процессы напрямую наследуют отладочные дескрипторы (PROCESS_ALL_ACCESS) без запросов UAC. Телеметрия для модулей, потоков, сокетов и ввода-вывода полностью опирается на непривилегированные API Win32.
Повышение прав — это ускоритель, а не шлагбаум:
run, attach (пользовательская сессия), дочерних процессов (-C), интерактивного TUI и потоковой передачи.wstrace all) для мониторинга фоновых служб ОС и системных демонов.Выполните в PowerShell, чтобы автоматически установить последний релиз в $HOME\.local\bin и добавить его в пользовательский PATH:
irm https://raw.githubusercontent.com/gilnett/wstrace/main/packaging/install.ps1 | iex
Установка через персональный bucket:
scoop bucket add gilnett https://github.com/gilnett/scoop-bucket
scoop install wstrace
Или установите напрямую по URL:
scoop install https://raw.githubusercontent.com/gilnett/wstrace/main/packaging/scoop/wstrace.json
Скачайте предварительно скомпилированные автономные бинарные файлы со страницы GitHub Releases.
Установите напрямую с GitHub:
cargo install --git https://github.com/gilnett/wstrace.git
Или соберите локально из клонированного репозитория:
cargo build --release
Итоговый бинарный файл находится по пути target\release\wstrace.exe.
[!NOTE] Манифесты Winget и Scoop автоматически синхронизируются с опубликованными GitHub Releases.
[!NOTE] Официальная заявка на пакет в настоящее время проходит проверку и верификацию в microsoft/winget-pkgs. После одобрения и слияния модераторами сообщества его можно будет установить напрямую через:
winget install gilnett.wstrace
scoop install .\packaging\scoop\wstrace.json
Убедитесь, что wstrace доступен в текущей оболочке:
wstrace --version
Запустите целевой исполняемый файл с телеметрией Win32 и системы в реальном времени:
wstrace run <executable_path> [-- <arguments>...]
| Клавиша | Действие | Описание |
|---|---|---|
Ctrl+C | Копировать выбранное | Копирует сведения о выделенном событии в буфер обмена Windows. |
Ctrl+A | Копировать всё | Копирует все текущие отфильтрованные события в буфер обмена Windows. |
Ctrl+E / Space | Пауза / Продолжить | Замораживает представление событий без потери входящей телеметрии. |
Ctrl+X | Очистить буфер | Очищает текущий список событий из буфера отображения. |
Tab | Циклическое переключение категорий | Фильтрует события: ALL -> FILE -> REG -> NET -> PROC. |
f | Только сбои | Ограничивает представление неудачными операциями (например, доступ запрещён, не найдено). |
Up / Down | Навигация | Выбирает событие для детального изучения. |
q / Esc | Выход | Корректно завершает сеанс трассировки. |
Отслеживайте активные процессы, новые запуски, завершения и загруженные модули в масштабе всей системы в режиме реального времени:
wstrace all
Присоединитесь к существующему процессу по PID или имени бинарного файла без его перезапуска:
# Attach by PID
wstrace attach -p <PID>
# Attach by process name
wstrace attach -n <process_name.exe>
Записывает события в реальном времени напрямую в stdout с ANSI-кодами цвета:
wstrace -m stream [-d <seconds>] run <executable_path>
Полное руководство и расширенные параметры: Для расширенной фильтрации путей (
--include/--exclude), отслеживания дочерних процессов (-C), отчётов JSON (--export-json), экспорта в буфер обмена (--copy) и параметров написания скриптов обратитесь к Справочному руководству CLI или выполнитеwstrace --help.
packaging/install.ps1)ToolHelp32Snapshot, OpenProcess, VirtualQueryEx) и трассировка событий Windows (ETW).x86_64-pc-windows-msvc (Intel / AMD 64-бит)aarch64-pc-windows-msvc (Qualcomm Snapdragon X / Windows on ARM)wstrace разработан для соответствия строгим институциональным требованиям при развёртывании в высокозащищённых корпоративных средах (банковское дело, оборонная отрасль, здравоохранение и критическая инфраструктура):
wstrace на 100% работает офлайн и автономно. Он не использует удалённые серверы, не инициирует телеметрию или аналитику и не выполняет исходящих сетевых вызовов. Любые конфиденциальные данные, наблюдаемые при трассировке в реальном времени (API-токены, пути к файлам, учётные данные, содержимое памяти), строго остаются в локальной оперативной памяти и никогда не покидают рабочую станцию.