A(nother) binary diff tool, targeted toward decompilation and modding projects.
- Automatic reload of opened files on change
- Pairwise byte diff display (vbindiff style)
- String, data viewer for various formats and encodings
- Support for displaying symbol information from binaries by parsing .map files via mapfile_parser
bdiff is currently in the very early stages of development. See the issues for planned features.
There's a million other hex viewers out there. Most people in the game decompilation scene use vbindiff, a very dependable but somewhat feature-sparse tool. Over the years, I've started wishing for little things here and there that I wish it could do, and I've also been looking to learn Rust.
To provide a more convenient experience, projects can specify a "bdiff.json" configuration file which defines a workspace configuration for the program. An example config follows:
{
"files": [
{
"path": "C:\\somethin.z64",
"map": "C:\\somethin.map",
},
{
"path": "C:\\another.z64",
"map": "C:\\another.map",
}
]
}
So far, the configuration format simply consists of a list of files to open (files
).
For each file, there are two fields:
path
: The path to the filemap
(optional): The path to a GNU ld or Clang lld .map file, to be parsed so symbol information is displayed in the viewer