roxas75 / rxTools

rxTools
http://www.rxtools.net/
GNU General Public License v2.0
266 stars 81 forks source link

Add arm9loaderhax support #425

Open astronautlevel2 opened 8 years ago

mariogamer2 commented 8 years ago

Think the exploit is not here now so...

astronautlevel2 commented 8 years ago

Arm9loaderhax has already been successfully implemented into ReiNAND. You need your console's OTP to use it, but it definitely works.

mariogamer2 commented 8 years ago

OTP? Sorry I don't know a lot...

Also,what is the firmware where there is a9lh?

https://github.com/delebile/arm9loaderhax ?

astronautlevel2 commented 8 years ago

The OTP registers are where console specific keys seem to be stored, and they are stored in read only memory which means that they can't be edited. They've been encrypted since 3.0, so you need to be on 2.1 to generate them (Unless you're on n3ds, in which case they can be brute forced). Read more about them here.

If you have your console's OTP, you can use them with arm9loaderhax to get bootime level control over your system, which Rei has successfully used to cold boot ReiNAND in a significantly decreased time (About the same as a sysnand boot).

Here's the ReiNAND commit that added arm9loaderhax compatibility for reference: https://github.com/Reisyukaku/ReiNand/commit/743b0f28bb24acd79fd50ecc4778c3d4307253a0.

mariogamer2 commented 8 years ago

Little off topic,does there is another ARM9 exploit on more than 9.4 on O3ds? (just by curiosity)

astronautlevel2 commented 8 years ago

Because arm9 is boot time execution code, it should work no matter the SysNAND version. There has been speculation that this could be used to have 10.5 sysnands running CFW, but there hasn't been any actual development for it yet.

ghost commented 8 years ago

It'd be a nice thing to have on rxTools. I'd then be able to leave behind *hax for boot. It's either that, or I have to go to AuReiNAND.

mariogamer2 commented 8 years ago

@PokeAcer549 Same thing for me...

urherenow commented 8 years ago

Do you people realize that to use a9lh, you'd be giving up the entire menu? It is currently impossible to initialize the screens with a9lh before launching the FIRM. This kind of defeats the whole purpose of rxTools, so yes, you may as well use AUReiNand.

AlbertoSONIC commented 8 years ago

We're working on this... Rxtools, now that decrypt9 does everything better, is becoming more a cfw than a tool set. So yeah, rxTools + a9lh makes sense. Don't forget that rxTools is the most powerful cfw for the amount of patches it includes ;)

urherenow commented 8 years ago

@AlbertoSONIC if you guys are doing this, then the default behavior (with no button presses during power-on) should be to boot sysnand with a 9.0 FIRM. Any higher firm won't allow Decrypt 9 or the GW launcher to work...

mariogamer2 commented 8 years ago

@urherenow Why not booting emuNAND too?

@AlbertoSONIC https://github.com/AlbertoSONIC if you guys are doing this, then the default behavior (with no button presses during power-on) should be to boot sysnand with a 9.0 FIRM. Any higher firm won't allow Decrypt 9 or the GW launcher to work...

— Reply to this email directly or view it on GitHub https://github.com/roxas75/rxTools/issues/425#issuecomment-186949347.

urherenow commented 8 years ago

It needs to boot emunand, of course, but you should need to hold a button down to do it. A9LH can allow for a 10.x sysnand, but you won't be able to use a Gateway or Decrypt9 (so it would also be a royal pain to get a working .cia manager installed if you didn't already install one before upgrading.

urherenow commented 8 years ago

Unless a sigpatch could be made for carts (then you could use FBI.3ds or something like that with a Sky...

mariogamer2 commented 8 years ago

@urherenow I'm not thinking like you...

I'll never update sysNAND,and fu*\ linker XD (don't love team who want money...)

And I'll change to cake if it is like this...

mariogamer2 commented 8 years ago

13b1438da830faecfd8db6fa78b1de0ce87f1500 Is adding some support,BUT don't compile like said in 3010c47c34da38cdb9a17b0ca33c7bcbfa21c496

AlbertoSONIC commented 8 years ago

It doesn't boot anything yet so...

joedude1635 commented 8 years ago

Do you have an ETA yet?

AlbertoSONIC commented 8 years ago

Well everything is almost ready... But it freezes when firmlaunching. So it's not a matter of writing code. The problem is finding that issue and fixing it, which hopefully won't take much. So no ETA ;)

joedude1635 commented 8 years ago

OK :)

urherenow commented 8 years ago

What about pasta mode then? I want pasta mode to be my default anyway.

astronautlevel2 commented 8 years ago

I personally would rather pasta mode not be the default, as I'd be afraid of messing up my SysNAND. Also, part of the point of a9lh is that it lets us bypass SysNAND entirely and load EmuNAND at boot time, so I don't see why we would take an unnecessary risk by making SysNAND the default, especially when it doesn't provide very many benefits that I can see.

I don't have a way to check right now, but I was also under the impression that there was a setting to change what the default loading behavior was?

joedude1635 commented 8 years ago

I think it would be ideal if emuNAND was loaded by default, but sysNAND with Pasta was loaded if a button is pressed (this button could be configured with, for example, a text file in the rxtools directory).

urherenow commented 8 years ago

Auto booting into emunand makes it impossible to use decrypt9 and play your twl/AGB stuff (rxtools, on o3ds, gives you the choice of twl launching from emunand or MH/SSB working...). Auto booting into pasta mode, you can just as quickly launch hblauncher_loader, or the like for other stuff.

Of course, the best of both schools of thought would be a default boot setting in the settings menu. At the moment though (unless my brain is scrambled) the most useful settings are to forceui, and disable reboot patch.

Not only do I want pasta mode for my legit ambassador games, but also so I can still use my Gateway. For me, rxTools emunand is only my backup for when FW updates break GW and they are slow to update.

@joedude1635 amen to that. Text file is always ideal. Why did someone think it was a good idea to make the config file a .json that isn't easily user editable?

shinji257 commented 8 years ago

Just an update for those (since I want this too). There is screen_init for a9lh now. BootCtr9 and CtrBootManager9 are currently in development. For the former there is no menu but you can hold a button to change the boot. Not sure on CtrBootManager9.

Guizzu commented 8 years ago

There are already some guides on how to use a9lh + BootCtr9 + (CakesFW or AuReiNand). So it is possible to use tools like Decrypt9 on SysNAND...

All we need now is rxTools to support a9lh!