3DS ROM images can be in either encrypted or unencrypted form. Typically, homebrew images would be unencrypted while backups of retail titles would be encrypted. Citra only works with decrypted images, so any encrypted image needs to be decrypted first. NOTE: You must be on firmware 9.2 or below to dump On your PC, download the Gateway Launcher from their website. Place the Launcher.dat file on the root of your SD card, and navigate to http://dukesrg.no-ip.org/3ds/go in your 3DS browser.
Once the Gateway Launcher opens up, there will be an option to dump a ROM from its cart. After selecting the option, you will have to wait for some time while the game is saved to your SD card. Repeat this process for every game you want to dump. Step 2: Generating Xorpads
On your PC, download or compile Decrypt9. Run the ncchinfo_gen.py python script with the path to your dumped game as the first argument. This will generate the ncchinfo.bin file, which you should place on your SD card.
Then, if you're on firmware that is less than 7.x, create/edit slot0x25KeyX.bin in a hex editor and put in the 7.x KeyX (no, we won't give it to you).
Place the compiled Decrypt9 Launcher.dat on the root of your SD card, and navigate to http://dukesrg.no-ip.org/3ds/go in your 3DS browser. It will generate the required Xorpads for your game. This will take a while.
Repeat this process for every game you want to dump. Step 3: Applying Xorpads
On your PC, download or compile xorer. Run xorer with run it from the command line with the 3DS application as the first argument, and the xorpad files as the subsequent arguments. Example:
xorer someapp.app -e exheader.xorpad -x exefs.xorpad -r romfs.xorpad
If the program is a 7.x type program and you have both an exefs_norm.xorpad and an exefs_7x.xorpad file, specify the 7x variant as well using -7 exefs_7x.xorpad. If you've already merged them through some other means, just pass the merged file in with -x.
More infomation citra official wiki