Homebrew SafeA9LHInstaller

ultramario1998

no woof tipsic
Member
Joined
May 7, 2014
Messages
456
Trophies
0
Age
25
Location
Not Here
XP
695
Country
United States
On my o3ds 9.2, pressing select on the menu turns off the system instead of installing. All the required files are in the required places, and my OTP is my own. Does anyone have any info?
 

The Catboy

GBAtemp Official Catboy™: Savior of the broken
Member
Joined
Sep 13, 2009
Messages
28,046
Trophies
4
Location
Making a non-binary fuss
XP
39,715
Country
Antarctica
Just because I feel like this needs more praise! I used this on my boyfriend's 3DS and it was extremely painless.
Honestly, using the OTPhelper in combination with this, made the process feel a lot smoother and go a lot faster compared when I did my 3DS. It actually makes me pretty happy to see progress really streamlining the hacking process and making it safer/easier to do for the 3DS.
 
  • Like
Reactions: hobbledehoy899

Bedel

The key of the blade
Member
Joined
Oct 28, 2015
Messages
1,384
Trophies
0
XP
2,854
Country
United States
Can I inject a Nand (as my emunand) at the same time I'm installing A9LH with this, just as we can with the compiled installer?
 

srick7583

Active Member
Newcomer
Joined
Nov 7, 2015
Messages
29
Trophies
0
Age
34
XP
60
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, 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


Quick Question, I've got my N3ds on 9.2 running ReiNand how will I be able to keep the EmuNand over to the SysNand? and also how do I go about dumping my firm0 and firm1.bin? Sorry for such a n00b question but I've been debating about switching over to A9LH for quite some time and now is the time that I make the switch lol
 

Just Passing By

Well-Known Member
Member
Joined
Jan 3, 2016
Messages
1,563
Trophies
0
XP
663
Country
United States
Quick Question, I've got my N3ds on 9.2 running ReiNand how will I be able to keep the EmuNand over to the SysNand? and also how do I go about dumping my firm0 and firm1.bin? Sorry for such a n00b question but I've been debating about switching over to A9LH for quite some time and now is the time that I make the switch lol
You don't dump FIRM 0/1 to get a9lh. You dump your OTP.
 

Just Passing By

Well-Known Member
Member
Joined
Jan 3, 2016
Messages
1,563
Trophies
0
XP
663
Country
United States
What exactly is stage2 what are the benefits thanks un advance
It just adds screen init which allows for splash screens. It's not that great anymore though as Aureinand allows for splash screens with no-init now. I guess for N3ds though it does fix the super stable 3d bug thing.
 

marcoz9999

Well-Known Member
Member
Joined
May 27, 2012
Messages
123
Trophies
0
XP
131
Country
Mexico
Yep thats the animation on boot and thanks thats good to know i can use ctrbootmanager9 also right ? Thanks in advance
 
D

Deleted_389188

Guest
is it feasible to "downgrade" my version of a9lh (the one with screen init) to a version of a9lh without screen init? i just compiled the payload_stage1/2 bin files and i'm ready to install them but i just wanted to make sure this is something that is safe to do?
 

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
is it feasible to "downgrade" my version of a9lh (the one with screen init) to a version of a9lh without screen init? i just compiled the payload_stage1/2 bin files and i'm ready to install them but i just wanted to make sure this is something that is safe to do?
Yeah, go ahead and compile Aurora's fork of A9LH (the one without screen init) and install it with safea9lhinstaller.
 
  • Like
Reactions: fr3quency
D

Deleted_389188

Guest
Yeah, go ahead and compile Aurora's fork of A9LH (the one without screen init) and install it with safea9lhinstaller.

all right, thanks! i was almost sure that it was okay to do but i'm overwhelmingly paranoid about causing a brick so i thought i would just ask
 

The Catboy

GBAtemp Official Catboy™: Savior of the broken
Member
Joined
Sep 13, 2009
Messages
28,046
Trophies
4
Location
Making a non-binary fuss
XP
39,715
Country
Antarctica
I was actually afraid of updating my current A9LH install. My was so old, that it still locked up when my 3DS was turned on without the SD, instead of just turning off.
So today, after my weekly maintenance, I downloaded this installed and the payloads from this thread and ran the installer on my 2DS. After only maybe 2 seconds, it told me the update was successful. And it was! I was running the latest payload on my 2DS! So I did the same on my 3DS and worked again!
Seriously, painless and great way to update your current A9LH install!
 
  • Like
Reactions: daxtsu and Ricken

3xkrazy

Well-Known Member
Member
Joined
Jun 2, 2013
Messages
299
Trophies
0
XP
279
Country
United States
Hi AuroraWright,

I'm getting the "Error: payload_stage1.bin doesn't exist or\nexceeds max size" message when trying to update from delebiles original arm9loaderhax.
Code:
if(!size || size > MAX_STAGE1_SIZE)
        shutdown(1, "Error: payload_stage1.bin doesn't exist or\nexceeds max size");
payload_stage1.bin exists and is < MAX_STAGE1_SIZE (7168), so I don't get why the error message is triggering.
Code:
hle@gentoo ~/src/sdmc_luma3ds-04-29-2016/luma/sys/SafeA9LHInstaller $ ls -lh
total 2.2M
-rw-r--r-- 1 hle hle 968K Apr 29 09:07 firm0.bin
-rw-r--r-- 1 hle hle 968K Apr 29 09:07 firm1.bin
-rw-r--r-- 1 hle hle  256 Apr 29 09:07 otp.bin
-rwxr-xr-x 1 hle hle 2.3K Apr 29 09:07 payload_stage1.bin
-rwxr-xr-x 1 hle hle 6.9K Apr 29 09:07 payload_stage2.bin
-rw-r--r-- 1 hle hle 195K Apr 29 09:07 SafeA9LHInstaller.3dsx
-rw-r--r-- 1 hle hle  14K Apr 29 09:07 SafeA9LHInstaller.smdh
-rw-r--r-- 1 hle hle  512 Apr 29 09:07 secret_sector.bin
I think it's because the file path string to the payload is too long. I made some changes to your code below. If you have time, could you take a peek?
Code:
-if(f_open(&payload, "arm9loaderhax.bin", FA_READ) == FR_OK)
+if(f_open(&payload, "/luma/boot.bin", FA_READ) == FR_OK)
Code:
-path = "a9lh/otp.bin";
+path = "luma/sys/SafeA9LHInstaller/otp.bin";

-path = "a9lh/secret_sector.bin";
+path = "luma/sys/SafeA9LHInstaller/secret_sector.bin";

-path = "a9lh/firm0.bin";
+path = "luma/sys/SafeA9LHInstaller/firm0.bin";
-path = "a9lh/firm1.bin";
+path = "luma/sys/SafeA9LHInstaller/firm1.bin";

-path = "a9lh/payload_stage1.bin";
+path = "luma/sys/SafeA9LHInstaller/payload_stage1.bin";
-path = "a9lh/payload_stage1.bin";
+path = "luma/sys/SafeA9LHInstaller/payload_stage1.bin";
Code:
filepath ?= luma/sys/SafeA9LHInstaller/
Code:
filepath ?= luma/sys/SafeA9LHInstaller/

Edit: I fixed a typo and everything is now working as intended. Whoops
 
Last edited by 3xkrazy,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BigOnYa @ BigOnYa: I don't normally eat there,in fact been years, but wifey took grandkids, and brought back a...