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는 다양한 OS 버전에 걸쳐 Microsoft Windows 바이너리의 변경 사항을 추적하고 비교하는 방법을 제공합니다. 이는 Windows 업데이트에서 나타나는 새로운 기호, 유형 및 시스템 콜을 식별하는 과정을 단순화하며, 이는 보안 연구원에게 수동적이고 지루한 과정입니다.

작동 방식

이 프로젝트는 Rust로 작성된 CLI 도구로 구성되며, 이 도구는 Winbindex를 통해 PE 및 PDB 파일을 다운로드하고 resym을 사용하여 유형을 재구성하여 압축된 JSON 데이터베이스를 생성합니다. 그런 다음 Next.js 웹 프론트엔드가 이 데이터를 시각화하여 사용자가 바이너리를 탐색하고 비교할 수 있도록 합니다. 또한, Python 기반의 diff 도우미 스크립트를 사용하여 버전 간 변경 사항에 대한 구조화된 JSON 보고서를 생성할 수 있습니다.

대상 독자

이 도구는 주로 호환성을 유지하거나 새로운 공격 벡터를 찾기 위해 Windows 내부 변경 사항을 이해해야 하는 취약성 연구원, 안티 멀웨어/EDR 개발자 및 안티 치트 개발자를 위해 설계되었습니다.

하이라이트

  • 자동 업데이트: GitHub Actions를 사용하여 매일 최신 Windows 업데이트 및 Insider Previews를 가져옵니다.
  • Agent-Ready: Claude Code 또는 Codex와 같은 AI 어시스턴트가 바이너리 diff 분석을 자동화하고 결과를 해석할 수 있도록 하는 "Agent Skill"이 포함되어 있습니다.
  • 상세 분석: 내보내기, 기호, 모듈, 시스템 콜 및 복잡한 유형/비트필드 변경 사항을 추적합니다.
  • 웹 기반 시각화: 버전 간 바이너리 정보를 탐색하기 위한 사용자 친화적인 인터페이스를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트