Can anyone recommend a good tool for exploring and decoding other binary formats? I am interested in analysis of non-code binary data.
Can anyone recommend a good tool for exploring and decoding other binary formats? I am interested in analysis of non-code binary data.
A tool that interactively generates a parser for these would be great.
With struct you write a string that describes the data and the modules packs/unpacks the bytes. For example you can do: struct.unpack(">4sBhLq", data) and you are asking struct to parse a 19 byte long string, data (it has to be strictly 19 btyes), because you expect the following:
* ">" big endian data * "4s" a 4 byte field to read as a string * "B" one unsigned byte * "h" one signed short (2 bytes) * "L" one unsigned long (4 bytes) * "q" one signed quad (8 bytes)
I haven't read of anything that's automatic, if you have the API or some docs this is the closest I can think of. Of course, the online help of Python covers this module to greater detail: https://docs.python.org/2/library/struct.html