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 助手自动化二进制文件差异比对的分析并解读结果。
- 详细分析:追踪导出、符号、模块、系统调用以及复杂类型/位域的变更。
- 网页可视化:提供一个用户友好的界面,用于跨版本浏览二进制文件信息。
相关
- 项目
- 项目
- 项目
- 项目
- 项目