Trying to reconstruct "real firmware" from .syx update files

Hello there,

I’m trying to reconstruct the firmware that runs on a digitakt from it’s .syx update file.

The update file seems to follow the sysex format as described here and there (Thanks for the authors and their amazing work + kudos for writing documentation !)

A few fields seems to mismatch from what is described above. Most notably the 4 bytes before the End Of Message byte (0xF7) doesn’t seem to match LENGTH followed by CRC.
hexdump digitakt

The message header seems to match fairly well with what was previously reverse engineered : Model ID for the digitakt is 0x0A.
The last byte in the header seem to be a counter, maybe indications of a “fragmentation index” i.e just saying that current block is n°98 and that it should thus be placed inbetween 97 and 99.

So far I’ve tried to decode each block, using the code from the digitools library and concatenate them to see if I can extract any meaningfull.
It seems to be the right way since I can see meaningfull strings apearing and having them not necessarilly all cut up and everything.

The issue I’m facing though is that this doesn’t seem to be enough to get everything. When I try to disassemble code in the binary produced I can clearly see that the extraction isn’t fully working (cut up functions, meaningless operations etc).

Does anyone around here know wether someone attempted this before ? Or does anyone have any resources / code / projects that could be usefull for this task ?

Cheers

Also related links for anyone comming by this thread and want’s to read

1 Like

It’s a bit ambitious to expect support for an endeavour that is almost certainly (if it were even remotely doable, which i doubt) going to create issues with the host of this site. You want to ‘steal’ their IP in effect, it isn’t something they’re going to allow or approve and it probably isn’t something which we allow here.

So whilst there may be academic interest in the thought and a legitimate reason to peek inside a backup file, but there’s certainly no legitimate reason to be attempting to uncover/publish their intellectual property.

So, unless you can confirm that this is a venture that Elektron condone (because I can only imagine they know it’s impossible) then, with respect, this topic will have to be closed as it can serve no good to allow you to think it’s an acceptable venture.

The Firmware is a very different case to e.g. a patch file (as linked anbove), there’s no IP in that.