Announcing RocketLauncher! The first exploit with unlocked Arm7!

UPDATE:
Looks like NoCash found an exploit that is even better then RocketLauncher:

https://problemkaputt.de/gba.htm

He titled it Unlaunch. The exploit works by exploiting a flaw in Stage2 and apparently works on all firmware versions. It requires you run the installer from a DSiWare based hax environment as access to SD/NAND is required. (thus you can't run this from Slot-1 based TWL exploit)

The flaw in stage2 is a buffer overflow involving Launcher's TMD file. If you provide a larger then normal TMD file, it will attempt to load the TMD into ram anyways (this occurs before it does the RSA check) This causes it to overwrite some code in arm9 ram causing arm9 to execute the custom payload. The full details are found in the info menus in the installer.

Note however the installer does not appear to work correctly at the moment. I'd advise you not attempt to install it from the installer. Use the manual install method instead. BUT I'd highly recommend you have a hard mod before attempting manual install. If you have had experience modifying your nand you may be ok doing this. But for safety sake I would just advise against that until the installer works properly.

(this is one reason why RL hasn't been released yet. No proper installer tools are available yet and we don't want people bricking consoles trying to install it)

The release of this exploit may impact our plans regarding RocketLauncher. I'll post more about this once StuckPixel has decided to comment on this.


Important Notice:

Do NOT visit Data Management in DSi System Settings or use the 3DS Transfer tool after installing unlaunch. You WILL brick the console. Wait until HiyaCFW is refined/released properly so that SD redirected version of Launcher can be used or when NoCash decides to implement his own version of the SD redirect patch.








Today I can finally announce a new exploit for the Nintendo DSi. I found this flaw back on May 29th. Almost a year after NoCash initially discovered a oversight by Nintendo involving the DS Cart White list which this exploit takes advantage of (Nintendo forgot to reimplement the RSA checks on it lolz). I was fudging with various things in the white list to try and get a crash. I got system menu to crash by using large values in section 3! So I contacted NoCash and a few other devs about this to investigate it and to see if it's exploitable. Well long story short it was!


Summery of the above video:

1. The exploit requires 1.4.0 firmware! Older or newer fw revisions do not work!
2. The exploit requires a flashcart that you are able to modify the internal rom it presents to the system.
3. Details on which cards will be compatible will be revealed at a later time.
4. The exploit involves a buffer overflow flaw involving section 3 of the white list.
5. This overflow occurs on arm7 thus allowing overwriting memory exclusive to arm7.
6. As a result a large enough overflow will hit the IRQ interrupt handler. This is how we gain code execution.
7. Arm9 was relatively easy to take over. Though data caching presented a minor roadblock while testing on hardware. :P
8. I currently use a modified build of nds-bootloader from WinterMute's github. You know, that portion of hbmenu responsible for booting SRLs. :P
9. Because we already gained arm7 we only had to put arm9 in the correct wait state so that nds-bootloader can do it's thing. :D
10. The exploit in theory can work from the menu once it's running. But we currently make use of the auto boot feature to ensure a stable consistant environment. Tests with a second console suggest that is the case. Note that the exception vector for arm7 seems to either be somewhere else once the menu GUI is running or the overflow hits something else causing arm7 to crash early. Currently we plan to only target exploiting the system with an autoboot rom as it's more predictable.
11. The exact machanics of the arm9 take over and how nds-bootloader is loaded may change. Currently the entire payload fits on the cart. But we may allow reading a payload off SD instead.

Credits to NoCash, Gericom, and Normmatt for help testing/figuring this out. Big credit to StuckPixel who put in most of the coding needed to make this happen. My contribution was finding the flaw and help with testing on hardware.


I will release further details as we finalize this exploit and prepare stuff that will make installing it easier.

Note you will either need a nand mod or a DSiWare based exploit to downgrade your console/install the modified white list needed for this to work. Hopefully we'll have a better solution then simply using fwtool to do this so that may be the factor that determines release date so please be patient!

When things are ready I will update this thread!
 
Last edited by Apache Thunder,
Rocketlauncher release timeline.PNG

Please be patient as he won't release it until it is safe to install, Several people on a dsi homebrew discord have bricked while attempting to downgrade with fwtool.
Also someone on said discord is going to attempt to make Fwtool safe, so that the possibility of bricks is essentially gone. Again please be patient.
 
View attachment 95051
Please be patient as he won't release it until it is safe to install, Several people on a dsi homebrew discord have bricked while attempting to downgrade with fwtool.
Also someone on said discord is going to attempt to make Fwtool safe, so that the possibility of bricks is essentially gone. Again please be patient.

The safest thing to do is to combine bits from fwtool and twltool and use libfat to update the individual files.
However making fwtool check that the nand is encrypted for the right console would be a good start (just comparing the first block matched the dump you were flashing back should be good enough).

I had an "oh shit" moment when I exited fwtool as the console locked up returning to homebrew menu. Removing the battery got me past that.
 
Last edited by smf,
The safest thing to do is write something that takes the cid, console id and uses libfat to update the individual files.
However making fwtool check that the nand is encrypted would probably be a good start.
Well Fwtool can already dump your CID. Checking if the nand is encrypted or unencrypted is an already planned feature for the improvements to FWtool
 
View attachment 95051
Please be patient as he won't release it until it is safe to install, Several people on a dsi homebrew discord have bricked while attempting to downgrade with fwtool.
Also someone on said discord is going to attempt to make Fwtool safe, so that the possibility of bricks is essentially gone. Again please be patient.
If people made sure that their NAND backups were encrypted, most bricks wouldn't happen. It's pretty easy to make sure that it is.
 
If people made sure that their NAND backups were encrypted, most bricks wouldn't happen. It's pretty easy to make sure that it is.
I know it is, I've written a few nand backups to my dsi with no problem, but that's because I'm not a complete noob, and actually double check at least 6 times before moving on with steps in a guide. Hence Why I've never bricked a console ever.
 
That was WUS-3_Owner who leaked the Flipnote exploit.
I highly recommend giving this a read: https://gbatemp.net/threads/regarding-the-incident-surrounding-pokeacer.480192/

Also someone on said discord is going to attempt to make Fwtool safe, so that the possibility of bricks is essentially gone. Again please be patient.
Please don't say this- the fork of fwtool is going to have a much lower chance of a brick due to safety checks, but I don't think reprep said his fork will be able to detect if injected tickets are properly decrypted. I might as well take this time to remind anyone reading this to test your NAND in NO$GBA before flashing it, even when the new fwtool is released. It's just good practice regardless.
 
I don't see why people messup with decryption. It's so simple. And verfying it is even more simple.
Yeah, you pretty much only need to double check the nand's header to verify if is was encrypted correct before flashing it.
Also, decrypted tickets does not brick the system, just corrupts the title.
 
Last edited by Billy Acuña,
All of them, except RocketLauncher, of course.
It's because the DSi has no OS running in the background, unlike the 3DS.
What does this mean exatly? What's does that mean with dsi exploit? And why is it so important for security?
 
What does this mean exatly? What's does that mean with dsi exploit? And why is it so important for security?
Since there is no OS, games don't run any different on any DSi version. They're running on bare metal, so version is irrelevant.
 
Last edited by Friendsxix, , Reason: clarification
  • Like
Reactions: mariogamer

Site & Scene News

Popular threads in this forum