A tool to help reverse-engineer binary file formats.
The tool would be a GUI with two panes. In the right-hand pane, there is a hex dump window. On the top of the hex dump, there are tabs, one for each sample document you want to investigate.
On the left-hand pane, would be a text editor, in which you type ‘theories’ about the file structure in a formal language, much like C struct declarations but with data values specified as well. So for example, a theory might be “the first 8 bytes of the file are a signature containing these bytes”.
As you update your theories, it checks them against the sample documents, and colorizes the hex dump in accordance with whether or not it matches your theory.