7 ms·
Of course it is SysEx. SysEx is to standard MIDI what inline assembler is to Python. A world of undocumented proprietary stuff lurks within just about every MID
by liotier 2y ago
Of course it is SysEx. SysEx is to standard MIDI what inline assembler is to Python. A world of undocumented proprietary stuff lurks within just about every MIDI device !
- fer 2y agoYeah, same thinking here. No standard, manufacturer-defined, everything-goes kind of messages.
- 1oooqooq 2y agocan't wait to see what sysEx hacks google will cram on chrome midi support they are building for the last couple years.
- jeroenhd 2y agoWebMIDI already has SysEx support: https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_AP...
- 1oooqooq 2y agodid you read the article? of course webmidi must support sysEx, it's essential to work with midi2 at all. but mostly because you must parse the weird sized packet to properly ignore it. what might show up are chrome specific sysEx messages which then leads to exploits as the article.
- p0w3n3d 2y ago2030, browsers are TPMd DRMd and JAILed, one cannot simply access web with Firefox anymore: so we have jailbroken the Chrome using MIDI protocol to install extension that blocks ads
- prashnts 2y agoI tried to make a bidirectional channel from a webpage to a python script over MIDI. I'd just found that with sysex you can pack any arbitrary data that you want, that python can create virtual MIDI devices, and that Chrome can then connect to such devices. I'm sure I'd more code than what's in my 8yo repo, but the premise is simply https://github.com/prashnts/midipacks/blob/master/midipacks/pack.py https://github.com/prashnts/midipacks/blob/master/midipacks/...
- dhosek 2y agoI wish it was somehow possible to perform a piece of music that would cause remote code execution. It’d be so cool to plug in a MIDI keyboard, play an Am6,9/G# and have it open a terminal window with root access.
- deleted 2y ago[deleted]
- 127 2y agoThat doesn't make much sense as note on and note off messages are very simple and you can't insert arbitrary bytes with them, unless maybe you use some very particular run mode.
- bluGill 2y agoNote on/off are just messages. We by convention map them to notes, but note 69 is A-440 on most keyboards, but you could see note 69 and play a C instead (this is somewhat common - have the computer transpose so you can play with others who play the music in a different key - better players can do this in their head but it is not a universal skill even with great players) There is no reason you can't take a sequence of notes and do something else - pop up a root window for example. It isn't normally done because it would confuse everyone for no reason. (IIRC The original MIDI spec from the 1980s didn't have conventions of nearly as much and some midi devices did really weird things from note commands)
- helpfulContrib 2y ago[dead]
- stavros 2y agoI think the GP's point is that the code that interprets simple note on/off messages is unlikely to be vulnerable to any kind of RCE.
- dhosek 2y agoI also wish I had a pony. Wishes don’t need to make much sense.
- jamal-kumar 2y agoWow, this is a whole thing I had no idea about. Was recently looking into what it would take to fuzz MIDI and while I found some resources to generate a .mid file to this end it wasn't exactly what I was hunting for. This is maybe something I should consider exploring instead, thanks!
- portasynthinca3 2y ago> SysEx is to standard MIDI what inline assembler is to Python I really like this comparison!
- helpfulContrib 2y ago[dead]
- odiroot 2y agoSysEx is awesome. I'm quite sad modern synths seem to use it less and less (Roland!!!). Though Behringer is still quite good with it. E.g. their Deepmind can be pretty much 100% programmed with it, on top of already good MIDI CC scope.
- liotier 2y agoRoland using less SysEx ? Here is a 26 pages PDF full of unofficial TB-3 SysEx documented by Dope Robot: https://www.doperobot.com/TB-3%20Sysex%20Implementation%20v1.4.1%20by%20Dope%20Robot.pdf https://www.doperobot.com/TB-3%20Sysex%20Implementation%20v1... - Roland's official documentation just scratches the surface.
- helpfulContrib 2y ago[dead]