Author Topic: Big Clive reverse-engineering challenge  (Read 1011 times)

0 Members and 1 Guest are viewing this topic.

Offline amykTopic starter

  • Super Contributor
  • ***
  • Posts: 8397
Big Clive reverse-engineering challenge
« on: September 15, 2021, 04:16:02 am »
In a recent video he took apart a "Buddha machine" which plays various prerecorded audio tracks:

He also dumped the SPI flash it has, whose content can be found linked in the video description as well as attached below for convenience. The challenge is to determine the format of the data so that it can be reprogrammed with arbitrary audio.

Some commenters have discovered the first portion of the data is a directory table that's been encrypted with a XOR key consisting of at least the sequence 1F 3E 7C F8 F0 C1 A3 67, since applying that will cause a list of offsets and sizes to various "files" in the image to appear (first one being at 600h); not all of them are the audio tracks. The key sequence looks like an LFSR to me, which would be appropriate for such a small size and cost-constrained COB ASIC, but I'm not sure if it could be longer, or the exact form of the feedback.

The codec is also unknown, but is unlikely to be MP3 or anything of similar or higher complexity. It's also not known whether the audio data has been encrypted with a simple cipher. My guess is that the ASIC is not a microcontroller, the first few files in the image are tables of codec data and there is no executable code in it, and the audio data itself is encoded in a simple format. I've tried searching for the "CB" byte that seems to occur as the first one of each track, but haven't had as much luck as I did the last time I tried a similar challenge. Maybe others here who know more about ultra-cost-constrained audio codecs and the like may be able to figure it out.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf