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/ …
-
-
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.
Show 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.
Show 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).
Show 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.
Show 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.
Show 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.
Show this thread
End of conversation
New conversation -
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.