Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
windiff — Инструмент, который позволяет сравнивать информацию о символах, типах и системных вызовах бинарных файлов Microsoft Windows в разных версиях ОС, используя веб-интерфейс и/или LLM. | Kitploit
Инструменты/GitHubGitHub/ergrelet/windiff
Анализ уязвимостейОбратная инженерияСбор информацииАнализ Бинарных Файлов
GitHubergrelet/windiff

windiff

Инструмент, который позволяет сравнивать информацию о символах, типах и системных вызовах бинарных файлов Microsoft Windows в разных версиях ОС, используя веб-интерфейс и/или LLM.

Репозиторий
392212 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

WinDiff

О программе

WinDiff — это веб-инструмент с открытым исходным кодом, который позволяет просматривать и сравнивать информацию о символах, типах и системных вызовах двоичных файлов Microsoft Windows в разных версиях операционной системы. База данных двоичных файлов автоматически обновляется, включая информацию из последних обновлений Windows (включая Insider Preview).

Инструмент вдохновлён ntdiff и стал возможен благодаря Winbindex.

Скриншот

Скриншот WinDiff

Как это работает

WinDiff состоит из двух частей: инструмента командной строки на Rust и веб-интерфейса на TypeScript с использованием фреймворка Next.js.

Инструмент командной строки используется для создания сжатых JSON-баз данных на основе файла конфигурации и полагается на Winbindex для поиска и загрузки необходимых PE-файлов (и PDB). Типы восстанавливаются с помощью resym. Идея инструмента командной строки заключается в возможности легко обновлять и пересоздавать базы данных по мере выхода новых версий Windows. Код инструмента командной строки находится в каталоге windiff_cli.

Внешний интерфейс используется для визуализации данных, сгенерированных инструментом командной строки, в удобном для пользователя виде. Интерфейс следует тому же принципу, что и ntdiff: он позволяет просматривать информацию, извлечённую из официальных Microsoft PE и PDB для определённых версий Microsoft Windows, а также сравнивать эту информацию между версиями. Код внешнего интерфейса находится в каталоге windiff_frontend.

Запланированное действие GitHub ежедневно получает новые обновления из Winbindex и обновляет файл конфигурации, используемый для генерации живой версии WinDiff. В настоящее время из-за ограничений (бесплатных планов) по хранилищу и вычислительным ресурсам в живой версии сохраняются только обновления KB и Insider Preview за последние менее года. Вы, конечно, можете самостоятельно пересобрать локальную версию WinDiff без этих ограничений, если это необходимо. См. следующий раздел.

Примечание: Winbindex не предоставляет уникальные ссылки для загрузки для 100% проиндексированных файлов, поэтому может случиться, что информация о некоторых PE-файлах будет недоступна в WinDiff. Однако, как только эти PE-файлы появятся на VirusTotal, Winbindex сможет предоставить для них уникальные ссылки для загрузки, и они будут автоматически интегрированы в WinDiff.

Как собрать

Предварительные требования

  • Rust 1.85 или новее
  • Node.js 20.9 или новее

Командная строка

Полная сборка WinDiff «самодокументирована» в ci/build_frontend.sh, который является скриптом сборки для создания живой версии WinDiff. Вот его содержимое:

root@kitploit:~
# Resolve the project's root folder
PROJECT_ROOT=$(git rev-parse --show-toplevel)

# Generate databases
cd "$PROJECT_ROOT/windiff_cli"
cargo run --release "$PROJECT_ROOT/ci/db_configuration.json" "$PROJECT_ROOT/windiff_frontend/public/"

# Build the frontend
cd "$PROJECT_ROOT/windiff_frontend"
npm ci
npm run build

Файл конфигурации, используемый для генерации данных для живой версии WinDiff, находится здесь: ci/db_configuration.json, но вы можете изменить его или использовать свой собственный. Приветствуются пул-реквесты, направленные на добавление новых двоичных файлов для отслеживания в живой конфигурации.

Навык исследования безопасности (Claude Code)

Репозиторий содержит агентский навык, который превращает WinDiff в автоматизированного ассистента по исследованию безопасности. Вместо того чтобы самостоятельно щёлкать по интерфейсу сравнения, вы можете попросить Claude Code сравнить две версии Windows и описать, что изменилось — и почему это важно.

Навык находится в .claude/skills/windiff-version-diff-analysis/. Когда вы открываете этот репозиторий в Claude Code, он загружается автоматически и срабатывает на запросы вроде:

  • «Сравни ntoskrnl.exe между 21H2 и 24H2 и расскажи, что нового.»
  • «Какие новые системные вызовы или средства смягчения процессов появились в этом обновлении Windows?»
  • «Что изменилось в win32k.sys / ci.dll, что важно для EDR или античита?»

Для двух версий навык запускает windiff_cli, чтобы сгенерировать базы данных, сравнивает их и создаёт отчёт, который интерпретирует дельту сырых символов/типов/системных вызовов, используя знания внутреннего устройства Windows (префиксы API, роли компонентов), и предназначен для трёх аудиторий: разработчиков антивирусов/EDR, разработчиков античита и исследователей уязвимостей. Он выделяет новые системные вызовы, новые флаги смягчения (включая биты, скрытые внутри анонимных битовых полей, со ссылкой на родителя, например _EPROCESS::MitigationFlags2Values), новую телеметрию ETW/Threat Intelligence и коллбэки ядра, изменения целостности кода и совершенно новые компоненты.

Вот отчёт, сгенерированный Claude Opus 4.7 по запросу «Сравни ntoskrnl.exe между 25H2 и 26H1 и расскажи, что нового. Напиши отчёт в файле Markdown»: ntoskrnl_25H2_to_26H1.md

Использование помощника сравнения без Claude Code

Базовая логика сравнения навыка — это отдельный скрипт Python без зависимостей, который можно использовать самостоятельно с любыми базами данных, созданными windiff_cli:

root@kitploit:~
# List the OS versions / binaries available in a database directory
python3 .claude/skills/windiff-version-diff-analysis/scripts/windiff_diff.py \
  windiff_frontend/public --list

# Diff one binary between two OS versions ("version_update_architecture" suffixes)
python3 .claude/skills/windiff-version-diff-analysis/scripts/windiff_diff.py \
  windiff_frontend/public ntoskrnl.exe 21H2_BASE_amd64 22H2_BASE_amd64

Он выводит удобочитаемую сводку в stderr и структурированный JSON (добавленные/удалённые экспорты, символы, модули, системные вызовы и изменения типов/битовых полей) в stdout. Полный рабочий процесс и справочные материалы см. в SKILL.md навыка.

Скачать инструмент