This is a very useful hex viewer/editor which can view any file and has some handy features which
make it easier to reverse engineer binary file formats. I regularly use it myself to reverse engineer
a variety of GIS and Geophysics file formats.
Screen capture of HexToolkit 2.12 (Jan 2008), .NET version
Features
Works easily with large binary files (up to 2Gb) since only the viewed page of data is loaded.
Since the file is only accessed when loading or saving a page of data, the file is not locked.
String/byte search (string search is not case sensitive).
Goto file offset and increment/decrement by fixed amount.
Change the number of bytes per display line to make it easier to see patterns in the file.
Swap data display to show ASCII or EBCDIC characters, integers, floats, doubles, or binary.
Reload the displayed data with a single button press (changed bytes are highlighted in red).
Bytes-to-value conversion tool (integer, float, double, characters, binary) with optional byte swap. (Use Ctrl-C and Ctrl-V to copy bytes and paste them into this tool).
Built-in expression calculator (mixed hex/decimal supported) with numeric (+,-,/,*) and bit-wise operators (>>, <<, &, |, ^).
When you click on byte in the data window, the offset in the file is shown on the status bar.
Ability to write edited page of data back to the file.
Ability to export a hex dump using your chosen layout to a text file.
Suggestion: Using Windows explorer browse to C:\Documents and Settings\xxx\SendTo (where xxx is your username) and right-click to add a new shortcut.
Set the shortcut to point to HexToolkit.exe. Now whenever you're browsing and you want to view a file in HexToolkit, just right-click on the file and choose SendTo -> HexToolkit.
Click here for a picture of how this works.
For my notes and tips on the reverse engineering process click here.
If you have any suggestions or feedback you can email me here.