Homebrew ARM9Loader -- Technical Details and Discussion

peteruk

Well-Known Member
Member
Joined
Jun 26, 2015
Messages
3,005
Trophies
2
XP
7,372
Country
United Kingdom
Summed up: Decrypted partition => readable and "modifiable", has to be reencypted to reinject
Encrypted partition => not modifiable, but can be dumped anyway and reinjected

--------------------- MERGED ---------------------------


The arm9loaderhax.bin is your CFW.
There is a payload on NAND too. This one will need to be updated. Updaters will be given for this. You won't need to compile them if you already have a9lhax installed.

thanks for explaining this, appreciate it :)
 

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
Summed up: Decrypted partition => readable and "modifiable", has to be reencypted to reinject
Encrypted partition => not modifiable, but can be dumped anyway and reinjected
That's great to know! I'll be updating then, that way I can delete my emuNAND and regain 2GB on my SD card. :D
 

RednaxelaNnamtra

Well-Known Member
Member
Joined
Dec 8, 2011
Messages
1,212
Trophies
1
XP
3,378
Country
Germany
Last I heard, screen init was going to be a patch for A9LH itself, with screen deinit handled by payloads before firmlaunching.
Yes I know, but my bootloader is included in a arm9loaderhax fork, and I also some people may be afraid to update their nand payload, these people could use the bootloader loader together with added screen init.
 

3xkrazy

Well-Known Member
Member
Joined
Jun 2, 2013
Messages
299
Trophies
0
XP
279
Country
United States
Last I heard, screen init was going to be a patch for A9LH itself, with screen deinit handled by payloads before firmlaunching.

Could you clarify this? So screen init will be built into A9LH itself... will current payloads (D9, EmuNAND9, Uncart, CFW, etc.) be usable in it's current state, or will some of them need to be modified to start at offset 0x12000?

I was hoping one of the devs would be able to patch the brahma menu into A9LH itself, so that we could select the payload we want to run during boot.
 

ChaosRipple

Well-Known Member
Member
Joined
Oct 1, 2015
Messages
272
Trophies
0
Age
29
XP
183
Country
United States
Could you clarify this? So screen init will be built into A9LH itself... will current payloads (D9, EmuNAND9, Uncart, CFW, etc.) be usable in it's current state, or will some of them need to be modified to start at offset 0x12000?

I was hoping one of the devs would be able to patch the brahma menu into A9LH itself, so that we could select the payload we want to run during boot.

IIRC, everything before the offset 0x12000 is ROP code. That's why you need to trim that part off of the CFW for A9LH. So my guess is that you will still need to trim those byes out for a CFW to work unless someone creates a Arm9Loader.bin that will read the CFW starting at 0x12000.
 

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
Summed up: Decrypted partition => readable and "modifiable", has to be reencypted to reinject
Encrypted partition => not modifiable, but can be dumped anyway and reinjected

--------------------- MERGED ---------------------------


The arm9loaderhax.bin is your CFW.
There is a payload on NAND too. This one will need to be updated. Updaters will be given for this. You won't need to compile them if you already have a9lhax installed.
CFW? How? Renaming the main cfw file (like cake.dat,for cake) to arm9loaderhax.bin?
 

3xkrazy

Well-Known Member
Member
Joined
Jun 2, 2013
Messages
299
Trophies
0
XP
279
Country
United States
CFW? How? Renaming the main cfw file (like cake.dat,for cake) to arm9loaderhax.bin?

rename build/main.bin to arm9loaderhax.bin for Cakes and ReiNand. I don't think the offical Cakes support A9HL right now, but I might be wrong according to it's updated github. I'll check that out later.
 

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
Can someone explain this in words everyone can understand?
How Arm9LoaderHax works?

I'm probably not the best person to answer this, but I'll try my best. Arm9LoaderHax loads the hax/payload about a millisecond after you press the power button, even before the 3DS home menu boots. Unlike menuhax which boots after most things from sysNAND have loaded (one of the important things being theme data). This means you have control over Arm9 before boot, which means way faster boot times and a 100% boot rate, plus more.

Any feel free to correct me or add on to what I said.
 
  • Like
Reactions: Potato hoarder

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
Can someone explain this in words everyone can understand?
Everyone can understand,just have to do some efforts...

Like me :P I was a noob but always try to understand,so now I can explain lot of thing on 3ds scene...

--------------------- MERGED ---------------------------

How Arm9LoaderHax works?

I'm probably not the best person to answer this, but I'll try my best. Arm9LoaderHax loads the hax/payload about a millisecond after you press the power button, even before the 3DS home menu boots. Unlike menuhax which boots after most things from sysNAND have loaded (one of the important things being theme data). This means you have control over Arm9 before boot, which means way faster boot times and a 100% boot rate, plus more.

Any feel free to correct me or add on to what I said.
Pretty sure it's good.
 
  • Like
Reactions: Potato hoarder

Potato hoarder

Hoarder of Potatoes
Member
Joined
Feb 2, 2016
Messages
388
Trophies
0
Location
Toronto, Ontario, Canada
XP
255
Country
Canada
Everyone can understand,just have to do some efforts...

Like me :P I was a noob but always try to understand,so now I can explain lot of thing on 3ds scene...

--------------------- MERGED ---------------------------


Pretty sure it's good.
If you can explain lots on the 3ds scene, could you start with how arm9loader hax works? :P
 

RednaxelaNnamtra

Well-Known Member
Member
Joined
Dec 8, 2011
Messages
1,212
Trophies
1
XP
3,378
Country
Germany
IIRC, everything before the offset 0x12000 is ROP code. That's why you need to trim that part off of the CFW for A9LH. So my guess is that you will still need to trim those byes out for a CFW to work unless someone creates a Arm9Loader.bin that will read the CFW starting at 0x12000.
That's something my bootloader already does(on the devices it works).


Maybe I will try to port ctrbootmanager, after my bootctr like bootmanager is working, and nobody did it already till then. While Bootctr is more simple, ctrbootmanager has a nice ui, so especially with screen init it would be an interessting project :)
 

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
How it works and what you can do with it
Well, it's in the OP...
How Arm9LoaderHax works?

I'm probably not the best person to answer this, but I'll try my best. Arm9LoaderHax loads the hax/payload about a millisecond after you press the power button, even before the 3DS home menu boots. Unlike menuhax which boots after most things from sysNAND have loaded (one of the important things being theme data). This means you have control over Arm9 before boot, which means way faster boot times and a 100% boot rate, plus more.

Any feel free to correct me or add on to what I said.

As for what you can do with it, load CFW essentially. Once you install A9LH you cannot boot your 3DS without a payload. So you'll need to be using something like (Au)ReiNAND or Cakes.

Currently AuReiNAND allows you to boot into emuNAND and sysNAND.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Bunjolio @ Bunjolio: bleh