wiki:StructuredBinaryData

Version 5 (modified by Sean Bartell, 14 years ago) ( diff )

add a few tools and an outline

Structured Binary Data

This page will document my thoughts and design ideas for the structured binary data project. The project aims to address #317; a description of my overall approach can be found on the ​GSoC project page.

Existing Tools

I am researching existing tools related to my project, so they can be used for inspiration.

​Construct

TODO looks promising. Also look at issues and forks.

​BinData

TODO looks promising.

​Wireshark Generic Dissector

The length and real value of a field can depend on all previous fields and use complex expressions. Structures can contain if/while/continue/break/… statements.

Less interesting tools

​Wireshark and ​tcpdump
As the Construct wiki notes, you would expect these developers to have some sort of DSL, but they just use C for everything. Wireshark does use ASN.1, Diameter, and MIDL for protocols developed with them.
​Okteta
Has an XML format for simple structures, where the length of a field can depend on a previous value. Also has an on‐line database of structures, but it isn’t very popular—there are only nine submissions!
Other simple formats
​ffe can only handle trivial structures. ​Python’s struct and ​VStruct use concise string formats to describe simple structures.
Other hex editors
​Beye, ​Bless, and ​GHex lack interesting features.
Protocol definition formats
​ASN.1, ​MIDL, and other IPC implementations go in the other direction: they generate a binary format from a text description of a structure. ASN.1 in particular has many features.
Note: See TracWiki for help on using the wiki.