Homebrew SafeA9LHInstaller

Aurora Wright

Well-Known Member
OP
Member
Joined
Aug 13, 2006
Messages
1,549
Trophies
2
XP
4,189
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,

GBAFail

Smell my finger.
Member
Joined
Oct 26, 2015
Messages
491
Trophies
0
Location
Uranus
XP
321
Country
United States
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

RustInPeace

Samurai Cop
Member
Joined
Oct 13, 2014
Messages
5,912
Trophies
1
Age
28
XP
4,322
Country
United States
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?
 
D

Deleted User

Guest
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?
 

Aurora Wright

Well-Known Member
OP
Member
Joined
Aug 13, 2006
Messages
1,549
Trophies
2
XP
4,189
Country
Italy
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.
 
D

Deleted User

Guest
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

Purge

Well-Known Member
Member
Joined
Feb 24, 2016
Messages
205
Trophies
0
Age
29
XP
159
Country
United States
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,
General chit-chat
Help Users
    KennieDaMeanie @ KennieDaMeanie: Might be the first dlc I actually buy