These are chat archives for brunchboy/afterglow

13th
May 2017
James Elliott
@brunchboy
May 13 2017 04:38
I have heard that about Kuvo, but I have never had access to a unit, none of the clubs in Madison have them, so I am puzzled about how it works. I hope someone can sniff one and share the details soon! I would also love to know the format of the packets that you use to request wave forms and the beat grid (and the format of the responses). Can you share that? Is the information people have figured out about DBServer organized and published anywhere, beyond what I have done in the dysentery protocol analysis paper?
Austin Wright
@awwright
May 13 2017 06:21
I suppose I could publish what I've got
Unfortunately by the looks of it this would be a hard protocol to fuzz
In summary though, there's a 2-byte field for (what I presume to be) the method ID, and there's different methods for things like album art, waveform summary x2004 (the 300 px wide version, one byte per pixel), a waveform detail x2904 (300 pixels per second, one byte per pixel), and beat grid info x2204 (uint8 measure_beat, 0x000000, uint32 beat_ms_offset)
Austin Wright
@awwright
May 13 2017 06:27
Eh, I don't have it documented very well, it's all in code
about 3500 lines of it
I'll figure something out over the weekend, I don't get a lot of time to work on this anymore
I also invented a lot of names for things. Method calls can be fragmented up into multi-message responses, and each response can have multiple fields I called Kibbles
Austin Wright
@awwright
May 13 2017 06:33
It's also fun to note that all of the menu drawing for the Link functionality is very low-level and done over the network. The CDJ completely re-requests all the menu items every time it has to scroll the menu.
I call the handshake packets Hello and Sup
Austin Wright
@awwright
May 13 2017 07:15
The other thing to keep in mind about the protocol is it's reverse compatible with every Pro DJ Link product they've ever put out, so there's kludges upon kludges
James Elliott
@brunchboy
May 13 2017 07:37
I noticed that about the menu drawing when I was looking at network captures a few months ago too, and laughed. Thanks so much for sharing this! Skimming your protocol.txt notes, it looks like we went through incredibly similar research paths. I can see I have a bunch more experimenting ahead of me. I have pulled together my own notes here: https://github.com/brunchboy/dysentery/blob/master/doc/Analysis.pdf