Tutorial  Updated

FunkyCIA Complete Guide

Hey guys,

I have been toying around with several programs in the last few days, and I came across FunkyCIA. It is a great program that lets you download content from eShop and converting them to CIA.

The downloaded content permitted comes from having a ticket stored in your 3DS, which is stored in ticket.db. In order to use this program, we will be extracting the ticket.db from the 3DS and using it on the PC.

--------------------------------------------------------------------------------------------------------------------

Requirements:
- Old 3DS/3DS XL on 9.2
- PC with internet connection
- Python installed on PC
- rxTools
- FunkyCIA (Note: Use the one in the attachment instead of the original thread)

(A) Extracting Ticket.db:
1. Connect the SD Card to your PC.
2. Setup rxTools: http://www.rxtools.net/#!howto
3. Put SD Card back into your 3DS, turn it on and run rxTools.dat from the web browser.
4. Click on "Dumping Options" --> "Dump Nand Files".
5. Press X if you want the Ticket.db from your sysnand, or Y if you want the Ticket.db from your emunand.
6. Select "ticket.db".
7. Close your 3DS, remove your SD card, and connect it to the PC.
8. Go to rxTools folder, and you will find the Ticket.db file.
9. Copy it somewhere safe, and make sure you keep a backup.

(B) Preparing PC for FunkyCIA:
1. Install Python from here: https://www.python.org/downloads/
2. Download FunkyCIA attached in this thread.
3. Extract it wherever you want. For the purposes of this guide I will assume the extraction is at the root of the "C" drive.
4. Put the Ticket.db file in the same folder.
4. Click Start --> All Programs --> Accessories --> Command Prompt (Alternatively, Click Start and write cmd in the search field).
5. Write "cd.." and click enter. Keep repeating it until you get to where you extracted FunkyCIA (In this case, "C:\>").

(C) Using FunkyCIA
Note: Write "FunkyCIA2.py -h" to get the help screen. If you are not a beginner, it will tell you everything you need to know. If not, continue to read:

Note: We will use this site to get the titleid for everything we need from this program: http://www.3dsdb.com/

Assuming you have the ticket for them, this program will let you download the following:
- Gameapp
- Update
- DLC
- Themes
- Demo
- DSiWare
- System
(Note: Probably doesn't work anymore, so it will be left out of this guide)

- We will use the following 2 3DS example titleid for this guide:
Super Mario 3D Land (0004000000053F00)
Super Smash Bros (00040000000EDF00)

- We will also use the following 2 DSiware example titleid for this guide:
Zelda: Four Swords Anniversary Edition (000480044B513956)
Mario Clock (000480044B574256)

- To understand the file structure, lets use the example above to show the difference in the titleid between each type:
- Gameapp: 0004000000053F00
- Update: 0004000E00053F00
- DLC: 0004008C00053F00
- Demo: 0004002000053F01
- DSiWare: They have their own unique title
For more information, check this: http://3dbrew.org/wiki/Title_list


- The next step always consists of 3 parts. The first 2 parts are MANDATORY to enter, and the 3rd part is OPTIONAL.


(C1) First part:
Always start with "FunkyCIA2.py ticket.db". DON'T CLICK ENTER

(C2) Second part:
It depends on what you want to do:

(A) Download eShop Games:


1. If you want to download all games you have bought from eShop, continue the sentence above with "-type gameapp". It will start downloading all games, and then it will make them CIA out of them once you click enter, but don't click until you read the next section (C3).

2. If you want to download a specific game, get the game's titleid from: http://www.3dsdb.com/
------ 2a. As per our example's titleid, continue the sentence above with "-title 0004000000053F00"
------ 2b. If you want more than one game to be downloaded, follow that by another titleid. Example: "-title 0004000000053F00 00040000000EDF00"

(B) Download Update:

1. If you want to download all updates, continue the sentence above with "-type update". It will start downloading all updates, and then it will make them CIA out of them once you click enter, but don't click until you read the next section (C3).

2. If you want to download an update for a specific game, get the game's titleid from: http://www.3dsdb.com/ , then change it per the file structure shown in remarks above
------ 2a. As per our example's titleid, continue the sentence above with "-title 0004000E00053F00"
------ 2b. If you want more than one update to be downloaded, follow that by another titleid. Example: "-title 0004000E00053F00 0004000E000EDF00"

(C) Download DLC:


Note: By default, this program will give you access to all DLC if you have the ticket to at least one of them. But please note that all unbought DLC will be erased everytime you access the eShop. You will have to install the generated CIA again.

1. If you want to download all DLC, continue the sentence above with "-type dlc". It will start downloading all DLC, and then it will make them CIA out of them once you click enter, but don't click until you read the next section (C3).

2. If you want to download DLC for a specific game, get the game's titleid from: http://www.3dsdb.com/ , then change it per the file structure shown in remarks above
------ 2a. As per our example's titleid, continue the sentence above with "-title 0004008C00053F00"
------ 2b. If you want more than one DLC to be downloaded, follow that by another titleid. Example: "-title 0004008C00053F00 0004008C000EDF00"

(D) Download Themes:

Note: By default, this program will give you access to all Themes if you have the ticket to at least one of them. But please note that all non-bought Themes will be erased every time you access the eShop. You will have to install the generated CIA again.

Themes are a type of DLC. To download all themes on eShop released to date, continue the sentence above with "-title 0004008C00008F00". It will start downloading all Themes, and then it will make them CIA out of them once you click enter, but don't click until you read the next section (C3).

(E) Download Demo:

Note: By default, this program will remove the play limit on all demos.

1. If you want to download all demos, continue the sentence above with "-type demo". It will start downloading all demos, and then it will make them CIA out of them once you click enter, but dont click until you read the next section (C3).

2. If you want to download a demo of a specific game, get the game's titleid from: http://www.3dsdb.com/ , then change it per the file structure shown in remarks above
------ 2a. As per our example's titleid, continue the sentence above with "-title 0004000000053F01"
------ 2b. If you want more than one demo to be downloaded, follow that by another titleid. Example: "-title 0004000000053F01 00040000000EDF01"

(F) Download DSiware:

1. If you want to download all DSiware, continue the sentence above with "-type dsiware". It will start downloading all dsiware, and then it will make them CIA out of them once you click enter, but dont click until you read the next section (C3).

2. If you want to download a specific DSiware title, get the titleid
------ 2a. As per our example's titleid, continue the sentence above with "-title 000480044B513956"
------ 2b. If you want more than one DSiware title to be downloaded, follow that by another titleid. Example: "-title 000480044B513956 000480044B574256"

(G) Download ALL:

There is an option to download everything you have a ticket for in ticket.db (gameapp, update, dlc, demo,dsiware, system), simply continue the sentence with "-type ALL", and it will automatically download everything once you click enter, but dont click until you read the next section (C3).


(C3) Third Part (Optional):
There are multiple sentences you can add to the above that gives you several options. Here is a list of what they are:
278783-Capture.PNG


So, for example, if you dont want to unlock all DLC and only download the ones you have purchased, you add "-nopatchdlc" to the first 2 parts.

All Sentences coming together:
I will show a couple of examples to help understand each function:

1. "FunkyCIA2.py ticket.db -type dlc -nopatchdlc": This will download all DLC without unlocking everything that was not bought.

2. "FunkyCIA2.py ticket.db -title 0004000E00053F00 -nopatchdemo": This will download Super Mario 3D Land demo (if you have the ticket for it and it exists), without removing any play limit restriction by nintendo (if such exist for a specific demo)

3. "FunkyCIA2.py ticket.db -title 0004000000053F00 00040000000EDF00 -personal": This will download Super Mario 3D Land and Super Smash games (If you have the ticket for them) and make a perfect CIA out of them. I will not work on any other 3DS besides yours.

In the past 3 examples, you don't have to write -nopatchdlc, -nopatchdemo, or -personal. Think of these as options of what you would like to be done to the download. So the examples can work like this:
1. "FunkyCIA2.py ticket.db -type dlc"
2. "FunkyCIA2.py ticket.db -title 0004000E00053F00"
3. "FunkyCIA2.py ticket.db -title 0004000000053F00 00040000000EDF00"

--------------------------------------------------------------------------------------------------------------------

As always, make sure you have a backup of everything, and use everything at your own risk!

Note: Please use the version of FunkyCIA attached in this thread instead of the original thread. The one in the original thread does not work properly with windows. This is a fixed version, which a minor script update by @cearp

Enjoy :)
 

Attachments

  • FunkyCIA2.1.zip
    32.4 KB · Views: 991
Last edited by Madridi,

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
If I use the personal flag and install the CIA, does that mean it will behave the same as if I downloaded it from the eShop?
Just saw this. Can you elaborate on behave the same?

What it means is that it will only be installable (or maybe only working) on your 3ds, as it will contain your ticket information
 

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
Hi man, first... thank you very much for the tutorial.



I compared the binaries (make_cdn_cia) from the cearp whit yours and they are diferent, why do you recomend to use yours?
The binaries attached are:
Make_cdn
The python script

The first file is an updated one. The one in the main funkycia thread did not work properly and an updated version was uploaded in later pages.

The second file is also an updated script by Cearp himself. He shared it with me through PM to make it cleaner

Hope that clears things up :)
 

jonesbalada

Member
Newcomer
Joined
Dec 12, 2015
Messages
24
Trophies
0
Age
42
XP
83
Country
Brazil
Hope that clears things up

Certainly, thanks man and I am sorry... I am freaking paranoid with my beloved n3ds.

I am trying to download monster hunter 3 ultimate data transfer program.

I tried with ticket.db from my EMUnand and got this:

c:\temp\FunkyCIA2.1>c:\python27\python FunkyCIA2.py ticket.db -title 00040000000C6F00
*******
FunkyCIA2 by cearp - FunkyCIA v2.1
*******

Number of Tickets - 187
Number of Titles with Duplicates - 31
Number of Unique Title Tickets - 155
Number of System Tickets (ignored) - 154

Number of eShop Tickets - 0
Number of eShop Titles with Duplicates - 0
Number of Unique eShop Titles - 0
Number of (non system) Tickets NOT from your eShop (ignored) - 32
^^ can be installed CIAs, preinstalled games/apps etc... things not from YOUR eshop
^^ if you want to dump your preinstalled game, you need to use -preinstalled

Going through the list...

eShop Apps - 0
Download Play Child - 0
Demo - 0
Update Patches - 0
DLC - 0
System - 0
DSiWare - 0
DSi System Apps - 0
DSi System Data - 0
Mystery Content - 0

All tickets/titles found in file (might contain duplicates) - 187. You selected 0 of them
 
Last edited by jonesbalada,
  • Like
Reactions: Evernew

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
@jonesbalada

No problem man, happy to help :)

Let's start with the obvious: do you already have the ticket for it? You get the ticket through different ways:

- You have downloaded it before
- in case of DLC, you have one or more dlc, or at least visited the in-game eshop of that specific game once (by accessing the in-game shop, you get assigned a ticket, even if you didn't download anything
 

jonesbalada

Member
Newcomer
Joined
Dec 12, 2015
Messages
24
Trophies
0
Age
42
XP
83
Country
Brazil
Today I accessed eshop (via HANS) but I can't link my emuNAND with a Nintendo Network ID. I am trying to download MH3U Data Transfer.
 

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
Today I accessed eshop (via HANS) but I can't link my emuNAND with a Nintendo Network ID. I am trying to download MH3U Data Transfer.
Old or new 3ds? If it's old then you don't need HANS. Just update your emunand to latest firmware and access eshop normally and you should be able to link nnid just fine.

When you do get it downloaded, make sure you redump the "ticket.db" from emunand not sysnand, from the rxTools menu
 

jonesbalada

Member
Newcomer
Joined
Dec 12, 2015
Messages
24
Trophies
0
Age
42
XP
83
Country
Brazil
Old or new 3ds? If it's old then you don't need HANS. Just update your emunand to latest firmware and access eshop normally and you should be able to link nnid just fine.

When you do get it downloaded, make sure you redump the "ticket.db" from emunand not sysnand, from the rxTools menu

New 3ds - sysNAND 9.0.0-20U + emuNAND RX-E 9.0.0-20U (rxTools)
 

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
Unfortunately my NANDs aren't linked.
So the nnid you are trying to link to is another one?

There is still a way around it. Use the nnid you are trying to use from emunand in sysnand, then create a new emunand (that will make it linked with an emunand that has your nnid attached to it).

Then format your sysnand (with the sd removed so you don't lose your content). That will unlink it.

Finally relink your first nnid that was originally in sysnand.. You should this way have 2 different nnid in sysnand and emunand


It's not the cleanest and shortest way to handle it. But it should work :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: lol, Okies. Family graveyard is that way 👉