ergrelet/windiff

Tool that allows comparing symbol, type and syscall information of Microsoft Windows binaries across different versions of the OS, using a Web UI and/or LLMs.

解決的問題

WinDiff 提供了一種方法來追蹤和比較不同作業系統版本之 Microsoft Windows 二進位檔案的變更。它簡化了識別 Windows 更新中出現的新符號、型別和系統呼叫的過程,這對安全研究人員來說原本是一個手動且繁瑣的過程。

運作方式

該專案包含一個以 Rust 撰寫的 CLI 工具,它透過 Winbindex 下載 PE 和 PDB 檔案,並使用 resym 重建型別以建立壓縮的 JSON 資料庫。然後由 Next.js 網頁前端視覺化這些資料,讓使用者能夠瀏覽和比較二進位檔案。此外,還有一個基於 Python 的差異比對輔助腳本,可用於產生版本間變更的結構化 JSON 報告。

適用對象

此工具主要為漏洞研究人員、反惡意軟體/EDR 開發人員以及反作弊開發人員設計,他們需要了解 Windows 內部變更以維持相容性或尋找新的攻擊向量。

亮點

  • 自動更新:使用 GitHub Actions 每日取得最新的 Windows 更新和 Insider Previews。
  • Agent-Ready:包含一個「Agent Skill」,允許如 Claude Code 或 Codex 等 AI 助理自動化二進位檔案差異比對的分析並解讀結果。
  • 詳細分析:追蹤匯出、符號、模組、系統呼叫以及複雜型別/位元欄位的變更。
  • 網頁視覺化:提供一個使用者友善的介面,用於跨版本瀏覽二進位檔案資訊。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案