When trying on the piles of low cost RGB, Bluetooth-controlled LED strips you will discover on the market nearly anyplace nowadays, integrating them right into a home-automation setup may be very tempting. Usually these strips are managed through a particular smartphone app, that speaks no matter dodgy protocol was thrown collectively for the LED strip controller in query. Reverse-engineering this Bluetooth protocol is pretty straightforward nowadays, as [Will Cooke] describes in a latest tutorial, though for him there was a little bit of a tragic ending with one specific RGB set.
With earlier experiences reverse-engineering the Bluetooth protocol with Wireshark below his belt and having revealed the BJ_LED repository for LED strips that use the MohuanLED app, reverse-engineering this new LED strip with the related “iDeal LED” app appeared pretty routine. Initially it was certainly routine, with only a curveball within the type of some encryption that the Jadx decompiler used on the app couldn’t assist with. Fortuitously the important thing ended up floating round on the web, and the protocol was broad open. That’s when catastrophe struck.
Whereas making an attempt to throw payloads on the LED controller to search out hidden modes and settings, [Will] discovered that he may certainly improve the brightness past what the app supported, however poking at lighting modes past the ten presets gave a nasty shock. Modes 1 by 10 labored wonderful, 11 additionally did one thing new, however when the controller was requested to modify to mode 12, it shut off. Completely. Whether or not this corrupted the firmware or induced another difficulty is unknown, however it’s a transparent warning that reverse-engineering comes with doubtlessly fried {hardware}.
We hope that [Will] can get an post-mortem carried out on this controller to see the reason for this seemingly everlasting failure that endured throughout exhausting resets and disconnecting from energy in a single day. The protocol for this controller has been revealed on GitHub for individuals who’d wish to take their probabilities.
LED lights: LadyAda, CC BY-SA 4.0.