Updated Decryption (markdown)

archshift 2015-05-24 22:54:27 -07:00
parent b3bc1d8c81
commit 1016908b62

@ -12,7 +12,6 @@ This guide focuses on how do dump games in Windows, but since all of the program
- A way to read SD Cards on a PC.
**For Windows Users**
- An installation of Python ([Python 2.7.9](https://www.python.org/downloads/release/python-279/) was used during the creation of this guide)
**For 3DSes with firmwares older than 7.x when decrypting a 7.x firmware or newer game**
@ -21,7 +20,7 @@ This guide focuses on how do dump games in Windows, but since all of the program
<br/>
#### **STEP 1 Prepping the Dumper**
On your computer, [download the latest firmware package of the gateway launcher from their website](http://www.gateway-3ds.com/downloads). Within one of the folders (ex: /GATEWAY ULTRA 3.2.1 PUBLIC BETA/ for version 3.2.1) will be a Launcher.dat file. Place the Launcher.dat file on the root of the SD Card and place it into your 3DS. Then, in the 3DS browser, navigate to http://dukesrg.no-ip.org/3ds/go on the 3DS Browser. From here, your 3DS may display some weird colors or even say that it cannot load the page, but the Gateway loader should boot up regardless.
On your computer, download the [latest firmware package of the gateway launcher](http://www.gateway-3ds.com/downloads) from their website. Within one of the folders (ex: `/GATEWAY ULTRA 3.2.1 PUBLIC BETA/` for version 3.2.1) will be a Launcher.dat file. Place the Launcher.dat file on the root of the SD Card and place it into your 3DS. Then, in the 3DS browser, navigate to http://dukesrg.no-ip.org/3ds/go on the 3DS Browser. From here, your 3DS may display some weird colors or even say that it cannot load the page, but the Gateway loader should boot up regardless.
<br/>
@ -30,12 +29,18 @@ Within the gateway launcher you have a lot of options. The only one necessary i
You can now copy this to your computer to clear space; this ROM file will **never** need to be on your SD card again. On a smaller SD card, you'll need that space for a later step anyway!
**NOTE:** If a game is greater than 4GiB, it will be split into multiple files when it dumps. Using generic names, it would be Game.3D0, Game.3D1 etc. On Windows 7, we can fix this easily by putting both files into the same folder, opening up command prompt and navigating to that folder. We'll use bravely default as the example here.
**NOTE:** If a game is greater than 4GiB, it will be split into multiple files when it dumps. Using generic names, it would be Game.3D0, Game.3D1 etc. On Windows 7, we can fix this easily by putting both files into the same folder, opening up command prompt and navigating to that folder. We'll use Bravely Default as the example here.
**On Windows**
```
Copy /b "Bravely Default.3DS0"+"Bravely Default.3DS1" "Bravely Default.3DS"
```
**On a *NIX system**
```
cat "Bravely Default.3DS0" "Bravely Default.3DS1" > "Bravely Default.3DS"
```
This will give you a single combined file that is your entire ROM dump. If you're certain you've done this correctly, you can delete the input files and just keep the .3DS produced.
<br/>
@ -47,7 +52,7 @@ For the purposes of this guide, think of the xorpad as a decryption key that wil
**NOTE:** Python is required for this step. During the creation of this guide, [Python 2.7.9](https://www.python.org/downloads/release/python-279/) was used.
The first thing youll need to do is download or compile a program called [Decrypt9](https://github.com/archshift/Decrypt9). Either method works. Within your Decrypt9 folder, there will be a scripts folder with a few scripts in it. We only care about one, _ncchinfo_gen.py_. The others can be ignored.
The first thing youll need to do is obtain (either download or compile) a program called [Decrypt9](https://github.com/archshift/Decrypt9). Within your Decrypt9 folder, there will be a scripts folder with a few scripts in it. We only care about one, `ncchinfo_gen.py`. The others can be ignored.
Assuming Python is installed correctly, open up command prompt and navigate to this folder. A shortcut for this is to hold shift and right click on the background of the explorer window and then click "Open Command Window Here" in the options. It can be helpful when typing out long paths is annoying! Either way, just make it so that you can run the python file from the command prompt with the ROM following. For the ROM file, if you don't want to type out a big long path, you can just drag the ROM onto the command prompt and it will automatically fill everything out. Your command should look something like this.
@ -57,7 +62,6 @@ ncchinfo_gen.py "D:\dump\Cubic Ninja.3DS"
If you have many games, you can input multiple of them to put many games in at once. NOTE: Make sure your SD card has enough space, the xorpads will amount to the same size as a game.
```
ncchinfo_gen.py "D:\dump\Cubic Ninja.3DS" "D:\dump\Pokemon X.3DS"
```
@ -96,36 +100,31 @@ Then, using whichever method you prefer, navigate to that folder in command prom
**NOTE:** If youre unsure you did everything correctly, backup the .3DS file! This will overwrite the encrypted one with a decrypted one.
xorer takes 5 inputs total. First make sure you have the program put in, if you've navigated to the folder, that just means typing in xorer so that it knows to run that program. Next up, have one space and navigate to (or drag and drop on) the 3DS dump. If we use the example for earlier, it will look like this currently.
xorer takes 5 inputs total. First make sure you have the program put in, if you've navigated to the folder, that just means typing in xorer so that it knows to run that program. Next up, add one space and navigate to (or drag and drop on) the 3DS dump. If we follow the earlier example, it will look like this currently:
```
xorer "D:\dump\Cubic Ninja.3DS"
```
So, now the beginning of the command is correct. Next we have to feed it all the xorpads. Add a space after the ROM dump and type "-e" and another space. Now find to the xorpad that has exheader in its name. You can either type out its name (if it's in the directory alongside the xorer program) or you can drag it into the command window (regardless of wherever it is at.)
Your command should now show something like this.
So, now the beginning of the command is correct. Next we have to feed it all the xorpads. Add a space after the ROM dump and type `-e` and another space. Now find to the xorpad that has exheader in its name. You can either type out its name (if it's in the directory alongside the xorer program) or you can drag it into the command window (regardless of wherever it is at).
Your command should now show something like this:
```
xorer "D:\dump\Cubic Ninja.3DS" -e "0004000000046500.Main.exheader.xorpad"
```
Now we repeat the step for the remaining commands. -x points to the exefs_norm.xorpad, and then -r points to the romfs_xorpad. For Cubic Ninja, the command would now look like this.
Now we repeat the step for the remaining commands. `-x` points to the `exefs_norm.xorpad`, and then `-r` points to the `romfs.xorpad`. For Cubic Ninja, the command would now look like this:
```
xorer "D:\dump\Cubic Ninja.3DS" -e "0004000000046500.Main.exheader.xorpad"
-x "0004000000046500.exefs_norm.xorpad" -r "0004000000046500.romfs.xorpad"
```
Now all we have to do is set the output file. This is what the finalized command will look like for most games, except replaced with your file names.
Now all we have to do is set the output file. This is what the finalized command will look like for most games, except replaced with your file names:
```
xorer "D:\dump\Cubic Ninja.3DS" -e "0004000000046500.Main.exheader.xorpad"
-x "0004000000046500.exefs_norm.xorpad" -r "0004000000046500.romfs.xorpad" -o CubicNinjaDecrypted.3DS
```
If you're confident in yourself and have done this before, you can instead pass "--inplace" so it will overwrite the encrypted ROM. If you're unsure you did this correctly always use -o and check your game.
If you're confident in yourself and have done this before, you can instead pass `--inplace` so it will overwrite the encrypted ROM. If you're unsure you did this correctly always use `-o` and check your game.
```
xorer "D:\dump\Cubic Ninja.3DS" -e "0004000000046500.Main.exheader.xorpad"
@ -134,7 +133,7 @@ xorer "D:\dump\Cubic Ninja.3DS" -e "0004000000046500.Main.exheader.xorpad"
**For 7.x or newer firmware games**
For newer games, the command is slightly different. We have to add one more command to give it the 7.x key. This is noted with the -7 command and placing in the exefs_7x.xorpad beyond it.
For newer games, the command is slightly different. We have to add one more command to give it the 7.x key. This is noted with the `-7` command and placing in the `exefs_7x.xorpad` after it.
```
xorer Pokemon.3ds -e 0004003000009702.Main.exheader.xorpad