Hacking Compile A9LH on demand

  • Thread starter Thread starter felipejfc
  • Start date Start date
  • Views Views 38,879
  • Replies Replies 194
  • Likes Likes 35
Any chance you could set Access-Control-Allow-Origin to *? I'm trying to build a web-form to make this easier for people.

Or would you prefer I just hosted the thing myself or set up a proxy?

It would be great to have a web-form, i did not because of lazyness :p
Feel free to host it yourself! And I will update the link on the OP
regards
 
It would be great to have a web-form, i did not because of lazyness :P
Feel free to host it yourself! And I will update the link on the OP
regards
I was going to simply POST to your URL but I can't do that without you returning the right Access Control headers to allow external sites to POST to it.
 
people seem to think the otp and arm9 3dsx sha hash should match each other(i have been asked a few times) im not sure how much clearer you can make it but i guess it needs to be. maybe just put a line that says otp will not match arm9 or something
 
@pbandj or anyone are you able to compile this with darksamus newest commits that shuts down the 3ds if no sd card is present?

Or can this tool do it and use that repository?
 
@pbandj or anyone are you able to compile this with darksamus newest commits that shuts down the 3ds if no sd card is present?

Or can this tool do it and use that repository?
nope as i use this tool so whatever its using is what i can do. i keep meaning to set up a vm for compiling but stuff like this makes me go it can wait lol,
 
  • Like
Reactions: Skater4599
So, I'm providing a online service to compile A9LH, it is very simple, just post your OTP.bin (must be raw bytes) to https://felipejfc.com/a9lh and wait for your arm9loaderhax.3dsx.

Method 1 (Python script):

Requirements:
Python installed.

LINK
Put it in same folder as otp.bin and double click it. done. Just check shasums and you are good.

Method 2 (curl):

curl --data-binary "@otp.bin" -D headers https://felipejfc.com/a9lh > arm9loaderhax.3dsx

the command takes some time to run,
two files will be created, headers and arm9loaderhax.3dsx, in headers, check
Installer-Sha256
OTP-Sha256

These are the sha256 of the OTP the server used to compile arm9loaderhax.3dsx, and arm9loaderhax.3dsx sha256 the moment it leave the server, both should match with your newly created arm9loaderhax.3dsx and the OTP.bin you've sent.

Do not install if the hashes don't match

It is using delebiles fork of a9lh with screen init support.


source

Hi, felipejfc,

I finally managed to make your script work last night, after some unsuccessful attempts and later reading this whole thread and finding out that a couple of lines should be added at the beginning of the script:


import ssl

ssl._create_default_https_context = ssl._create_unverified_context



Could you please update the attached script of your original post on page 1, so that it works for everyone on the first go? Thank you for the great job!


import ssl

ssl._create_default_https_context = ssl._create_unverified_context

import urllib2
import shutil

data = open('./otp.bin', 'rb').read()
print("uploading otp file...")
req = urllib2.Request('https://felipejfc.com/a9lh', data)
res = urllib2.urlopen(req)

with open('arm9loaderhax.3dsx', 'wb') as f:
shutil.copyfileobj(res, f)

print('arm9loaderhax.3dsx received! now check the sha256sums')

print('arm9loaderhax.3ds sha256: ' + res.info().getheader('Installer-Sha256'))
print('otp.bin sha256: ' + res.info().getheader('OTP-Sha256'))

print('press enter to exit')

raw_input()
 
Last edited by satelman,
Downgrade to 2.1 and then dump it. It's not really noob friendly yet. Read the op of the arm9 loader technical thread.
Okay *slams door* I DO NOT WANT TO DO THAT AGAIN! (i dont like downgrading :-()

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

Downgrade to 2.1 and then dump it. It's not really noob friendly yet. Read the op of the arm9 loader technical thread.
Wait, can i do this only on emunand?
 
Wait, can i do this only on emunand?
If you read the guide, you'd find out.

You run the downgrader on EmuNAND until it works without any reported errors, then inject it to SysNAND (after fixing it if on N3DS)
 
@felipejfc could u also implement this process on dark samus branch? because its the version curently worked on. because of added features, sooner or later, people choose to use dark samus branch. tnx
 
@felipejfc could u also implement this process on dark samus branch? because its the version curently worked on. because of added features, sooner or later, people choose to use dark samus branch. tnx
Don't worry, Dark_Samus3's repo is kind of a beta repo, when features are reported stable they get merged in Delebile's repo, like screen init was.
If you want bleeding edge features, you should know how to compile it yourself anyway.
 
Last edited by CreativeMan,
  • Like
Reactions: Mrrraou and pbanj
Stupid question with the version I compile on my pc it outputs me firm and other files. Do I need them in the HBL folder like before or is this .3dsx self contained?
 

Site & Scene News

Popular threads in this forum