ROM Hack [Release] FunKeyCIA - make GOOD cias from eshop content, no tickets needed!

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
Okay, @cearp, @Xenon Hacks, check this:
https://up1.ca/#cno9FEKjlHocTudjzpeVqw

Latest commit:
https://github.com/d0k3/Decrypt9WIP/commit/74c692791900f377cfc8f9430964adaf0895fc03

I fully trust you will test this and tell me if it does what you need. You can also encrypt a decrypted decTitleKeys.bin file on console. If you want to help me even further, and that goes to @everyone, also make sure that the decrypted titleKey options still work as they should (just compare with the output of the previous Decrypt9WIP release). Write in my D9WIP thread, I'm not watching this one (too much action in here atm :)).

EDIT: And before you call me lazy... my N3DS is currently not available, and it will take some until I have it ready for testing again. So, please help with that new stuff.
oops before i forget, you meed to check the console id of the ticket to make sure the ticket is an official eshop ticket, and not one from illegit cias. this will ensure the title id is correct.
otherwise, those bad cias will pollute our keys :)
if the console id is 00000000, ignore the ticket. that's it.
only tickets from real content will have a console id.
http://3dbrew.org/wiki/Ticket

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

How can it be downloaded from the eshop, without a ticket? Doesn't a ticket come in every download? Now I wish I hadn't put a9lh on both of my consoles. I'm willing to bet that (once deleted and re-downloaded from eshop) it will run on stock FW with no hacks. This is the effect I'm referring to, anyway.
my tool makes a ticket. try it without hax, see what happens :) it shouldn't work, unless you do have a real legit from ticket from eshop existing on your system already.
 
Last edited by cearp,

pikatsu

Well-Known Member
Member
Joined
Apr 16, 2014
Messages
845
Trophies
0
Age
39
XP
1,163
Country
Argentina
It's real, but misses important info.

But since people use it to pirate games, it doesn't matter anyways... the keyY will be the first 0x3D KeyY. ^^'

Games and console have been pirated long ago. There is not such issue. The only thing developers and hackers have to offer (and this is good not bad) is more convenience by creating new stuff. And do not think that game piracy is exactly a bad thing for Nintendo and game companies. Check the sales
http://www.statista.com/statistics/276768/global-unit-sales-of-video-game-consoles/
3ds has been hacked since 2014 and console sales had already taken the descent. Most buyers who could afford to pay for many games buy from the release of a product. There is an amount of buyers who could not afford (or willed) to pay for the consoles and games too and bought one or more consoles after it has been hacked by Gateway and cfws later. So the whole piracy thing maybe works like sales boost to nintendo consoles so that is maybe why nindendo doesnt care about piracy
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,794
Trophies
2
Age
48
Location
Japan
XP
3,698
Country
United States
@d0k3 the D9 you linked to a few posts ago does indeed dump enctitlekey.bin, now all we need is for FunKeyCIA to be able to use this file. Thank you for helping out and listening to my request!
Getting your own encrypted title keys was never a problem. MANY tools/CFWs can be used for that. The script that's in the OP dumps them directly from ticket.db. You can manually dump it with an xorpad, use D9, older rxtools, FBI version 2+, etc...
 

Xenosaiga

Time to switch it up
Member
Joined
Oct 9, 2015
Messages
1,501
Trophies
0
Age
33
Location
The Shadows
XP
1,070
Country
United States
Getting your own encrypted title keys was never a problem. MANY tools/CFWs can be used for that. The script that's in the OP dumps them directly from ticket.db. You can manually dump it with an xorpad, use D9, older rxtools, FBI version 2+, etc...
I'm aware of this.... I was simply letting d0k3 know that the new function he put into D9 was working. No more, no less. Lol.
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
yeah what d0k3 added is awesome but it will catch the bad keys aswell, it just needs to filter out the bads ones, i posted above, it's easy enough to do, i do it in FunkyCIA and in the dump keys script in my OP
 
  • Like
Reactions: urherenow

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
oops before i forget, you meed to check the console id of the ticket to make sure the ticket is an official eshop ticket, and not one from illegit cias. this will ensure the title id is correct.
otherwise, those bad cias will pollute our keys :)
if the console id is 00000000, ignore the ticket. that's it.
only tickets from real content will have a console id.
http://3dbrew.org/wiki/Ticket
That's a job for dem filthy pirates, cause that's an issue of that file. Fix that file up as I described it. Remove invalid stuff and system titlekeys. Then sort it into region files, and you have nice, small files, that will be processed fine by D9. I'm pretty sure one of you (and I'm speaking to everyone) is able to do this just fine and can provide a script to everyone else.
 
  • Like
Reactions: Xenosaiga

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,732
Trophies
2
XP
8,542
Country
Tuvalu
That's a job for dem filthy pirates, cause that's an issue of that file. Fix that file up as I described it. Remove invalid stuff and system titlekeys. Then sort it into region files, and you have nice, small files, that will be processed fine by D9. I'm pretty sure one of you (and I'm speaking to everyone) is able to do this just fine and can provide a script to everyone else.
no i mean upon dumping encrypted keys, we need to check they are from real tickets not junk ones. do you see what i mean? it's not an issue with any file. it's just a small check. we can't do that after the dump.

of course, if encrypting decrypted keys, yeah we are stuck. but ideally people will dump from encrypted, not convert.
 

Doumekxkai

Well-Known Member
Newcomer
Joined
Nov 21, 2014
Messages
90
Trophies
0
Age
30
XP
1,309
Country
@cearp I've added an option in the script to add a name in the output cia file. It's more easy to find'it if you have downloaded some cia in a row(or if you are one of those who don't delete things(that's my case)).

Here is the modifications i made in the code.

The new cli arguments(Line 77):
Code:
parser.add_argument('-o', '-name', action='store', dest='name', help='Name of the output cia')

and for the makerom, if the name isn't set it will use the default naming using the titleId(Line 202)
Code:
fName = ""
if arguments.name is not None:
     fName = arguments.name + ' [' + arguments.titleid + ']'
else:
     fName = arguments.titleid

makecommand = ' "' + os.path.join(rawdir) + '" "' + os.path.join(ciadir, fName) + '.cia"'

os.system(execname + makecommand)
if(os.path.isfile(os.path.join(ciadir, fName) + '.cia')):
 
  • Like
Reactions: cearp and Xenosaiga

gamecaptor

R.I.P. Densetsu. Legends never die!
Member
Joined
Jan 22, 2004
Messages
759
Trophies
2
Location
Hyrule most of the time
XP
3,310
Country
United States
I’ve read through this entire thread and I’m trying to wrap my head around it still. Let me see if I can explain this the way I’m understanding it.

I just made a repository of all of the USA updates into cia files with GroovyCIA for posterity sake/archiving/collecting. I was planning on doing a similar thing with the DLC.

If I install one of these updates, let’s just say Mario Kart 7 (v1.1), and a new update comes out (v1.2) and I try and install it via the eShop it will fail? If that’s the case, should I recreate my cia’s with this tool?
 

Ptrk25

Well-Known Member
Member
Joined
Sep 6, 2015
Messages
524
Trophies
0
Location
::1
XP
1,181
Country
Germany
If I install one of these updates, let’s just say Mario Kart 7 (v1.1), and a new update comes out (v1.2) and I try and install it via the eShop it will fail? If that’s the case, should I recreate my cia’s with this tool?
No it won't fail, because the CIAs you are created with GroovyCIA will be the same as with FunkyCIA2. The ticket will be also legit (like FunkyCIA2, GroovyCIA) if you download it with FunkeyCIA.

@cearp correct me if i'm wrong

EDIT: You won't find the v1.1 anymore on the eshop when v1.2 is out.
 
Last edited by Ptrk25,
  • Like
Reactions: cearp

Chris_Highwind

Well-Known Member
Member
Joined
Mar 21, 2010
Messages
437
Trophies
1
Age
33
Location
Mooresville, NC
XP
578
Country
United States
And now I managed to build the CIA by redirecting the python script to run the .exe through wine, but now DevMenu says it's invalid after it spends the time importing it. Probably some errors during the building, or it could just be because I used a title key from that nfshost site.
 

gamecaptor

R.I.P. Densetsu. Legends never die!
Member
Joined
Jan 22, 2004
Messages
759
Trophies
2
Location
Hyrule most of the time
XP
3,310
Country
United States
No it won't fail, because the CIAs you are created with GroovyCIA will be the same as with FunkyCIA2. The ticket will be also legit (like FunkyCIA2, GroovyCIA) if you download it with FunkeyCIA.

So then that leaves me confused as what is the difference with this tool?


EDIT: You won't find the v1.1 anymore on the eshop when v1.2 is out.

Right, I realize that.
 

pikatsu

Well-Known Member
Member
Joined
Apr 16, 2014
Messages
845
Trophies
0
Age
39
XP
1,163
Country
Argentina
That's a job for dem filthy pirates, cause that's an issue of that file. Fix that file up as I described it. Remove invalid stuff and system titlekeys. Then sort it into region files, and you have nice, small files, that will be processed fine by D9. I'm pretty sure one of you (and I'm speaking to everyone) is able to do this just fine and can provide a script to everyone else.

So a good database can be produced
 

Site & Scene News

Popular threads in this forum

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