Homebrew ARM9Loader -- Technical Details and Discussion

  • Thread starter Thread starter Selver
  • Start date Start date
  • Views Views 578,851
  • Replies Replies 4,025
  • Likes Likes 42
wyKu80U.png
 
I'd say run Python's 2to3 on the script, but then you'd need to hunt down a compiled binary of PyCrypto for 3.5, and I haven't been able to find any of those, so just edit the Makefile to use Python 2.7 instead.
I just replaced $(PYTHON) with py -2 to run the script under Python 2.7, but I believe that might require additional setup.
 
Okay, it's installed and now booting straight into emuNAND with AuReiNAND (thank you to Sgt. Luiz for compiling). Isn't there some way I can update sysNAND and get rid of emuNAND completely? I'm not sure how that works because AuReiNAND boots into emuAND by default.
 
Doesn't it say to use Python 3.5.1 now?

Plus the error he's getting is that the print function is missing parenthesis and IIRC, the requirement for parenthesis in that function is a python 3 thing and not a python 2 thing.
 
  • Like
Reactions: FenrirWolf
FIRM0 and FIRM1 are corrupted by being decrypted by a corrupted key (which is the one we want when you encrypt it with your OTP). FIRM1 is being decrypted as garbage, and the instruction it's jumped on is a jump to the unused NAND sector.
  1. FIRM partitions are still signed
  2. FIRM partitions are corrupted in a specific way when decrypted with the keystore
  3. Corrupted FIRM partition loads our code
From what I know the first partition is not properly signed, because we added the payload at the and, because of this the bootloader will jump over to firm1, which is properly signed and shorter than firm0. It will be decrypted to garbage, which jumps to the payload.


I also created a pack for all people who want to test my bootloader, some people seam to have problems, but it work in both variations on my o3DS.
 

Attachments

Doesn't it say to use Python 3.5.1 now?

Plus the error he's getting is that the print function is missing parenthesis and IIRC, the requirement for parenthesis in that function is a python 3 thing and not a python 2 thing.
Nope. https://github.com/delebile/arm9loaderhax
Still says 2.7.
and yeah, there's literally two line changes the script needs to be runnable in 3.x, but you still kinda need PyCrypto.
It'd be nice if a replacement that doesn't send you through mini-dependency hell cropped up (Python 2.7 plus PyCrypto which requires Visual C++ 2008 to build which itself requires a gigantic install? The fuck?), but I suppose we'll have to count our blessings.
 
  • Like
Reactions: FenrirWolf
I've been reading up on OTP and A9LH for a few days now, but I still don't see the real benefit of it...am I just missing it or is there a true awesome feature to this?

Couple things I get:
1) Reliably booting into CFW
2) Exploits the system on boot
 
  • Like
Reactions: LooneyElsa
Exploiting the system on boot is the awesome part. Once the ecosystem around it is more robust, you should be able to have your console be essentially brick-proof and immune to the consequences of system updates.
 
Exploiting the system on boot is the awesome part. Once the ecosystem around it is more robust, you should be able to have your console be essentially brick-proof and immune to the consequences of system updates.

I'm already at that point, none of my 3DS systems boot to sysnand, all go right to gateway upon boot. now menuhax isn't always agreeable, but its a pain I can live with for the benefits.
 

Site & Scene News

Popular threads in this forum