I was just reminded of this piece that I wrote ten years ago now. It is still just as relevant today as it was back then. If you are working on any kind of reverse engineered product for hardware, learn how to care about your users to keep them safe.https://marcan.st/2011/01/safe-hacking/ …
-
Show this thread
-
That post speaks of 1.2 million installs of The Homebrew Channel, but I think these days we're closer to 10 million. Still zero bricks. We had one near miss, which was saved by the many layers of safety-in-depth I had built in, based on the principles I wrote about there.
1 reply 3 retweets 68 likesShow this thread -
Thankfully the Apple Silicon macs are largely brick-proof*, though restoring them currently requires another Mac. Making this work from Linux is also a project goal. * I'm sure you can if you try hard enough, and I'll try hard to never go anywhere near there, of course.
2 replies 0 retweets 40 likesShow this thread -
One of the reasons why we wrote our own flashing code for Wii bootloader flashing is because I took one look at Nintendo's (BroadOn's?) existing API for it, and determined it was completely unfit for purpose and dangerous.
1 reply 1 retweet 35 likesShow this thread -
It is now well documented that they later bricked a non-trivial fraction of Wiis worldwide, whether they had BootMii or not, when they pushed a dummy bootloader update whose only purpose was to overwrite our installed version (but which unconditionally applied to everyone).
2 replies 0 retweets 31 likesShow this thread -
My flasher not only had the two-copy safety that their design called for (but which their updater was not safely implementing), but also included a novel trick to provide *three-copy* atomic safety. Powering down at *any* time during BootMii installation is, in principle, safe.
2 replies 3 retweets 53 likesShow this thread -
That one near miss was a bug in this stuff in some corner case Wiis, which ended up corrupting one of the (eventual) main copies. However, my code checked and refused to run if *any* copy was not valid, so the affected user could do no further damage. Their Wii was fine.
1 reply 0 retweets 33 likesShow this thread
All they saw was a first install attempt (I forget if it failed or reported success) that didn't work in practice, followed by all subsequent install attempts failing with a safety check error. After fixing the bug I added even more paranoia to make sure it didn't happen again.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.