Would you like to compare different versions of Windows system binaries (.exe, .dll, etc.) to determine changes and updates made over time? You may need this information for security reasons, debugging software with minor incompatibilities on different Windows versions, or simply out of curiosity. Regardless of your purpose, WinDiff is here to simplify your task.
WinDiff is an open-source web tool that allows you to browse and compare information about symbols and types of binaries present in Windows, including the various existing OS versions. Comprising a Rust-based command-line interface (CLI) tool and a TypeScript frontend web interface, WinDiff uses Winbindex to locate and download the required PEs and PDBs. It automatically updates with the latest Windows updates and provides a user-friendly interface for data viewing. You can also test it here.
To use WinDiff, begin by installing Rust 1.68+ and Node.js 16.8+ on your machine if you haven’t already. Then follow these steps:
- Clone the GitHub repository:
git clone https://github.com/ergrelet/windiff.git
- Navigate to the cloned directory:
- Run the frontend build script:
- Customize the configuration file if necessary (ci/db_configuration.json).
- Pull Requests (PRs) to add new binaries to the live version are also welcome for the most motivated among you.
Once you have completed these steps, you will be able to launch WinDiff and start exploring Microsoft Windows binaries.
WinDiff’s user interface is simple and beginner-friendly. You can select the Windows versions you want to compare and then browse information about the symbols and types of the binaries. The data is presented in a clear and organized manner, making it easy to understand the differences between versions.
In summary, WinDiff is a valuable tool for anyone who wants to compare and analyze Microsoft Windows binaries based on operating system versions. Whether you’re a security professional, a developer, or just curious, WinDiff can help you better understand how Windows has changed over time.