Synalyze It! Pro
For some time now, I’ve been using Synalyze It! Pro (http://www.synalysis.net) to do some hex editing and binary file hacking. (Save game hacking, emulator ROM hacking, and such) What became apparent to me was that I was largely uninterested in changing values and seeing the results of said work (ie. a cheated save file), but more in mapping out how things were laid out. Synalyze It! and its Pro version has a feature that differed it from other hex editors: the ability to keep track of the general layout of a binary file, termed a “grammar”.
For those unfamiliar, a Synalyze It! grammar is an XML file that documents data structures and such that may occur in a file of a certain file format. The base version allows for mapping integers, strings, binary data, structures, references to structures, and offsets to structures. The Pro version allows more advanced options, including the integration of Python and Lua code in various ways. Furthermore, the Pro version also allows for referencing grammars inside other grammars, which sometimes proves useful.
So, this page is going to be the starting point of the Random Collection’s musings on this utility, for which I have contributed many things to enhance the usability therein.
- Little Endian Bitfields – Why parsing a bitfield encoded in a little-endian integer is extremely difficult.