Homebrew SafeA9LHInstaller

  • Thread starter Thread starter Aurora Wright
  • Start date Start date
  • Views Views 212,395
  • Replies Replies 813
  • Likes Likes 117

Aurora Wright

Well-Known Member
Member
Joined
Aug 13, 2006
Messages
1,570
Reaction score
4,215
Trophies
3
XP
5,084
Country
Italy
In the past couple of days I've been developing a brand-new A9LH installer.
It loads all the needed files from the SD card (no more need to build console-specific installers), and it's really fast. Other than that, it's way safer than the original one, as it does the following checks:
- Checks that it's able to encrypt FIRM partitions properly
- If you have a New 3DS and you're doing a first install, it validates your OTP. Sadly I have no way of validating the OTP on an Old3DS.
- If updating from A9LH, it verifies that the NAND keystore is the correct one (just in case) and that FIRM0 is correct before using it.
- Hashes the secret_sector, FIRM0 and FIRM1 from SD (if needed) to verify their integrity.
- Checks that stage1 and stage2 don't exceed a maximum size.

How to use:
- Copy the 3ds folder and the .dat if making a first install, and run the program from a vulnerable firmware; or load the .bin using A9LH itself. Press SELECT for a full install, or to update A9LH if booting from it.
- If you already have A9LH and are thus updating, copy a payload_stage2.bin (which was originally named stage0x5C000.bin) and a payload_stage1.bin to the a9lh folder on the root of the SD.
- If doing a full (first) install, you also need to copy these files to the a9lh folder: firm0.bin (which was new3ds90.firm), firm1.bin (which was new3ds10.firm), secret_sector.bin (only needed on Old 3DS) and your personal otp.bin.

Thanks go to everyone in #cakey on IRC, to delebile for his A9LH implementation, and to StandardBus who hardmodded my consoles and made this possible. Code for writing to the screens is from CakesFW.

Download: https://github.com/AuroraWright/SafeA9LHInstaller/releases
 
Last edited by Aurora Wright,
In the past couple of days I've been developing a brand-new A9LH installer.
It loads all the needed files from the SD card (no more need to build console-specific installers), and it's really fast. Other than that, it's way safer than the original one, as it does the following checks:
- Checks that it's able to encrypt FIRM partitions properly
- If you have a New 3DS and you're doing a first install of A9LH, or you're reinstalling from A9LH itself, it validates your OTP. Sadly I have no way of validating the OTP on an Old3DS first install.
- Hashes the secret_sector, FIRM0 and FIRM1 to verify their integrity
- Checks that stage1 and stage2 don't exceed a maximum size.

How to use:
- Copy the 3ds folder and the .dat if making a first install, and run the program from a vulnerable firmware; or load the .bin using A9LH itself. Press SELECT for a full install, and START for a stage2 update.
- If you only want to update stage2, copy a payload_stage2.bin (which is stage0x5C000.bin) to the a9lh folder on the root of the SD.
- If doing a full install, you also need to copy these files to the a9lh folder: payload_stage1.bin, firm0.bin (which is new3ds90.firm), firm1.bin (which is new3ds10.firm), secret_sector.bin and your personal otp.bin.

Thanks go to everyone in #cakey on IRC, to delebile for his A9LH implementation, and to StandardBus who hardmodded my consoles and made this possible.

Download: https://github.com/AuroraWright/SafeA9LHInstaller/releases
THIS might make me switch to A9LH. Still not sure yet.
 
  • Like
Reactions: SLiV3R and Garro
So all that's necessary is that installer and the files if doing a first time full install? With the OTP, that still means downgrading to 2.1? How stable is this for N3DS?
 
Is this only for new installs ?

Those of us who already updated and then added the screen init update, do we need this also ?
 
Last edited by peteruk,
  • Like
Reactions: MattKimura
Quick question. So then for this we can just rename new3ds90.firm to firm0.bin and same for firm1.

However, for Payload_stage1.bin, would this need to then be compile from the A9LH git? Or is this a universal file?
 
Quick question. So then for this we can just rename new3ds90.firm to firm0.bin and same for firm1.

However, for Payload_stage1.bin, would this need to then be compile from the A9LH git? Or is this a universal file?
You still need to compile stage1 and stage2. This requires no input files except for the source code, but the A9LH forks around haven't been updated for this.
 
Yep answered my question.

Works fine on a 2DS.

Nice work, makes it so now I can just keep a zip file with the bins needed, then all I need to do is add my own OTP. (obviously updating them if there's a new release of A9LH - but will make installing on new consoles very easy since no need to remember 3DSX versions or have to try 1-5x to get the 3DSX to work)
 
Last edited by ,
  • Like
Reactions: HyperT
Wait, the stage2 only update will allow me to get the ScreenInit??
If so you are a god!
 
Yeah but how reliable exactly is it? I mean this got to be better than the web installer right?
It's been 100% reliable for me. I've extracted and used 4 OTP.bin files with the web compiler and all of the resulting 3dsx files worked perfectly

This new installer is probably significantly faster though.
 
Last edited by Purge,

Site & Scene News

Popular threads in this forum