BDEC project aimed to define custom binary formats using a markup language.
Bdec solves this issue by allowing arbitrary binary formats to be specified in a markup language. It can automatically create a decoder and encoder for the binary format using the high-level specification. The bdec xml specification uses constructs akin to the constructs in ASN.1.
The software consists of a decoding/encoding library and command line decoding and encoding applications. With the command-line application, users can obtain an xml representation of the binary file's data based on the specification provided. The output generated can be converted back to binary for some representations.
The bdec library can create both an xml output and a Python object representation of constructs contained in the binary data. One example is generating an xml representation of a FAT bootsector by running this command: "dd if=/dev/sda1 bs=512 count=1 | decode bootsector.xml".
Version 0.5.3: N/A