Reverse Engineering the BDX Format

The BDX file format is an obscure binary container for musical data. To preserve these songs, I decided to reverse engineer the specification and write a converter to standard MIDI.

The Challenge

placeholder

Analyzing the Hex Dump

The first step was opening the file in a Hex Editor. I immediately noticed a pattern in the first few bytes.

[Image: Screenshot of Hex Editor View]

placeholder (BBDX1234)

The Script

Once I mapped out the byte structure, I wrote a Python script to parse the data chunks.

def parse_bdx(file_path):
    with open(file_path, 'rb') as f:
        header = f.read(4)
        print(f"Header: {header.hex()}")

        # [proper logic here]

The Result

link to the BDXTool