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: 993
Last edited by Madridi,

Henry Finnagan

New Member
Newbie
Joined
Jan 5, 2016
Messages
3
Trophies
0
Age
39
XP
41
Country
United States
I am having a bit a of trouble using the application. I have dumped my emuNAND's ticket.db (I have unlinked the NANDs), but whenever I attempt to use the application, I run into this error

Is there a specific version of Python that I have to use in the 2.7.X branch? Or is this the cause of something else?
 

Attachments

  • Capture.PNG
    Capture.PNG
    4.8 KB · Views: 285

jonesbalada

Member
Newcomer
Joined
Dec 12, 2015
Messages
24
Trophies
0
Age
42
XP
83
Country
Brazil
Man it seems FunkyCIA is running right, maybe you need put the correct parameters (excluding the -h that stands to show help).

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 :)

Hum, actualy I got what I was wanting (transfer my MH3U save from wiiu to 3ds, I got a 3ds rom of and convert it to cia), but I 'am really grateful about your atention.
 
Last edited by jonesbalada,
  • Like
Reactions: Madridi

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
I am having a bit a of trouble using the application. I have dumped my emuNAND's ticket.db (I have unlinked the NANDs), but whenever I attempt to use the application, I run into this error

Is there a specific version of Python that I have to use in the 2.7.X branch? Or is this the cause of something else?
I don't see any parameters entered. I divided my post to 3 parts, those 3 parts are what your parameters should be. The first 2 parts are mandatory.

Your screenshot only shows that you ran the -h command
 

Henry Finnagan

New Member
Newbie
Joined
Jan 5, 2016
Messages
3
Trophies
0
Age
39
XP
41
Country
United States
I don't see any parameters entered. I divided my post to 3 parts, those 3 parts are what your parameters should be. The first 2 parts are mandatory.

Your screenshot only shows that you ran the -h command

After further messing around and looking back at the other threads, I figured out how to make it work. You have to directly reference Python in the command prompt or else the program won't work if you get the syntax error. it's working fine now as you can see (This post was originally going to show all the other methods I tried to get the program working with no avail.) Thanks for listening

--------------------- MERGED ---------------------------

forgot to show what I did and when everything finally worked (highlighted)
 

Attachments

  • Capture.PNG
    Capture.PNG
    15.7 KB · Views: 258

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
After further messing around and looking back at the other threads, I figured out how to make it work. You have to directly reference Python in the command prompt or else the program won't work if you get the syntax error. it's working fine now as you can see (This post was originally going to show all the other methods I tried to get the program working with no avail.) Thanks for listening

--------------------- MERGED ---------------------------

forgot to show what I did and when everything finally worked (highlighted)
That's weird, I never had to write python. Not sure why you are getting that. But I'm glad you got it working anyway.

Thanks for your post. Hopefully it benefits those who run into the same problem :)
 

serving

Well-Known Member
Member
Joined
Jul 12, 2007
Messages
168
Trophies
0
XP
245
Country
United States
how do i get it to only dl one game dlc instead of all i tried to speficy only one game dlc but it wouldnt let me
 

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
how do i get it to only dl one game dlc instead of all i tried to speficy only one game dlc but it wouldnt let me
FunkyCIA2.py ticket.db -title xxxxxx8Cxxxxxxxx
The last part is the title ID for the game you want to get the dlc for, with replacing the middle digits to 8C.

However, I'll say this again, it will only work if you have a ticket from the game's shop. Check a few posts up where I posted how to get a ticket. If you don't have a ticket then it won't find anything from your ticket.db to download

 

serving

Well-Known Member
Member
Joined
Jul 12, 2007
Messages
168
Trophies
0
XP
245
Country
United States
i was trying the dlc for shin megami tensei iv i had brought some dlc for it before so i have ticket for it so i enter this FunkyCIA2.py ticket.db -type dlc -title 0004008C000E5C00 and thats when it threw the error
 

Wuigi

Well-Known Member
Member
Joined
Sep 14, 2012
Messages
728
Trophies
1
XP
1,793
Country
United States
Try to write python in front, if it doesn't find it, install python 2.7 add it to your system variables and try again with a newly opened command prompt.
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
sure you need to write python in front... doesn't everyone? (i don't know)
there are so many programs on your computer, how does your computer know which one to use unless you tell it?
 

Henry Finnagan

New Member
Newbie
Joined
Jan 5, 2016
Messages
3
Trophies
0
Age
39
XP
41
Country
United States
Try to write python in front, if it doesn't find it, install python 2.7 add it to your system variables and try again with a newly opened command prompt.

sure you need to write python in front... doesn't everyone? (i don't know)
there are so many programs on your computer, how does your computer know which one to use unless you tell it?

He's not getting a syntax error. If you look at the picture, it shows that the arguments are conflicting with each other

View attachment 34852 this is error it throws

I believe you can just type 'FunkyCIA2.py ticket.db -title 0004008C000E5C00' (without the quotes, of course). if you get the syntax error, then you reference python in the beginning
 
Last edited by Henry Finnagan,

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
He's not getting a syntax error. If you look at the picture, it shows that the arguments are conflicting with each other
ok but before he was getting that problem right?
oh yeah, -type doesn't work with -title (just like the output says)
type is for all things of a type, title is for specific things, you don't need to/can't/shouldn't you use together :)
 

serving

Well-Known Member
Member
Joined
Jul 12, 2007
Messages
168
Trophies
0
XP
245
Country
United States
ic i got it to work now didnt know i just had to put -title only guide had got me a lil confuse

now i just need to find a way to get the dlc from delting everytime i go on eshop
 

Madridi

Card Collector
OP
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
sure you need to write python in front... doesn't everyone? (i don't know)
there are so many programs on your computer, how does your computer know which one to use unless you tell it?
I don't have to type that.. So I'm not really sure where the problem is :s

ic i got it to work now didnt know i just had to put -title only guide had got me a lil confuse

now i just need to find a way to get the dlc from delting everytime i go on eshop
The guide did segregate it in 2 points. Point number 1 was that if you wanted all dlc you put in -type dlc, while point number 2 said if you wanted specific dlc you put -title xxxxxxxxxxxx (which is what your case was). Not sure what was confusing about that?
 

serving

Well-Known Member
Member
Joined
Jul 12, 2007
Messages
168
Trophies
0
XP
245
Country
United States
I don't have to type that.. So I'm not really sure where the problem is :s


The guide did segregate it in 2 points. Point number 1 was that if you wanted all dlc you put in -type dlc, while point number 2 said if you wanted specific dlc you put -title xxxxxxxxxxxx (which is what your case was). Not sure what was confusing about that?

cause i thought you said continue the sentence above with in 2b i thought you was talking about contiuneing with the sentence from 2a
 

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
Does this take into account themes CIAs?
Is it normal that a preinstalled game isn't downloadable with "-preinstalled" (but is without) when it got downloaded again after a system format?
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
Does this take into account themes CIAs?
Is it normal that a preinstalled game isn't downloadable with "-preinstalled" (but is without) when it got downloaded again after a system format?
themes are just dlc, FunkyCIA works with dlc, all eshop content.
if your game cannot be found with '-preinstalled' it means you cannot make a preinstalled legit cia out of it.
if you system transfer, i think you lose the special ticket, maybe if you format too... i don't know.
 

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
Thanks.
So, in my DLCs, there were these two files I didn't identify as related to games (...9800 and ...9801) which are pretty big (451MB and 47MB), may I guess they contain every themes then? At first I was picturing themes as individual CIAs, but it would make sense to have them as DLC of the Theme Manager app (or whatever it's called). But why two files? Because of the limit on the number of themes that can be installed simultaneously?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=_9PnFJMnYT0