Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
windiff — 異なるバージョンのOSにわたって、Microsoft Windowsバイナリのシンボル、タイプ、およびシステムコール情報を、Web UIやLLMを使って比較できるツール。 | Kitploit
ツール/GitHubGitHub/ergrelet/windiff
脆弱性分析リバースエンジニアリング情報収集バイナリ解析
GitHubergrelet/windiff

windiff

異なるバージョンのOSにわたって、Microsoft Windowsバイナリのシンボル、タイプ、およびシステムコール情報を、Web UIやLLMを使って比較できるツール。

リポジトリを見るウェブサイト
392212日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

WinDiff

概要

WinDiff は、Microsoft Windows バイナリのシンボル、型、システムコール情報を OS の異なるバージョン間で参照・比較できる、オープンソースの Web ベースツールです。バイナリデータベースは自動的に更新され、最新の Windows アップデート(Insider Preview を含む)の情報が反映されます。

ntdiff に触発され、Winbindex の助けを借りて実現しました。

スクリーンショット

WinDiff のスクリーンショット

仕組み

WinDiff は、Rust で書かれた CLI ツールと、Next.js フレームワークを用いた TypeScript で書かれた Web フロントエンドの 2 つの部分から構成されています。

CLI ツールは、設定ファイルから圧縮 JSON データベースを生成するために使用され、Winbindex に依存して必要な PE(および PDB)を検索・ダウンロードします。型は resym を使って再構築されます。CLI ツールの背後にある考え方は、Windows の新しいバージョンがリリースされるたびに、データベースを簡単に更新・再生成できるようにすることです。CLI ツールのコードは windiff_cli ディレクトリにあります。

フロントエンドは、CLI ツールで生成されたデータをユーザーフレンドリーな方法で可視化するために使用されます。フロントエンドは ntdiff と同じ原理に従い、特定のバージョンの Microsoft Windows 向けの公式 Microsoft PE および PDB から抽出された情報を参照でき、さらにバージョン間でこの情報を比較できます。フロントエンドのコードは windiff_frontend ディレクトリにあります。

スケジュールされた GitHub Actions が毎日 Winbindex から新しいアップデートを取得し、WinDiff のライブバージョンを生成するために使用される設定ファイルを更新します。現在、(無料プランの)ストレージと計算リソースの制限により、ライブバージョンでは 1 年未満の KB および Insider Preview アップデートのみ が保持されています。もちろん、必要であればこれらの制限なしに、自分で WinDiff のローカルバージョンを再構築することもできます。それについては次のセクションを参照してください。

注意: Winbindex はインデックスされたすべてのファイルに対して一意のダウンロードリンクを提供するわけではないため、一部の 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 にありますが、カスタマイズしたり独自のものを使用することもできます。ライブ設定で追跡する新しいバイナリを追加する PR は歓迎します。

セキュリティリサーチスキル (Claude Code)

このリポジトリには、WinDiff を自動化されたセキュリティリサーチアシスタントに変える エージェントスキル が同梱されています。差分 UI を自分でクリックしなくても、Claude Code に 2 つの Windows バージョンを比較させ、何が変わったか、そしてそれが なぜ重要なのか を説明させることができます。

スキルは .claude/skills/windiff-version-diff-analysis/ にあります。このリポジトリを Claude Code で開くと自動的に読み込まれ、以下のようなリクエストに応答します:

  • "ntoskrnl.exe を 21H2 と 24H2 で比較して、新機能を教えて。"
  • "この Windows アップデートで追加された新しいシステムコールやプロセス緩和策は?"
  • "win32k.sys / ci.dll で EDR やアンチチートに影響する変更は?"

2 つのバージョンが指定されると、スキルは windiff_cli を駆動してデータベースを生成し、差分を取り、Windows 内部知識(API プレフィックス、コンポーネントの役割)を使って解釈したレポートを生成します。レポートは マルウェア対策/EDR 開発者、アンチチート開発者、脆弱性研究者 の 3 つの対象者向けにフレーミングされ、新しいシステムコール、新しい緩和フラグ(匿名ビットフィールド構造体内に隠れたものも含み、_EPROCESS::MitigationFlags2Values などの親にリンク)、新しい ETW/脅威インテリジェンステレメトリとカーネルコールバック、コード整合性の変更、そしてまったく新しいコンポーネントを強調します。

以下は、プロンプト "ntoskrnl.exe を 25H2 と 26H1 で比較して、新機能を教えて。レポートはマークダウンファイルに書いて。" に対して Claude Opus 4.7 が生成したレポートです: 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 を参照してください。

ツールをダウンロード