windiff v1.3 releases: allows browsing and comparing symbol and type information of Microsoft Windows binaries

Windows binaries

WinDiff

WinDiff is an open-source web-based tool that allows browsing and comparing symbol and type information of Microsoft Windows binaries across different versions of the operating system. The binary database is automatically updated to include information from the latest Windows updates.

It was inspired by ntdiff and made possible with the help of Winbindex.

How It Works

WinDiff is made of two parts: a CLI tool written in Rust and a web frontend written in TypeScript using the Next.js framework.

The CLI tool is used to generate compressed JSON databases out of a configuration file and relies on Winbindex to find and download the required PEs (and PDBs). Types are reconstructed using resym . The idea behind the CLI tool is to be able to easily update and regenerate databases as new versions of Windows are released. The CLI tool’s code is in the windiff_cli directory.

The frontend is used to visualize the data generated by the CLI tool, in a user-friendly way. The frontend follows the same principle asntdiff, as it allows browsing information extracted from official Microsoft PEs and PDBs for certain versions of Microsoft Windows and also allows comparing this information between versions. The frontend’s code is in the windiff_frontend directory.

A scheduled GitHub action fetches new updates from Winbindex every day and updates the configuration file used to generate the live version of WinDiff. Currently, because of (free plans) storage and compute limitations, only KB updates less than one year old are kept for the live version. You can of course rebuild a local version of WinDiff yourself, without those limitations if you need to. See the next section for that.

Note: Winbindex doesn’t provide unique download links for 100% of the indexed files, so it might happen that some PEs’ information are unavailable in WinDiff because of that. However, as soon as these PEs are on VirusTotal, these will be integrated into WinDiff automatically.

Changelog v1.3

Added

  • Ability to fetch Insider Preview updates for Windows 11

Changed

  • Show OS build numbers for OS updates (instead of the KB number for KB updates)

Download

Copyright (C) Erwan Grelet