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

Discussion in '3DS - Flashcards & Custom Firmwares' started by cearp, Dec 25, 2014.

  1. cearp
    OP

    Member cearp the ticket master

    Joined:
    May 26, 2008
    Messages:
    7,205
    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 people could not get it to work before!
    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:
    TRY THIS
    http://gbatemp.net/threads/release-rxtools-roxas75-3ds-toolkit-fw-2-0-9-2.382782/ (thanks Roxas75!)
    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)


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



    Ok, here is FunkyCIA2!
    It has some nice updates over the first version.
    • Patch to give permission for all DLC (not just the piece of DLC you bought). = buy one theme, get permission for them all. buy one piece of dlc for a game, be able to use them all.
    • Patch to remove demo play limit. = Demo games will not be limited to 30 plays, or 5 plays etc, they are unlimited. (You are able to disable DLC and demo patching if desired)
    • Custom output directory. = you can tell FunkyCIA to save the output in a folder called 'mariokart'. Maybe if you are just downloading mario kart, it makes organization easier.
    • Ignore titles. = You can download all titles of a certain type or types, but choose to ignore specific games. For example, downloading all updates, but not the update for mario kart 7 and pokemon x, you can type this "-type updates -ignoretitles 0004000E00030700 0004000E00055D00"
    • Retry connection. = When something cannot be downloaded, it will try 4 more times to download it, usually this fixes any errors. The retry amount can be changed from 0 to 9.
    • Download error catching. = When something cannot be downloaded, instead of the tool dying, the problem titleid will be logged to a text file and it will just continue on to the next title to be downloaded.
    • Shows amount of content files that will be downloaded for the current title, and their filesize
    • Duplicate and 'bad' ticket handling. = Only one of each title is downloaded. Some tickets are weird and seem to not be real tickets, these are now ignored.
    • Tickets that are not attached to your eshop account/console are ignored. = This means games you installed from cias you downloaded will not be detected, only legit stuff you downloaded from shop/bought yourself will be processed. Unfortunately, this also means that bundled games will not be detected. This can be forced off by using "-noignore". Then, 'everything' will be processed.
    • System titles are now ignored (since as above, they are not attached to your eshop account) - No real reason to create system FW cias from your ticket.db anyway, everyone's system fw apps are the same.
    • Also I fixed the error log function, so it only makes 1 log for all the errors, as opposed to 1 log for every individual error I think
    Type "FunkyCIA2.py -h" to get the help menu/description, so you can see what argument does what.
    FunkyCIA needs your ticket.db!
    READ HERE ON HOW TO GET IT (4.x only so far) -
    gbatemp.net/threads/funkycia-guide-how-to-make-cias-from-your-eshop-stuff.377015/#post-5228804


    3DS fw 2.0 - 9.2
    http://gbatemp.net/threads/release-rxtools-roxas75-3ds-toolkit-fw-2-0-9-2.382782/



    I hope the wording in the output is understandable. If it is not clear, I can edit it to make it easier to understand.
    I have not had this tested by anyone, only myself. I think it works fine, let me know if there are problems :)
    Thanks for friendxsis for telling me the cool cetk method, riku for help, sbJFn5r (I think?) for dumpTicketKeys I originally based this off :) - and 3dsguy and 173210 for make_cdn_cia
     

    Attached Files:

    Last edited by cearp, Jan 14, 2016
  2. curley12
    This message by curley12 has been removed from public view by Cyan, Jan 4, 2015, Reason: offtopic.
    Dec 25, 2014


  3. placebooooo

    Member placebooooo GBAtemp Advanced Fan

    Joined:
    Aug 9, 2013
    Messages:
    677
    Location:
    Philadelphia
    Country:
    United States
    Seriously cearp, you are on fire! I personally don't use this stuff, but thanks so much for contributing to the 3ds scene and keeping it alive! It's way past the time you evolve into a Gyrados!
     
    Ridge, Luglige, Ammako and 3 others like this.
  4. tyons

    Member tyons GBAtemp Advanced Fan

    Joined:
    Jul 11, 2012
    Messages:
    642
    Country:
    Italy
    mmmmh, what is the ticket.db? lol
    (of course I'll search here and with google, but a quick explanation would save some people's time)
     
  5. Thomas12345

    Member Thomas12345 GBAtemp Advanced Fan

    Joined:
    Dec 1, 2014
    Messages:
    551
    Country:
    Canada
    tyons likes this.
  6. einstein95

    Member einstein95 GBAtemp Regular

    Joined:
    Aug 31, 2013
    Messages:
    220
    Country:
    New Zealand
    After seeing the same code in the system update downloader, may I ask the reasoning behind
    Code:
    import hashlib
    ...
    windoze = '9c4f88f706dedde3bc0ebb66e34963e5'
    ...
    execname = './make_cdn_cia'
    if hashlib.md5(sys.platform).hexdigest() == windoze:
        execname = 'make_cdn_cia.exe'
    
    when you don't even need hashlib:
    Code:
    execname = './make_cdn_cia'
    if sys.platform == 'win32'
        execname = 'make_cdn_cia.exe'
    
     
    cearp likes this.
  7. Phantom_User
    This message by Phantom_User has been removed from public view by Cyan, Jan 4, 2015, Reason: offtopic.
    Dec 25, 2014
  8. bartekowca666
    This message by bartekowca666 has been removed from public view by Cyan, Jan 4, 2015, Reason: offtopic.
    Dec 25, 2014
  9. ScarletCrystals
    This message by ScarletCrystals has been removed from public view by Cyan, Jan 4, 2015, Reason: offtopic.
    Dec 25, 2014
  10. sonic2756

    Member sonic2756 Friendly Neighborhood Wolf

    Joined:
    Feb 3, 2010
    Messages:
    666
    Location:
    Denver, CO
    Country:
    United States
    Just before I was going to convert all my eShop stuff to .cia.

    Gonna make moving my eShop content from my US XL to my EU NXL a breeze (whenever GW releases 9.x support :c).

    Thanks so much for this :D
     
  11. bartekowca666

    Newcomer bartekowca666 Member

    Joined:
    Oct 19, 2014
    Messages:
    30
    Location:
    BiaƂogard
    Country:
    Poland
    B BUTTON
     
  12. cearp
    OP

    Member cearp the ticket master

    Joined:
    May 26, 2008
    Messages:
    7,205
    Country:
    Tuvalu
    because i was playing with python, no reason at all :) -edit, ooh that reminds me, i forgot to package make_cdn_cia with it! thanks

    i don't understand, is that trying to be a compliment or an insult (that i attempted/failed etc)? or is it about the picture? (which made me lol a few times)
    it does NOT get the decrypted keys, it does not need them! that is why it is funky, and cool, and easy to use :)


    -edit - I updated the zip, it now contains a mac executable for make_cdn_cia (that i compiled, that works perfect for me on yosemite), and a windows exe.
     
    ScarletCrystals likes this.
  13. Rinnux

    Member Rinnux GBAtemp Advanced Fan

    Joined:
    Aug 3, 2010
    Messages:
    647
    Country:
    United States
    Does this mean we'll soon be able to convert 3ds to cia without decrypting using a 3ds?
     
  14. Omer

    Member Omer GBAtemp Regular

    Joined:
    May 13, 2014
    Messages:
    206
    Country:
    Iraq
    Great. That means anyone can share his own eshop games.We don't have to depend on the scene release anymore.
     
  15. cearp
    OP

    Member cearp the ticket master

    Joined:
    May 26, 2008
    Messages:
    7,205
    Country:
    Tuvalu
    no, this is eshop only. it uses the 'eshop program database' of the things that your 3ds has downloaded. (system things too but, yeah no 3ds roms :))

    it was still possible before, but this makes it really easy, the only tricky part is to get your ticket.db, maybe someone will make an app for that though...? (there are links in the op on how to do it)
     
    Omer likes this.
  16. Rinnux

    Member Rinnux GBAtemp Advanced Fan

    Joined:
    Aug 3, 2010
    Messages:
    647
    Country:
    United States
    I know this is currently for eshop things. I'm wondering if in the future this new method can be implemented to convert 3ds to cia.
     
  17. cearp
    OP

    Member cearp the ticket master

    Joined:
    May 26, 2008
    Messages:
    7,205
    Country:
    Tuvalu
    no, this method is for eshop/cdn things only.
     
  18. descac

    Newcomer descac Advanced Member

    Joined:
    Oct 7, 2014
    Messages:
    88
    Country:
    United States
    You're spoiling us, cearp. Seriously.
     
  19. liomajor

    Member liomajor GBAtemp Maniac

    Joined:
    Jun 10, 2008
    Messages:
    1,442
    Country:
    United States
    This makes it worth for looking forward to gateways promised update.

    Thx Mr. Santa cearp Claus
     
    cearp likes this.
  20. NAND0

    Newcomer NAND0 Advanced Member

    Joined:
    Nov 24, 2014
    Messages:
    85
    Country:
    United States
    Thank you! Gonna have to tinker with this when I have the time
     
  21. ScarletCrystals

    Member ScarletCrystals Useless Bunny of Paradise

    Joined:
    Apr 9, 2010
    Messages:
    941
    Location:
    Bamboo Forest, Gensokyo
    Country:
    Canada
    Actually, I was just poking fun at the guy who was using mythology to say Magikarp is awesome. Been playing too much Phoenix Wright lately so pointing out a little "contradiction".
    It wasn't suppose to say anything about you personally and I hope you're not offended by it.

    That is really funky indeed. So why did we need the decrypted keys before to download stuff from the cdn?
     
    Phantom_User likes this.
  22. cearp
    OP

    Member cearp the ticket master

    Joined:
    May 26, 2008
    Messages:
    7,205
    Country:
    Tuvalu
    haha no problem at all, i just didn't understand what you meant!
    we needed the keys because before to make the cia we had to decrypt the contents, makerom cannot use raw (well, maybe raw is not the correct word) - makerom cannot use the files untouched from cdn, they need to be decrypted.
    make_cdn_cia CAN (maybe has to) use untouched files straight from cdn, making a purer cleaner cia.
    so, we do not need the keys because we do not need to decrypt them.
    but this is not simply an automation tool that just downloads and runs make_cdn_cia :)
    i had to do some magic to make it work!
     
    ScarletCrystals likes this.
  23. ScarletCrystals

    Member ScarletCrystals Useless Bunny of Paradise

    Joined:
    Apr 9, 2010
    Messages:
    941
    Location:
    Bamboo Forest, Gensokyo
    Country:
    Canada
    Ah I see.
    Thank you very much for the explanation and the tool!
     
    cearp likes this.
  24. Duo8

    Member Duo8 I don't like video games

    Joined:
    Jul 16, 2013
    Messages:
    3,329
    Country:
    Vietnam
    Maybe it doesn't work in sysnand because it's not properly encrypted, or a part of it was not signed.
     

Share This Page