Creating game .CIAs vs using someone else's (plus understanding how this works)

Discussion in '3DS - Flashcards & Custom Firmwares' started by Rune, Feb 27, 2017.

  1. Rune
    OP

    Rune Advanced Member

    Newcomer
    62
    16
    Feb 15, 2017
    So when I first started making .cia's for games, I was using the "Simple CIA Converter" tool to create the 'ncchinfo.bin' file, using that with Decrypt9 to make the "Xorpads", then using them with the first tool again to create the .cia's that I installed on the 3DS. Let's call this Method 1.

    Method 2 was where I learnt you could simply drop all you .3ds games into your SD card and then use Godmode9 to create .cia's directly. This is more simple but slower (due to 3DS processor vs your PC). Plus this method creates perfect meta data for your .cia's with icon's, game title, and region info, where the first method just gave you a blank .cia.

    Method 3 is something I haven't tried yet but discovered last night whilst browsing here. It's the .Net 3DS Toolkit.
    https://gbatemp.net/threads/release-net-3ds-toolkit-extract-and-repack-3ds-roms-and-cias.444427/
    From the sounds of it, it can take .3ds games and make .cia's on your PC alone without the back and forth between the PC and the 3DS (correct me if I'm wrong).

    Method 4 is the lazy way of just getting your premade .cia's from somewhere else. My only issue with this is that you don't always know exactly what you're getting. What might say "Mario Kart 7 USA" might actually be the European version but region free. Which might create a problem when you're dealing with the saves later on down the line (like trying to inject a US save into a legit EU cart might not work).

    Which now brings me to my questions, if someone can kindly help out with.
    1. In method 1, why do I need to make xorpads on my 3DS to create these .cia's? Can't a PC make xorpads of it's own?
    2. Is creating .cia's with my own xorpads more safer in the sense that they're more personal to your 3DS and therefore more undetectable by Nintendo? or is it all the same?
    3. Method 1 is quicker than method 2, but method 2 creates the meta data that I like on my .cia's. Is it possible to somehow use method 1 to create the .cia's and then add in the meta data later?
    4. Method 3 hasn't been tried yet. Is this any faster, seeing how I'm in theory creating everything from start to finish on my PC alone?
    5. Is there anything else that I need to be aware of with the various methods, regarding online detection and avoiding bans, etc?
    6. Is there any reason why I should or shouldn't just get my .cia's downloaded from somewhere online? am I wasting my time making my own?
     
    Last edited by Rune, Feb 27, 2017
  2. evandixon

    evandixon PMD Researcher

    Member
    1,689
    810
    May 29, 2009
    United States
    Method 3 isn't designed for cia conversion; it's designed for ROM hacking. While cia conversion can still be done, the extra time it takes is only worth it if you're modifying files. You'd also need a fully decrypted ROM, which takes a while with Decrypt9.

    Method 1 is the fastest. Because the encryption keys are in the 3DS's bootrom (and we don't have them), crypto must be done on the 3DS. Fortunately, only a small portion of a ROM must be decrypted to convert to cia.
     
    Rune likes this.
  3. PabloMK7

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,817
    1,130
    Feb 21, 2014
    Spain
    Yoshi's Island
    1. 3DS games are encrypted with a key that only the 3DS knows, that's why you need to use xorpads or decrypt9 to do so. (xorpads are like the subkey for that specific file). Only with a bootrom dump you can decrypt roms in the PC without a console.
    2. iirc, the only problems are with .3ds files, because they have a unique header and nintendo can detect you if you go online. CIAs don't have that problem.
    3. I always use method 2, because it's easier than method 1, but that's up to you.
    4. No, read reply to question 1.
    5. Read answer 2
    6. online cias may not not have download play functionality or manuals because they may be converted with old tools, so I'd recommend always doing that yourself.
     
    Last edited by PabloMK7, Feb 27, 2017
    Rune and adrifcastr like this.
  4. Rune
    OP

    Rune Advanced Member

    Newcomer
    62
    16
    Feb 15, 2017
    Hmmm...I didn't even think about the manuals. Are these stored in all .3ds files and therefore transferred to all your personally created .cia's?

    Thanks for both answers btw, guys. Very insightful.
     
  5. PabloMK7

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,817
    1,130
    Feb 21, 2014
    Spain
    Yoshi's Island
    Normally, encrypted .3ds files have them, and get transferred to the cia
     
  6. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,509
    5,466
    Mar 17, 2010
    Norway
    Alola
    There's no way to convert 3DS to CIA without the use of a 3DS, even with .NET 3DS Toolkit. That is unless the CIAs are already decrypted, like some are.

    Anyway, I suggest using freeShop instead of CIAs. It's easier and you know what you're getting is 100% clean and of the right region.

    1. The keys needed to create the xorpads are stored in the bootrom, so we don't have access to them.
    2. It's all the same.
    3. They both create the same end result, I don't know where you're getting that it gives you a "blank" CIA from but that makes no sense.
    4. Nope, all the methods are more or less the same.
    5. Just don't play games online ahead of release.
    6. Yes, you're wasting your time. Just use freeShop. ;)
     
    Rune and TheVinAnator like this.
  7. Rune
    OP

    Rune Advanced Member

    Newcomer
    62
    16
    Feb 15, 2017
    Sorry, by "blank", I meant .cia's with a blank meta data. The problem here is that if I have one that's named something like "agfddsfssd.cia", I won't know what it is until I install it.
    But like you said, the end result is the same once installed, so I guess there's no real difference between methods. I guess freeShop is quicker, but it's reliant on an online source. I'd prefer to be able to store my own stuff.