How to Dump and Backup eShop Games and DLC

How to Dump and Backup eShop Games

The main focus for this is eShop games, but this also works for DLC, Updates and Themes.

I decided to make this guide as there really wasn’t any that was clear cut and n00b friendly. It still lacks the technical comments as to what is going on, but this should get most of you backing up your eshop games, dlc, updates etc.

There are actually two different ways you can do this, either using local data or re-downloading from CDN. The easy method is to re-download but it will usually not convert demos into .3ds format, only CIA. If you really care about dumping demos and want them in .3ds you need to use the manual method which is a lot of work for a demo dump so leave it in CIA.

Thanks to ILYS and Anon (you know who you are) for the main guides and tools to do this. I more or less revised this and made some things a little bit easier to do.

What you need:

3Ds/3Ds XL 4.1-4.5 FW

Gateway

Python 2.7: https://www.python.org/download/releases/2.7/

eShop Toolkit: http://www.mediafire.com/download/0mf6b74ileobntk/eShop_Toolkit.7z

slot0x25KeyX.bin: Not included you will have to google it.

1. Copy Launcher.dat + slot0x25KeyX.bin from eShop Toolkit\To SD onto your 3Ds’ internal (Big) SD card.

2. Start up your 3DS click system settings, other settings, profile and DS Profile to start the launcher.

3. On the launcher menu choose “NAND FAT16 partition padgen” option and wait for it to finish and shut down your 3DS.

4. Back on the PC, plug in your SD card and copy all of the newly created “.xorpad” files over to the directory eShop Toolkit\Tools.

5. Open emuNANDTool_1.0.1 and extract your emuNAND to the same directory where you have the Xorpad files (eShop Toolkit\Tools).

6. Then drag your emunand dumped file onto the batch file “dragNandDumpForFat16” and let it finish.

7. Next run the “decrypt.bat”, as long as you didn’t change any file names it should work. If not you can manually run the cmd: padxorer.exe nameofthenand nameofthexorpad

8. You can ahead and delete emuNAND.bin & the xorpad files, and then rename nand.fat16.bin.out to nand.fat16.bin.

9. Open WinImage (eShop Toolkit\Tools\WinImage) and chose File and Open and load up the nand.fat16.bin file.

10. In Winimage folder dir, look for the folder called “dbs” and open it. Then click on “ticket.db” and drag it to the folder eShop Toolkit\ticket-titlekey_stuff. You can also right click on “ticket.db” and chose extract.

11. Now run the “TileKeys.bat” in the eShop Toolkit\ticket-titlekey_stuff, and it should create a file called encTitleKeys.bin.

12. Copy encTitleKeys.bin to your SD card, startup your 3DS and run the launcher and this time chose “Title Key Decryptor” option.

13. Once again when done shut down you3DS and plug SD card back into the PC. Copy the file “decTitleKeys.bin” to the eShop Toolkit\ticket-titlekey_stuff dir.

14. Run the “PrintKeys.bat” and you will see a list of all your 3DS titles and keys. In that windows right click and chose “mark”. Then copy out what you need into notepad.

15. Now go to CDto3DS dir (eShop Toolkit\to3DS\CDNto3DS) and right click on “backup.bat” file and edit it with your keys.

16. Run the backup.bat and it will automatically download and pack all the titles you placed in there.

How to know what title/game you are looking for?

I haven’t found an easy answer per say, but generally knowing your SD card and where most of the data types are kept you should be able to figure some out. If you are a complete n00b like I was, it takes a little learning.
Here’s what I have been able to gather, in general the title dir contains sub dir for certain content types.

title\0004000e – contains Updates.
title\0004008c – contains DLC.
title\00040000 – contains Games/Apps.
title\00040002 – contains Demos.
 

JohnathanMonkey

Well-Known Member
Member
Joined
Apr 26, 2013
Messages
633
Trophies
1
Age
36
XP
744
Country
United States
just use FunkyCIA :( it would have been so much easier and faster than all of that...
you already have your ticket.db (although you got it in the difficult slow manual way), so you just need to run the tool and that is it :)

but to answer your question, from what you pasted... look at the last line, it seems for some reason it wants more rights, as in it wants you to run as admin (not sure what wants that, or why... but that is what it looks like to me)

Well I have an issue with that now :/ Says can't open tik

Any help would be greatly appreciated

I have 2 files downloaded: 00000000 and tmd
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
Well I have an issue with that now :/ Says can't open tik

Any help would be greatly appreciated

I have 2 files downloaded: 00000000 and tmd

did you download those 2 files yourself or did FunkyCIA do it for you?
it says it can't open tik, because if you only have those 2 files, well you need the ticket (the cetk) too
 

misterb98

Moral Gateway User. Wat.
Member
Joined
Aug 24, 2010
Messages
449
Trophies
0
XP
290
Country
United States
Posted my issue on cearp's thread, but Ill post it here as well.

using FunkyCIA, I generated a valid DLC CIA for all my Fire Emblem DLC. It works fine on the system the ticket was dumped from. However, when installing on another system (my JPN 3ds), it throws an error when opening the DLC selection area. Is this an auth issue?
 

JohnathanMonkey

Well-Known Member
Member
Joined
Apr 26, 2013
Messages
633
Trophies
1
Age
36
XP
744
Country
United States
did you download those 2 files yourself or did FunkyCIA do it for you?
it says it can't open tik, because if you only have those 2 files, well you need the ticket (the cetk) too
I should've specified sorry. This is the download from the toolkit and I put the ticket.db in the folder and came up with the same message. I am trying to get funkycia to download it now but apparently I am too much of a noob to get it to work lol. I have the following:

nkyCIA\FunkyCIA.py" -type gameapp -title (The title I got with the long numbers)
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
Posted my issue on cearp's thread, but Ill post it here as well.


using FunkyCIA, I generated a valid DLC CIA for all my Fire Emblem DLC. It works fine on the system the ticket was dumped from. However, when installing on another system (my JPN 3ds), it throws an error when opening the DLC selection area. Is this an auth issue?

very weird it only installs on the original 3ds... i don't think it's a FunkyCIA issue..., well, i have no idea why so i really don't know... so the dlc installs fine? is the usa game on the jpn 3ds, is it 3ds format, or did you install a cia?


I should've specified sorry. This is the download from the toolkit and I put the ticket.db in the folder and came up with the same message. I am trying to get funkycia to download it now but apparently I am too much of a noob to get it to work lol. I have the following:

nkyCIA\FunkyCIA.py" -type gameapp -title (The title I got with the long numbers)

straight away you have a problem, as i think i made FunkyCIA not allow you to use -title and -type at the same time, since they can be excluding.
like, you could say -type dlc -title xyz, where xyz is the titleid of a game update.
so, use one or the other, you want a specific title so just use title. type would get everything from all the type you tell it.
 

JohnathanMonkey

Well-Known Member
Member
Joined
Apr 26, 2013
Messages
633
Trophies
1
Age
36
XP
744
Country
United States
straight away you have a problem, as i think i made FunkyCIA not allow you to use -title and -type at the same time, since they can be excluding.
like, you could say -type dlc -title xyz, where xyz is the titleid of a game update.
so, use one or the other, you want a specific title so just use title. type would get everything from all the type you tell it.

Still is working for me for some reason. Can I upload the files and you help me out please?
 

cracker

Nyah!
Member
Joined
Aug 24, 2005
Messages
3,619
Trophies
1
XP
2,213
Country
United States
The printKeys.py script threw errors for me because the first 16 bytes of decTitleKeys.bin are all FF so I rewrote some of the script and added writing out to different files based on the known types:

Code:
import struct
import os
from binascii import hexlify
 
with open('decTitleKeys.bin', 'rb') as fh:
 
        fListEShop = open( 'eshopTitles.txt', 'w' )
        fListDemo = open( 'demoTitles.txt', 'w' )
        fListDLC = open( 'dlcTitles.txt', 'w')
        fListUpdate = open( 'updateTitles.txt', 'w' )
        fListOther = open( 'otherTitles.txt', 'w' )
        fListSystem = open( 'systemTitles.txt', 'w' )
        
        fh.seek(0, 2)
fEnd = fh.tell()
fh.seek(16)
 
while fh.tell() < fEnd:
fh.seek(8, os.SEEK_CUR)
titleId = fh.read(8)
decryptedTitleKey = fh.read(16)
titleLine = 'CDNto3DS.py ' + hexlify(titleId) + ' ' + hexlify(decryptedTitleKey) + '\r\n'
titleType1 = titleId[2]
titleType2 = hexlify( titleId[3] )
found = 0;
if titleType1 == '\0':
                        
                        if titleType2 == '00':
                                fListEShop.write( titleLine )
                                
                        elif titleType2 == '02':
                                fListDemo.write( titleLine )
                                
                        elif titleType2 == '8c':
                                fListDLC.write( titleLine )                                        
                        elif titleType2 == '0e':
                                fListUpdate.write( titleLine )
 
                        else:
                                fListSystem.write( titleLine )
                
                else:
                        fListOther.write( titleLine )
                        
                print '%s: %s' % (hexlify(titleId), hexlify(decryptedTitleKey))
                
        fListEShop.close()
        fListDemo.close()
        fListDLC.close()
        fListUpdate.close()
        fListOther.close()
        fListSystem.close()
 

lucoia

Well-Known Member
Member
Joined
Nov 29, 2008
Messages
130
Trophies
1
XP
571
Country
Italy
Everything worked fine till:

14. Run the “PrintKeys.bat” and you will see a list of all your 3DS titles and keys. In that windows right click and chose “mark”. Then copy out what you need into notepad.

When I do that I don't get anything but empty lines like that:

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Materia_tofu @ Materia_tofu: hey sylv? do you know why gameyob crashes on the EZP?