

Reverse engineering uC firmware from audio signals - anigbrowl
http://gravitronic.blogspot.com/2011/12/decoding-korg-monotribe-firmware.html

======
tlack
This guy took some interesting leaps of faith to attain his result.. I'm
impressed. I wonder if he had background in this industry to expect each
square long wave to represent 1 or 0? I would have expected them to have a
more intricate binary-to-audio algorithm considering how much science must
exist in this area (modems, HAM, etc)

~~~
Groxx
I don't think there were any leaps of faith in there.

First, they thought 1s/0s might match the waveform. Apparently wasn't the
case.

So they decided to look at the data - see the histogram, which is _incredibly_
skewed towards four values. So they tried 1s/0s on those values. Nada.

So they wrote a script to try different endianness, alignments, flipped bits,
etc, and they got lucky because 'KORG' was there in ASCII.

Had those failed, there probably would have been quite a few more attempts,
but Korg didn't remove their signature from the data, so it wasn't necessary.

------
daeken
This sort of analysis is pretty common for legacy formats -- never seen it for
modern data, though, so that's pretty awesome. Here's a story about doing the
same sort of analysis with a tape cassette for the Apple I.
<http://www.pagetable.com/?p=32>

------
fhars
And in case anyone wonders which disassembler to use, the CPU is a Cortex M3:
[http://blog.gg8.se/wordpress/2011/08/14/monotribe-midi-
and-m...](http://blog.gg8.se/wordpress/2011/08/14/monotribe-midi-and-me/)

