I took some time off in 2017 to try and build a wearable camera — industrial design, electronics, software; the whole shebang.
One hardware architecture I explored was to use a powerful chipset when video streaming was active, and a lower power one to take occasional photos. The Rockchip RK3399 fit the bill, and had a development kit available. I used the Firefly RK3399 open source development board.
As part of this project, a chain of trust was important (we didn't want bad actors hacking people's cameras and streaming without their knowledge), so writing safe code was important. I'd also wanted to learn Rust, so I figured the two would fit together nicely.
While I'm unable to share with you a number of things about the project, I'm open sourcing some parts of the software I wrote:
- feo — Run Rust programs on the AP (application processor) on the RK3399. Includes serial and I2C drivers.
- lilmemcap — Run Rust programs on the M0 auxilary processor on the RK3399.
- Board support crates for both the AP and M0, including generated SVDs from the datasheet.
Spotify MITM proxy
I wrote a tool that intercepts traffic between the Spotify client and the Spotify servers, in order to understand how the protocol fits together.
I learnt a lot about reverse engineering and cryptography with this project.
A serial port that plugs into the modem slot on Powermac G4s.
The adapters were quite rare and expensive, so I reverse engineered one and wrote up how they work. To recoup some of the time and money spent to figure out how it works, I made a few in quantity and put them up for sale.
These days, I no longer have the time to make them, but they may resurface for sale very shortly. If not, I'll put the schematics up online.
Python SWF parser and AVM2 (Actionscript 3) parser
Windows 7 Bootkit