This thread is intended to spur discussion about whether it would be both feasible and relatively easy to automate ARM9Loader brute-forcing. I'll update the first post as major updates / answers arrive.
It might not be practical at the moment, given progress made in other areas.
However, future units shipping with 10.5+ might exclude other attack vectors.
Here's a set of presumptions I have... basically what I think I understand:
I2C can be used to reboot the unit
GPIO pins can be used to write to the NAND
Homebrew/payloads can send messages via I2C
Homebrew/payloads can write memory with hax instructions
Homebrew/payloads can overwrite exception vectors to point to hax instructions
Reboot does not clear memory
Would the following be an avenue that an attacker could use to automate / brute force Arm9Loader into branching into their own exception vector?
Hardmod to dump NAND
Additional Hardmod to expose I2C externally
Create two custom payloads:
"I2C/OTP" payload, which would send a message via I2C, then dump OTP, then send a second message via I2C
"PrepHax" payload, which would send a message via I2C, overwrite the exception vectors to point to I2C/OTP payload, and then send a second message via I2C
Setup N3DS to auto-boot the "PrepHax" payload, such as via Theme
Have RPI2 setup to write NAND via GPIO
Connect the N3DS I2C to RPI2's I2C
Connect the N3DS DAT0/CLK/CMD to RPI2's GPIO
Initialize I2C in multi-master mode, exposing both slave and master
Set DAT0/CLK/CMD to not interfere with boot (float?)
Reboot via I2C, wait for timeout or an I2C message indicating Hax stage
I2C messages:
PrepHax started -- set another timeout, things are progressing
PrepHax complete -- reboot with sector 150 updated to next test values
I2C/OTP started -- set another timeout, things are progressing
I2C/OTP complete -- HALT! Potentially usable magic value found!
Timeouts (based on last I2C message):
PrepHax started -- memory not reliably set, random hax failure? Just reboot via I2C
PrepHax complete -- not usable special sector, reboot with sector 150 updated
I2C/OTP started -- Log as 'potential' values for sector 150, then reboot with sector 150 updated
If nothing technical prevents this from working, this would seem to reduce
the complexity of the brute-force method.[/SPOILER]
Here's a set of presumptions I have... basically what I think I understand:
I2C can be used to reboot the unit
GPIO pins can be used to write to the NAND
Homebrew/payloads can send messages via I2C
Homebrew/payloads can write memory with hax instructions
Homebrew/payloads can overwrite exception vectors to point to hax instructions
Reboot does not clear memory
Would the following be an avenue that an attacker could use to automate / brute force Arm9Loader into branching into their own exception vector?
Hardmod to dump NAND
Additional Hardmod to expose I2C externally
Create two custom payloads:
"I2C/OTP" payload, which would send a message via I2C, then dump OTP, then send a second message via I2C
"PrepHax" payload, which would send a message via I2C, overwrite the exception vectors to point to I2C/OTP payload, and then send a second message via I2C
Setup N3DS to auto-boot the "PrepHax" payload, such as via Theme
Have RPI2 setup to write NAND via GPIO
Connect the N3DS I2C to RPI2's I2C
Connect the N3DS DAT0/CLK/CMD to RPI2's GPIO
[/SPOLIER]
Initialize I2C in multi-master mode, exposing both slave and master
Set DAT0/CLK/CMD to not interfere with boot (float?)
Reboot via I2C, wait for timeout or an I2C message indicating Hax stage
I2C messages:
PrepHax started -- set another timeout, things are progressing
PrepHax complete -- reboot with sector 150 updated to next test values
I2C/OTP started -- set another timeout, things are progressing
I2C/OTP complete -- HALT! Potentially usable magic value found!
Timeouts (based on last I2C message):
PrepHax started -- memory not reliably set, random hax failure? Just reboot via I2C
PrepHax complete -- not usable special sector, reboot with sector 150 updated
I2C/OTP started -- Log as 'potential' values for sector 150, then reboot with sector 150 updated
If nothing technical prevents this from working, this would seem to reduce
the complexity of the brute-force method.
From a theoretical point of view i don't see anything preventing this. Am i not considering something vital? This seems a really fun task if i wasn't stuck with an o3ds i would try to pursue this way myself
The question is how low the bar actually is, not including initial development time. Can this be done with only RPI2, without additional electronic circuitry (voltage converters, resistors, capacitors, transistors, etc.)?
From a theoretical point of view i don't see anything preventing this. Am i not considering something vital? This seems a really fun task if i wasn't stuck with an o3ds i would try to pursue this way myself
Most eMMC devices also support SPI mode, if the RPI2 isn't easily able to control the device using CMD/CLK/DAT0. Question: Has anyone discovered which test points correspond to the I2C bus on the various 3DS models (2DS, O3DS, O3DS XL, N3DS, N3DS XL)?
Sony made a shocking announcement today, revealing that the company plans to move away from physical game releases in the future. Citing claims of how the industry is...
Last month we got confirmation of a new model of Switch 2 to better comply with upcoming EU regulations. With the legislation set to come into effect in February of...
The end has come for the PlayStation 3 and the PlayStation Vita. After supporting the PSN Store on the PS3 and PS Vita since 2006 and 2011 respectively, Sony has...
Tired of waiting for Game Freak to bring Pokemon Emerald to modern platforms? We've got you covered with a brand new port in the works. Currently available on GitHub...
Ocarina of Time is back in style as the upcoming Switch 2 remake looms on the horizon. But what's a fan of the game to do over the next few months? If you've been...
For fans of Sinnoh, the pickings are slim. If you want the best experience you're left deciding between the updated region in Platinum, or the somewhat controversial...
The Switch 2 has been out for a year now, but you shouldn't count the original system out yet! Released a few days ago, popular PS2 emulator NetherSX2 has found its...
Hot on the heels of their NetherSX2 port, @Nagaa is back with another hugely anticipated release: a Switch port of the popular Wii U emulator Cemu. We've got more...
The Pokemon series is known for its vast assortment of spin off titles, with the majority being well-received. We've had an assortment of Mystery Dungeon titles, a...
Right on the heels of a NetherSX2 port, the Switch once again proves it's still got some life left in it as 3DS emulation graces the system. Promising mostly...
Sony made a shocking announcement today, revealing that the company plans to move away from physical game releases in the future. Citing claims of how the industry is...
Last month we got confirmation of a new model of Switch 2 to better comply with upcoming EU regulations. With the legislation set to come into effect in February of...
The end has come for the PlayStation 3 and the PlayStation Vita. After supporting the PSN Store on the PS3 and PS Vita since 2006 and 2011 respectively, Sony has...
Ocarina of Time is back in style as the upcoming Switch 2 remake looms on the horizon. But what's a fan of the game to do over the next few months? If you've been...
Tired of waiting for Game Freak to bring Pokemon Emerald to modern platforms? We've got you covered with a brand new port in the works. Currently available on GitHub...
Amidst news of layoffs and cancellations in the wake of Xbox's larger changes, Bethesda has today come out with a statement discussing their active projects. In this...
Announced today during the Octopath Traveler 8th Anniversary live stream, it's been confirmed that both the first game and its sequel will be launching on the Switch...
For fans of Sinnoh, the pickings are slim. If you want the best experience you're left deciding between the updated region in Platinum, or the somewhat controversial...
In this time of everything costing more a year after it's released, it's nice to see some things sticking to the old ways. Capcom have today announced that the latest...
Saber Interactive, in collaboration with Universal Products & Experiences, revealed a new gameplay trailer for Turok: Origins. This new entry to the dino-hunting...