From 2645093fae85e839680bc8954e4e89b61fe925e5 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Wed, 31 Oct 2018 23:02:38 +0530 Subject: [PATCH] Add key dumping methods --- AES-Keys.md | 54 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/AES-Keys.md b/AES-Keys.md index d9118e3..f2690c8 100644 --- a/AES-Keys.md +++ b/AES-Keys.md @@ -22,17 +22,51 @@ common1=0123456789ABCDEF0123456789ABCDEF ``` The strings `0123456789ABCDEF0123456789ABCDEF` in the example above are all placeholder and should be replaced by correct 32-digit hex values of keys. Not all lines in the example are required at the same time. Please read the explanation below about which key enables which feature -## Loading encrypted games -Required keys: `generator`, `slot0x25KeyX` and `slot0x2CKeyX`. If loading encrypted New 3DS games, `slot0x18KeyX` and `slot0x1BKeyX` are also required. +### Loading encrypted games -## Sharing Mii via QR code between citra and 3DS -Required keys: single `slot0x2DKeyN`, OR `slot0x2DKeyX`, `slot0x2DKeyY` and `generator` together. + Required keys: `generator`, `slot0x25KeyX` and `slot0x2CKeyX`. If loading encrypted New 3DS games, + `slot0x18KeyX` and `slot0x1BKeyX` are also required. +### Sharing Mii via QR code between citra and 3DS -## Generating accurate UDS data frame -Required keys: single `slot0x31KeyN`, OR `slot0x31KeyX`, `slot0x31KeyY` and `generator` together. + Required keys: single `slot0x2DKeyN`, OR `slot0x2DKeyX`, `slot0x2DKeyY` and `generator` together. +### Generating accurate UDS data frame -## Using client cert dumped from 3DS -Required keys: single `slot0x0DKeyN`, OR `slot0x0DKeyX`, `slot0x0DKeyY` and `generator` together. + Required keys: single `slot0x31KeyN`, OR `slot0x31KeyX`, `slot0x31KeyY` and `generator` together. +### Using client cert dumped from 3DS -## Installing encrypted CIA -Required keys: `generator`, `slot0x3DKeyX` and `common0`. `common1`~`5`are probably also required for some unusual CIA. \ No newline at end of file + Required keys: single `slot0x0DKeyN`, OR `slot0x0DKeyX`, `slot0x0DKeyY` and `generator` together. +### Installing encrypted CIA + + Required keys: `generator`, `slot0x3DKeyX` and `common0`. `common1`~`5`are probably also required for some + unusual CIA. + + +# Instructions to obtain AES Keys + +### Method 1 +In this method, you will need to dump bootrom, native_firm & secret section(for n3ds) from your console. + +**Step 1** - bootrom + +The bootrom boot9.bin can be dumped with Godmode9: + +``` +go to drive M: Memory Virtual +navigate to boot9.bin, press A +Select Copy to O:/gm9out +=> This will give you boot9.bin in gm9out on your SD card +The boot9.bin needs to be placed in sysdata in the user directory. +``` +**Step 2** - native_firm & secret section + +**For o3DS / o2DS** +* In GodMode9, navigate to `sysnand ctrnand` -> `title` -> and then dump `00040138/00000003` as cia and install it in Citra. + +**For n3DS/n2DS** +* In GodMode9, naviagte to `sysnand ctrnand` -> `title` -> and then dump `00040138/20000003` as cia and install it in Citra. +* Dump the secret section with godmode9 and copy the file (sector0x96.bin) to sys_data in the user folder. + +**Note:** You will still need to provide the `0x25` KeyX using Method 2. + +### Method 2 +As an alternative, instead of dumping the required files, you can provide all the [AES keys](https://github.com/citra-emu/citra/wiki/AES-Keys) by adding them to `sysdata/aes_keys.txt`. This file is located in the [User Directory](https://github.com/citra-emu/citra/wiki/User-Directory).