This repository has been archived on 2022-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Luma3DS-3GX/injector
Aurora 7dbded99a2 First commit of the AuReiNand rewrite!
- Gotten rid of the patched FIRMs, AuReiNand now finds and loads all the FIRMs from CTRNAND by default. If you are booting an emuNAND, the FIRMs will be loaded from its CTRNAND. This also applies to AGB and TWL FIRM, and allows for a very fast boot with no firmware files on the SD card.
- If for some reason (like using NTR) you do not want to use the CTRNAND FIRM, you can place a firmware.bin in the aurei folder and it will be loaded just for the default NAND.
- The way AuReiNand works has changed. Now you can specify to autoboot SysNAND or not, and a NAND is no more tied to a FIRM (since 9.0 FIRM is autodetected). If you press nothing the default NAND is booted with its own FIRM, L boots the non-default NAND with its own FIRM, R boots EmuNAND with the SysNAND FIRM if you picked "Updated SysNAND", and vice-versa.
- In order for AuReiNand to handle FIRM reboots, the .bin path needs to be hardcoded in the program. The default is /arm9loaderhax.bin (the AuReiNand.dat is also supported for 9.0 people). A PC tool was written to make changing the path easier.
- Bug fixes and stuff I forgot.
- Gelex is a saint.
2016-04-11 05:58:46 +02:00
..
source First commit of the AuReiNand rewrite! 2016-04-11 05:58:46 +02:00
LICENSE Lots of changes/new features 2016-03-29 17:43:53 +02:00
loader.rsf Lots of changes/new features 2016-03-29 17:43:53 +02:00
Makefile Lots of changes/new features 2016-03-29 17:43:53 +02:00
README.md Lots of changes/new features 2016-03-29 17:43:53 +02:00

3DS Loader Replacement

This is an open source implementation of 3DS loader system module--with additional features. The current aim of the project is to provide a nice entry point for patching 3DS modules.

Roadmap

Right now, this can serve as an open-source replacement for the built in loader. There is additional support for patching any executable after it's loaded but before it starts. For example, you can patch menu to skip region checks and have region free game launching directly from the home menu. There is also support for SDMC reading (not found in original loader implementation) which means that patches can be loaded from the SD card. Ultimately, there would be a patch system that supports easy loading of patches from the SD card.

Build

You need a working 3DS build environment with a fairly recent copy of devkitARM, ctrulib, and makerom. If you see any errors in the build process, it's likely that you're using an older version.

Currently, there is no support for FIRM building, so you need to do some steps manually. First, you have to add padding to make sure the NCCH is of the right size to drop in as a replacement. A hacky way is this patch which adds junk data. Play around with the size value to get the NCCH to be the exact same size as the one found in your decrypted FIRM dump.

Once you have a NCCH of the right size, just replace it in your decrypted FIRM and find a way to launch it (for example with ReiNAND).