Hacking [Release] FunkyCIA2 - build CIAs from your eShop content. Super easy and fast! (**2.1 FIX!**)

tarovisions

Well-Known Member
Member
Joined
Jan 19, 2015
Messages
100
Trophies
0
Age
30
XP
184
Country
United States
9.x ticket.db was nicely obtained via Decrypt9 and 3DSFat16tool, FunkyCIA2 made the ACNL XL bundled cia :)

The only thing I noticed was that it was detected and made without -noignore, indicative of a problem?
 

keyra

Spoderman self proclamed fan
Member
Joined
Dec 23, 2008
Messages
820
Trophies
0
XP
635
Country
France
9.x ticket.db was nicely obtained via Decrypt9 and 3DSFat16tool, FunkyCIA2 made the ACNL XL bundled cia :)

The only thing I noticed was that it was detected and made without -noignore, indicative of a problem?

woot! any chance you'll make a fast tuto?
 
  • Like
Reactions: Margen67

tarovisions

Well-Known Member
Member
Joined
Jan 19, 2015
Messages
100
Trophies
0
Age
30
XP
184
Country
United States
my ACNL bundle cia won't work outside of GW mode emunand, must be something wrong there so that tut might need editing :glare:

Edit: The stuff for this one should probably be checked as I don't totally understand it all
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,510
Country
Tuvalu
9.x ticket.db was nicely obtained via Decrypt9 and 3DSFat16tool, FunkyCIA2 made the ACNL XL bundled cia :)

The only thing I noticed was that it was detected and made without -noignore, indicative of a problem?

my ACNL bundle cia won't work outside of GW mode emunand, must be something wrong there so that tut might need editing :glare:

Edit: The title keys for this one should probably be checked as I don't totally understand it all

yes some games do not like to be made a bundle... i am looking into it since something i tried to make did not work also...
you can have multiples of a ticket, the correct one has to be used but i'm sure i used the right one...

and title keys? what do you mean?
 

tarovisions

Well-Known Member
Member
Joined
Jan 19, 2015
Messages
100
Trophies
0
Age
30
XP
184
Country
United States
yes some games do not like to be made a bundle... i am looking into it since something i tried to make did not work also...
you can have multiples of a ticket, the correct one has to be used but i'm sure i used the right one...

and title keys? what do you mean?

Nothing really on the title keys part, just me being new :lol:
 
  • Like
Reactions: cearp

DeadliestFox

Member
Newcomer
Joined
Feb 27, 2015
Messages
10
Trophies
0
Age
34
XP
193
Country
Ugh i hate asking this because i feel like such a noob but i have some problems...
usage: FunkyCIA2.py [-h]
[-type {gameapp,update,dlc,demo,dsiware,system,ALL} [{gameapp,update,dlc,demo,dsiware,system,ALL} ...]
| -title SPECIFIC_TITLES [SPECIFIC_TITLES ...]]
[-ignoretitles IGNORE_TITLES [IGNORE_TITLES ...]]
[-outputdir OUTPUT_DIR] [-nosort] [-nodownload] [-nobuild]
[-noignore] [-nopatchdlc] [-nopatchdemo]
[-retry {0,1,2,3,4,5,6,7,8,9}]
inputfile
FunkyCIA2.py: error: too few arguments

Help?
 

liomajor

Well-Known Member
Member
Joined
Jun 10, 2008
Messages
1,468
Trophies
0
XP
1,373
Country
United States
You need your ticket.db including the buyed Stuff you want to dl and at least the titleid or type.

FunkyCIA2.py ticket.db -title 0004000000126800

0004000000126800 = Hokoboy - more info > http://3ds.essh.co/

or

FunkyCIA2.py ticket.db -type gameapp

for ALL games.
 
  • Like
Reactions: cearp

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,510
Country
Tuvalu
I need to apologize! Very embarrassing, for some people (I guess all people) legit CIAs created would not work, I wasn't so sure why.
Often times, it can be user error, lots of noobs here, etc etc - but yes... I found the problem, it's my mistake...! (I didn't realize legit tickets had a ticket id) (An easy easy fix!)
I'm just about to upload a fixed version that will make legit CIAs that work ( = that work without any patches like CFW, GW, etc)
So yes, sorry, this is the only real solution to make CIAs from your content, so I feel bad that I left a nice part of it broken.
also, I will add a check to see if the CIA is generated, since at the moment, if make_cdn_cia has a problem and doesn't make a CIA, FunkyCIA will still think the CIA was ok - so now you will get a notice in the log file unlike before. - edit, i already had this implemented, ha

- Also I will add an optional feature (use -personal) that will stop your unique ids from being wiped from the ticket, which should let us make a perfect backup for your own console.
At the moment we need to make the cia 'anonymous' so it installs for everyone (in turn, this makes the cia 'broken'). I want to make it so we can make 'clean/legit/perfect' cias for personal backup on the same console. For some reason they do not install... Either way, it's just an option, maybe it will never be useful :)
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,510
Country
Tuvalu
UPDATE - FunkyCIA "2.1":
I fixed the creation of legit preinstalled CIAs... my silly mistake... sorry for the time wasted and any frustration when the CIA would not work without GW!
TO MAKE A LEGIT CIA FROM A PREINSTALLED GAME, use:
FunkyCIA2.py myticket.db -title TITLEID -preinstalled
^^^ the command is that easy. (not need to use -noignore anymore)
REMEMBER, if you make a CIA from your bundled game, then it will work on any 3DS, without any hacks/patches! So if my 3DS came with Animal Crossing preinstalled, I could make a CIA of it and when installed on a 3DS of the same region, it would appear 100% legit! It would work in sysnand/classic mode, and you could system transfer it to another 3DS etc :)
Also, I added '-personal', which will leave your unique ids in the CIA intact. This is so we can make perfect backups for our own system. (As opposed to wiping the ids by default, which make it installable on all consoles + requiring us to use GW or CFW to (install?) + run it) I do not know why, but when I make personal CIAs that should only work on my console, they do not install... I have not tested for a few months, but I hope we can fix it it possible.

USE FunkyCIA WITH FW 9.2 or below:
Now that Decrypt9 supports generating ctr fat16 xorpads, we can decrypt our nand on 9.2 and extract the ticket.db and use it with FunkyCIA :)
This thread will not tell you how to extract files from your nand, or help you with that, it is a separate task :) let's keep this thread for FunkyCIA specific things
For 4.x, naturally the ticket.db dumper is easier and faster to use. gbatemp.net/threads/funkycia-guide-how-to-make-cias-from-your-eshop-stuff.377015/#post-5228804)
 

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
26
Location
Earth
XP
1,794
Country
Italy
UPDATE - FunkyCIA "2.1":
I fixed the creation of legit preinstalled CIAs... my silly mistake... sorry for the time wasted and any frustration when the CIA would not work without GW!
TO MAKE A LEGIT CIA FROM A PREINSTALLED GAME, use:
FunkyCIA2.py myticket.db -title TITLEID -preinstalled
^^^ the command is that easy. (not need to use -noignore anymore)
REMEMBER, if you make a CIA from your bundled game, then it will work on any 3DS, without any hacks/patches! So if my 3DS came with Animal Crossing preinstalled, I could make a CIA of it and when installed on a 3DS of the same region, it would appear 100% legit! It would work in sysnand/classic mode, and you could system transfer it to another 3DS etc :)
Also, I added '-personal', which will leave your unique ids in the CIA intact. This is so we can make perfect backups for our own system. (As opposed to wiping the ids by default, which make it installable on all consoles + requiring us to use GW or CFW to (install?) + run it) I do not know why, but when I make personal CIAs that should only work on my console, they do not install... I have not tested for a few months, but I hope we can fix it it possible.

USE FunkyCIA WITH FW 9.2 or below:
Now that Decrypt9 supports generating ctr fat16 xorpads, we can decrypt our nand on 9.2 and extract the ticket.db and use it with FunkyCIA :)
This thread will not tell you how to extract files from your nand, or help you with that, it is a separate task :) let's keep this thread for FunkyCIA specific things
For 4.x, naturally the ticket.db dumper is easier and faster to use. gbatemp.net/threads/funkycia-guide-how-to-make-cias-from-your-eshop-stuff.377015/#post-5228804)
You forgot to add make_cdn_cia for Linux...
Anyway, may I include FunkyCIA and 3DSFAT16Tool in a program I'm working on that will automate the decryption of the NAND, extracing the contents, making CIAs etc...? :)
 
  • Like
Reactions: keyra

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,510
Country
Tuvalu
You forgot to add make_cdn_cia for Linux...
Anyway, may I include FunkyCIA and 3DSFAT16Tool in a program I'm working on that will automate the decryption of the NAND, extracing the contents, making CIAs etc...? :)

i didn't forget! :) 'linux' is so vast, one binary will not fit all. (didn't we talk about this? :D )
what do you mean, what project? doesn't FunkyCIA automate CIAs enough haha? what do you think can be improved?
 

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
26
Location
Earth
XP
1,794
Country
Italy
i didn't forget! :) 'linux' is so vast, one binary will not fit all.
The same binary should work on all distros I think, if that's what you mean

what do you mean, what project? doesn't FunkyCIA automate CIAs enough haha?
Schermata del 2015-02-28 15:26:51.png
Schermata del 2015-02-28 15:26:54.png
Schermata del 2015-02-28 15:26:56.png
Schermata del 2015-02-28 15:26:58.png
It will be released for GNU/Linux and Mac and later for Windows ;)
 
  • Like
Reactions: Margen67

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,510
Country
Tuvalu
i really didn't think it was that simple, one binary for all distributions... maybe it is/can be, in that case sure.
and hmm nice tool :) well if you are writing this yourself, the fat16 tool thing i made in python is really simple... you can just write that in C++ or whatever you are using, right?
as for FunkyCIA, you would try to add a gui to it or something within your tool? interesting :)
 
  • Like
Reactions: Margen67

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
26
Location
Earth
XP
1,794
Country
Italy
i really didn't think it was that simple, one binary for all distributions... maybe it is/can be, in that case sure.
Of course use a 32 bit build ;)

and hmm nice tool :) well if you are writing this yourself, the fat16 tool thing i made in python is really simple... you can just write that in C++ or whatever you are using, right?
Qt Creator, so C++, but I don't think I have the time to port it...

as for FunkyCIA, you would try to add a gui to it or something within your tool? interesting :)
Exactly:lol:
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,510
Country
Tuvalu
Qt Creator, so C++, but I don't think I have the time to port it...
Exactly:lol:
honestly, look at the source of the fat16 tool, it's python so it is it's source, it's easily understandable (although sure you could make it better with memory buffers or something i guess)
really, the core of it is like 10 lines or something, i'm sure you have the ability to do that :D i'm sure in C++ it will be more of a chore than in python, but still, it's just reading a file at an offset...
but yes - i don't expect you to port FunkyCIA to C++! i thought about it early on myself but it would take so much time, python has been so easy to work with, i literally forget to use semicolons when i go back to coding in c!
sure, you can use it in your gui app thing, (credit me of course though!) thanks
 
  • Like
Reactions: nastys

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
26
Location
Earth
XP
1,794
Country
Italy
honestly, look at the source of the fat16 tool, it's python so it is it's source, it's easily understandable (although sure you could make it better with memory buffers or something i guess)
really, the core of it is like 10 lines or something, i'm sure you have the ability to do that :D i'm sure in C++ it will be more of a chore than in python, but still, it's just reading a file at an offset...
but yes - i don't expect you to port FunkyCIA to C++! i thought about it early on myself but it would take so much time, python has been so easy to work with, i literally forget to use semicolons when i go back to coding in c!
sure, you can use it in your gui app thing, (credit me of course though!) thanks
Thanks :lol:
Of course I'll credit you :)
 
  • Like
Reactions: Margen67 and cearp

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: https://www.keepretro.com/products/miyoo-a30