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,

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,909
Trophies
1
XP
2,214
Country
Chile
ARM9 write back method (not just the name, but also HOW it is useful for speeding up read/writes) takes some time to figure (this is old docs I had for years) .

Brief definition of drain write buffer ability
Code:
    //http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0201d/I1033977.html <-- good explanation.
    //Basically TCM is allowed to write-miss / write-back without causing external access (to whatever memory is connected to TCM).
    // If write-miss, data (changes) is buffered locally. If write-back happens the cache-line is marked as dirty ONLY (no external access), causing two scenarios:
    //a) if a read happens, and ALSO causes a cache-hit, no external accesses happen. Speedups everything, literally.
    //b) later, sooner or later, when a read cache-miss happens, before the old cache-line dirty is updated, a write-back happens.
    //Basically: Access/Write external memory, ONLY when reads cause a cache-miss. Otherwise Writes are "cached".
 
    //DrainWrite buffer Opcode makes sure all writes buffered HAPPEN! if Data Writes mode is set to Write-back.

Then we have Data / Instruction Caches enabled for regions but that is another topic.
 
Last edited by Coto,

Thunder Hawk

Firefox Master Race
Member
Joined
Jan 21, 2013
Messages
791
Trophies
0
XP
1,997
Country
United States

Today I can finally announce a new exploit. 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. 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 exception vectors. 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!
Long live Buzzhax RocketLauncer!
 
  • Like
Reactions: TeamScriptKiddies

metroid maniac

An idiot with an opinion
Member
Joined
May 16, 2009
Messages
1,845
Trophies
0
XP
1,193
Country
Amazing work, I'm glad that we finally have a hack that grants full control of the platform.
Now I just have to hope that it'll work with my trusty AK2i. And I'll need to get a DSi as well!
 

Valery0p

Well-Known Member
Member
Joined
Jan 16, 2017
Messages
475
Trophies
0
XP
1,244
Country
Italy
That's a pretty awesome teamwork!
And still we haven't seen that mysterious dsiware exploit/s *coff* *coff*
@Normmatt sorry to bother You, but do You think all the flashcards reversed to work with (3ds)magnetHax, will work with rocketLauncer?
 
  • Like
Reactions: MyDePain

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
21,898
Trophies
3
Location
Space
XP
11,057
Country
Norway
That's a pretty awesome teamwork!
And still we haven't seen that mysterious dsiware exploit/s *coff* *coff*
@Normmatt sorry to bother You, but do You think all the flashcards reversed to work with (3ds)magnetHax, will work with rocketLauncer?
Well, that depends on if the devs implement support for all of the same cards. But potentially yes, since both exploits have the same requirements (a flashcart with a reflashable ROM), the rest is up to the devs.
 
  • Like
Reactions: Gamer4647
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: https://www.kshb.com/news/local-news/local-brewery-nonprofit-team-up-for-mental-health-awareness...