SafeA9LHInstaller

Discussion in '3DS - Homebrew Development and Emulators' started by Aurora Wright, Mar 19, 2016.

  1. Aurora Wright
    OP

    Aurora Wright GBAtemp Advanced Maniac

    Member
    1,544
    4,099
    Aug 13, 2006
    Italy
    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
     
    Last edited by Aurora Wright, Mar 27, 2016
  2. TR_mahmutpek

    TR_mahmutpek GBAtemp Advanced Fan

    Member
    637
    134
    Jul 28, 2015
    Very nice! Thanks :D
     
    Lilith Valentine likes this.
  3. WiiUBricker

    WiiUBricker Insert Custom Title

    Member
    7,069
    4,135
    Sep 19, 2009
    Argentina
    Espresso
    Waits for @Plailect to include this to his excellent guide.
     
    Ricken, Sev501, Dartz150 and 2 others like this.
  4. Giodude

    Giodude Ruler of Italy

    Member
    GBAtemp Patron
    Giodude is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    4,138
    1,249
    May 17, 2015
    United States
    New York
    i wish this came out earlier before i did it, but mine was successful. I will definitely use this to install a9lh on like the 5 3ds's dumped on me by friends to hack.
     
    Ricken and Harvest God like this.
  5. GBAFail

    GBAFail Smell my finger.

    Member
    491
    193
    Oct 26, 2015
    United States
    Uranus
    THIS might make me switch to A9LH. Still not sure yet.
     
    SLiV3R and Garro like this.
  6. Dr. Dew

    Dr. Dew GBAtemp Regular

    Member
    280
    62
    Oct 31, 2015
    Sudan
    Khartoum
    What exactly is the stage 2 upgrade?
     
    SLiV3R likes this.
  7. RustInPeace

    RustInPeace Samurai Cop

    Member
    3,117
    2,498
    Oct 13, 2014
    United States
    So all that's necessary is that installer and the files if doing a first time full install? With the OTP, that still means downgrading to 2.1? How stable is this for N3DS?
     
  8. guitarheroknight

    guitarheroknight 1.6180339887

    Member
    2,452
    2,155
    Nov 9, 2014
    Croatia
    Grand Line
    So wait, no more compiling?
     
  9. Goombi

    Goombi Meme crypto = my crypto

    Member
    143
    53
    Jun 1, 2014
    France
    RnVja1lvdU15RHVkZQ
    Waw excellent work! That will help a lot of people!
    Going to add this to your new payload chaining feature :P
     
  10. peteruk

    peteruk GBAtemp Advanced Maniac

    Member
    1,512
    713
    Jun 26, 2015
    Is this only for new installs ?

    Those of us who already updated and then added the screen init update, do we need this also ?
     
    Last edited by peteruk, Mar 19, 2016
    MattKimura likes this.
  11. Supster131

    Supster131 (づ。◕‿‿◕。)づ *:・゚✧

    Member
    3,194
    2,212
    Jan 19, 2016
    United States
    My Computer
    -snip-
     
    Last edited by Supster131, Mar 19, 2016
  12. Purge

    Purge GBAtemp Regular

    Member
    195
    72
    Feb 24, 2016
    United States
    You already didn't need to compile anymore because there's a reliable auto web compiler which does everything for you once you drag and drop your OTP.bin
     
  13. Aurora Wright
    OP

    Aurora Wright GBAtemp Advanced Maniac

    Member
    1,544
    4,099
    Aug 13, 2006
    Italy
    For new installs and for A9LH updates :)
     
  14. peteruk

    peteruk GBAtemp Advanced Maniac

    Member
    1,512
    713
    Jun 26, 2015
    thank you :)
     
  15. guitarheroknight

    guitarheroknight 1.6180339887

    Member
    2,452
    2,155
    Nov 9, 2014
    Croatia
    Grand Line
    Yeah but how reliable exactly is it? I mean this got to be better than the web installer right?
     
  16. gunner007

    gunner007 GBAtemp Advanced Maniac

    Member
    1,506
    368
    Dec 31, 2013
    United States
    Quick question. So then for this we can just rename new3ds90.firm to firm0.bin and same for firm1.

    However, for Payload_stage1.bin, would this need to then be compile from the A9LH git? Or is this a universal file?
     
  17. Aurora Wright
    OP

    Aurora Wright GBAtemp Advanced Maniac

    Member
    1,544
    4,099
    Aug 13, 2006
    Italy
    You still need to compile stage1 and stage2. This requires no input files except for the source code, but the A9LH forks around haven't been updated for this.
     
  18. gunner007

    gunner007 GBAtemp Advanced Maniac

    Member
    1,506
    368
    Dec 31, 2013
    United States
    Yep answered my question.

    Works fine on a 2DS.

    Nice work, makes it so now I can just keep a zip file with the bins needed, then all I need to do is add my own OTP. (obviously updating them if there's a new release of A9LH - but will make installing on new consoles very easy since no need to remember 3DSX versions or have to try 1-5x to get the 3DSX to work)
     
    Last edited by gunner007, Mar 19, 2016
    HyperT likes this.
  19. sweis12

    sweis12 GBAtemp Maniac

    Member
    1,242
    513
    Oct 20, 2013
    Saint Kitts and Nevis
    Wait, the stage2 only update will allow me to get the ScreenInit??
    If so you are a god!
     
  20. Purge

    Purge GBAtemp Regular

    Member
    195
    72
    Feb 24, 2016
    United States
    It's been 100% reliable for me. I've extracted and used 4 OTP.bin files with the web compiler and all of the resulting 3dsx files worked perfectly

    This new installer is probably significantly faster though.
     
    Last edited by Purge, Mar 19, 2016