https://github.com/delebile/arm9loaderhax
here it says it does not modify anything except it loads arm9loaderhax.bin
and optionally inject the following
Inject firm0.bin in the NAND FIRM0 partition, encrypted with your xor stream.
Inject firm1.bin in the NAND FIRM1 partition, encrypted with...