Homebrew ARM9Loader -- Technical Details and Discussion

  • Thread starter Thread starter Selver
  • Start date Start date
  • Views Views 572,835
  • Replies Replies 4,025
  • Likes Likes 42
Which source should I sync in order to compile arm9loaderhax with my OTP.bin?

1) https://github.com/dark-samus/arm9loaderhax (yours) or 2) https://github.com/capito27/arm9loaderhax

I like experimental stuff btw so which one? :P
well capito's fork has the needed files already in data_input (can't believe they're still there tbh) there isn't anything actually different about it otherwise... mine has some cool stuff, we're laying the groundwork for a recovery menu and a way to boot a firm with no SD card in
 
Which source should I sync in order to compile arm9loaderhax with my OTP.bin?

1) https://github.com/dark-samus/arm9loaderhax (yours) or 2) https://github.com/capito27/arm9loaderhax

I like experimental stuff btw so which one? :P
you should probably grab the "data_input" folder from my github (the second one) and take everything else from dark-samus (just make sure to replace the "otp.bin" in data_input with yours !)

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

well capito's fork has the needed files already in data_input (can't believe they're still there tbh) there isn't anything actually different about it otherwise... mine has some cool stuff, we're laying the groundwork for a recovery menu and a way to boot a firm with no SD card in
how are you so surprised ? nintendo knows that it's totally useless to nuke the git since all the files are widely available elsewhere, so there wouldn't be much point in them doing that (and i could probably make a new repo as well if it happened, tbh)
 
you should probably grab the "data_input" folder from my github (the second one) and take everything else from dark-samus (just make sure to replace the "otp.bin" in data_input with yours !)

So I sync dark_samus3's Git and replace his "data_input" folder with yours except I paste MY OWN OTP.bin. I see your folder contains 3 more files(new3ds10.firm, new3ds90.firm and secret_sector.bin). What are these for?
 
So I have a backup of my untouched sysNAND, can I now make a backup of my sysNAND that contains a9lh so I can recover to it? Or can I only recover to the completely clean one and run the a9lh.3dsx again?
 
So I sync dark_samus3's Git and replace his "data_input" folder with yours except I paste MY OWN OTP.bin. I see your folder contain 3 more files(new3ds10.firm, new3ds90.firm and secret_sector.bin). What are these for?
sure, do that, as for the 3 other files, they are files required to generate the arm9loaderhax installer, the new3ds10.firm is the decrypted firm of 10.2 new3ds (required to trigger arm9loaderhax), the new3ds90.firm is the firm from 9.0(?) new3ds (it is required as it's larger than the 10 and thus a small payload can be append to it, to load a larger payload) and secret_sector.bin contains data related to generating N3DS only AES keys, including the one used to decrypt the kernel9 from firm (it needs to be modified in a way that the key used to decrypt kernel9 will decrypt the first instruction into a jump to the payload location), as you can see, all 3 files are used to trigger arm9loaderhax.

If you want more information, i recommend you reading this post on delebile's "blog" (not sure if it's supposed to be a blog or whatev')

edit : if you see that i made a mistake or wrote some nonsense, don't hesitate to tell me ^^

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

and a way to boot a firm with no SD card
reading/decrypting firm1/0 partition to ram and firmlaunching it ?
and also, have you found a way to detect if no SD card is inserted without crashing the system ?
 
  • Like
Reactions: fr3quency
reading/decrypting firm1/0 partition to ram and firmlaunching it ?
and also, have you found a way to detect if no SD card is inserted without crashing the system ?
No, storing a firm in the unused space in firm0 or 1, reading that and firmlaunching it... also yes, me and someone else did some investigation and have figured that out, hence the annon contribution in the commit that let us do that on my repo
 
  • Like
Reactions: Selver and peteruk
sure, do that, as for the 3 other files, they are files required to generate the arm9loaderhax installer, the new3ds10.firm is the decrypted firm of 10.2 new3ds (required to trigger arm9loaderhax), the new3ds90.firm is the firm from 9.0(?) new3ds (it is required as it's larger than the 10 and thus a small payload can be append to it, to load a larger payload) and secret_sector.bin contains data related to generating N3DS only AES keys, including the one used to decrypt the kernel9 from firm (it needs to be modified in a way that the key used to decrypt kernel9 will decrypt the first instruction into a jump to the payload location), as you can see, all 3 files are used to trigger arm9loaderhax.

If you want more information, i recommend you reading this post on delebile's "blog" (not sure if it's supposed to be a blog or whatev')

edit : if you see that i made a mistake or wrote some nonsense, don't hesitate to tell me ^^

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


reading/decrypting firm1/0 partition to ram and firmlaunching it ?
and also, have you found a way to detect if no SD card is inserted without crashing the system ?

Site bookmarked. :) I guess one final question(I'm so sorry guys. I really feel lame with all those questions). If I downgrade to 2.1, then upgrade etc etc, is there a possibility my NANDs(syNAND & emuNAND) will be linked? I saw some people here saying their NANDs were linked. Is there a way to know they are? (My sysNAND doesn't have anything installed and is 100% vanilla as I removed all the extra titles)
 
Site bookmarked. :) I guess one final question(I'm so sorry guys. I really feel lame with all those questions). If I downgrade to 2.1, then upgrade etc etc, is there a possibility my NANDs(syNAND & emuNAND) will be linked? I saw some people here saying their NANDs were linked. Is there a way to know they are? (My sysNAND doesn't have anything installed and is 100% vanilla as I removed all the extra titles)
you can check if they are linked easily, just try setting a theme on emunand, if the same theme appears on sysnand, it means they are linked, otherwise they aren't
and to make sure both of them stay unlinked after all the process (assuming they already are unlinked to begin with), make sure to make a emunand and nand backup before doing anything, and once you have your otp dumped, restore them both.
 
  • Like
Reactions: fr3quency
I have recompiled it, and on the installation i open the 3dsx and i see a text, red screen and back to homebrew launcher. Its installed or bad compilation, how i can test the screen-init ?
 
Hello.
Sgt Lutz just build me Arm9loaderhax with screen init. But now the 3d is broken like menuhax! How can I fix it? I thought I read that the 3d isn't broken with arm9loaderhax and screen!
Update AuReiNAND.

10.6 with the old arm9loaderhax and the firmware_bin of 9.0
You need to be on 9.2 with the 9.0 FIRM.
 
  • Like
Reactions: einhuman197

Site & Scene News

Popular threads in this forum