Converting .3DS to .CIA for Dummies!

edit: I can't emphasize this enough.
If there are errors, check the guide under T5 first, then learn how to report from there ><


Converting .3DS/3DZ to .CIA Pictorial


Hopefully noob friendly!​

UPDATED! V5.1.4b @ UTC+8 2.45am 24-Nov-14:

Updated calling routine:​
Most questions all in front, so that users can doze off after​
Included the most recent exinjector & rsfgen.py​
Testing 32-bit compatibility​
Note: Haven't updated tutorial, but the prompts should be fool proof.​


Table of contents.
T1 - Disclaimer​
T2 - Basics​
T3 - Requirements​
_____What you need to know, what programs to have.
T4 - The Main Tutorial​
_____Steps 0, 1 & 2.
T5 - Reference code (and how to report errors)​
_____Reference code 1 - 5, Faux errors, how to report errors
T6 - [The not so] Frequently Asked Questions (FAQ)​
_____Is it region free, does .3DZ work, help w/ errors, what not to do
T7 - User Guides and Credits!!!​
_____Valiant effort by our community.
Control+Find the header number (eg: T5 ) to jump to the section!​



T1 - Disclaimer


gbaTEMP and I shall not be responsible for your own misdoing and misdeeds.
Use at your own risk! ;P

T2 - Basics


What are .cia files?​
Basically a somewhat stripped down decrypted version of .3DS files.​
You can't just rename .3DS > .CIA, you have to carry out a set of slightly complicated steps,​
which I have tried to get it dummified.​
Make sure you follow the steps concisely.​

Now, purpose of this tutorial is to guide users to convert 3DS games (not warez, not dev apps) to .CIA files for installation.​
Does not matter whether .3DS or .3DZ, and scene roms won't need to add 'header' to go online (GW users should know what's I'm talking about)​


T3 - Requirements


First off, these are the requirements:​
  1. Using a 3DS that is FW 4.1-4.5 (also known as FW 4.X)
    I recommend that these users get a Gateway 3DS.
    .
  2. A DS flashcart that works on your 3DS, for loading DS profile exploit
    Supercard DStwo or GW blue card (r4i) works.
    Gateway loader works fine. (cannot link you the link)
    .
  3. Install 2.7 Python. You can find it will a quick Google search.
    Or just download the one for your computer from here:
    https://www.python.org/download/releases/2.7/
    .
    ..
  4. This package.
    Paste it on your desktop, in a folder named "CIA"
    http://filetrip.net/3ds-downloads/utilities/download-quenopack-3ds-to-cia-5-1-4b-f33005.html

    Please the files in the folders they were in.
    The program reads the stuff based on the location!
    I will not provide the 7.x key. To find it, simply search the guy who leaked it. ><
    .
  5. A game backup (rom)
    .
  6. Patience, and not fearful of looking at folders with multiple items!
Okay, let's get started.



T4 - The Main Tutorial


Video Version:It's based on older revisions, but still counts.
Thanks to TeamNinja for uploading, and DrWhoJan who brought it to our attention!


Step 0: Tools usage and folder placement
Okay before we begin,
a short reminder: strictly please use only the tools I provided for this tutorial:
http://filetrip.net/3ds-downloads/utilities/download-quenopack-3ds-to-cia-5-1-4b-f33005.html

The folder layout and location of the files are to be the same,
as I have optimized the calling procedure of the .bats (the programs).

Unless you have a working understanding of reading those and modifying them to your liking,
I suggest you follow as I have provided :)

As an addition, follow the images to unblock the .rar, before unzipping:
2CnQzzS.jpg

Step 1: Decrypting the Rom
1a. Getting ncchinfo.bin
Go to CIA\Step 1
Paste your rom in this folder.
Rename it to "rom.3ds"

PL7i0Of.jpg


Drag the rom.3ds onto ctrKeyGen
A file called ncchinfo.bin will be in your directory.

PP2d2Vb.jpg


Now, go to CIA\For 3DS SD Card
Copy the launcher you use over to your 3DS SD card.
I will not provide slot0x25KeyX.bin, so find it yourself.
When you the value, HXD into a blank file, and save as slot0x25KeyX.bin
S5pjz4H.jpg


Also copy and paste ncchinfo.bin into the root of the 3DS SD card.

pxb4yYC.jpg


Now insert SD card back into your 3DS

1b. Getting xorpads
Go to your 3DS.
Run System Settings > Other Settings > Profile > Nintendo DS Profile
n0AavEQ.jpg

5Rc1S0H.jpg

NwOqJMT.jpg

2IjMk6y.jpg

The program will load and run.
Allow it to run until it tells you, that you can turn off your 3DS.

yLff9EH.jpg

YlpCabp.jpg


Once done, insert your SD card back on your computer.
Copy only these xorpads to this directory:
CIA\Step 2
Not every rom provides exefs_7x.xorpad. If you do see it, you must copy it!
Only copy manual.romfs.xorpad if you want to have a user manual option on home screen.

Fo9jCzq.jpg

If you game has Download Play support, and you want it,
copy this too:
5KvoodX.jpg

Step 2: Decrypting + Compiling the .cia!
Move rom.3DS to CIA\Step 2

XipcAm6.jpg


Drag and drop or Double click on 'decrypt and make.bat'

tLI1w0u.jpg


Hit enter, and it will run.
The latest update has all the questions at the start of the process,
so one may mostly doze off and wait after doing so.
The image that says it all!
VZ2EdYp.jpg


When you see this, you are at the end of the program!
If you see install.cia, it means you were successful!

WCurpGN.jpg

"But Queno138, I want to repack another rom, must I unpack again?"
No!
This feature allows you to repack, as long as you have the items there.
It's been around since, 2.0? I just never properly documented it.
5JC08On.jpg


After this image, go up to (continue)

Installation Success!
gCXgRFI.jpg

Custom rsf guide:
OeBfnFQ.jpg


T5 - Reference Codes (and how to report errors)



Reference codes has appeared in the batch program, for ease of referencing.

Genuine Errors
Reference code 1: Required .bins not located.
4KYeogO.jpg

If the required .bins for the operation is not found,
it means that either you deleted it, or it could not be extracted, due to decryption error.

Associated with (and fix):
1. Invalid slot0x25KeyX.bin for FW 7x games (refer to guide on how to acquire it correctly)
2. Files have been moved (kindly keep them in the same place as guide dictates)
3. Decryption error. (Delete everything and try again.)
4. Mismatched tools (Ensure you are using the tools provided)


Reference code 2: rom.3ds not located.
Uxw5lzg.jpg

Decryption cannot be done without the exact file, "rom.3ds"

Associated with (and fix):
1. rom name is not rom.3ds (Kindly rename the rom to rom.3ds)
2. rom not in folder (kindly place rom.3ds in Step 2)


Reference code 3: xorpad not located.
FR5pUbq.jpg

Xorpads are required for decryption

Associated with (and fix):
1. xorpad not named as per guide (simple, eg: 01.exefs_norm.xorpad)
2. xorpad not in directory (don't forget to transfer over the xorpad from 3DS SD card)


Reference code 4: Tools folder not found
R9j5cda.jpg

Tools are required for the operation.

Associated with (and fix):
1. Tools folder has been renamed. (It needs to be named "tools")
2. Tools folder has been moved. (Move it back to the original directory)
3. Tools folder lost. (Redownload and extract the whole package)


Reference code 5: Folders located before decryption
tWxh7lf.jpg

This message only pops up when you have chosen to decrypt a rom.

Associated with:
1. Exefs, Encrypted_bin, decrypted, xorpad folder exists. (delete them before decrypting new rom)
2. Selected choice by accident. (ignore, proceed to pack rom.)

Faux errors:
Some of the text displayed tends to scare users.
If you get any one of these, please don't report, as it's not an error.
VkD4En9.jpg

DcQ4XQY.jpg

Reference code not shown/code persists:
If code persists, or error with no code:
Do us a favor and save each other some time.
Before showing errors,
ensure that:
1. you downloaded the lastest package.
2. followed the tutorial to the latter
3. did not use express
If error still occurs:
1. What Game you are using
2. Inform me if you are using CFW or GW
3. Tell me what error you get in game (or if you don't reach there)
4. screenshot \exefs, \decrypted, \xorpads, \step 2
5. show me the error page on the normal bat

this way, easier for me to identify the error.


T6 - [The not so] Frequently Asked Questions (FAQ)



What must I not do?
Don't go into sysnand and check data management. (content will be deleted)
Don't forget to back up data when necessary (to prevent losing saves)
Don't forget to read T5 of my guide regarding errors. (to not plague this thread)
Don't format 3DS for no reason (I mean, imagine one day you need to upgrade, and can't connect to NNID or something)
Don't update firmware in CFW (cause it stops working)



How to install .cia files
What, you're here without knowing!?
Basically, get Devmenu or bigbluemenu (can't tell you where)​



Will I be able to delete them afterwards?
Devmenu and BBM has options for deleting them.​
Just don't delete your updates or important warez by mistake.​
Check the ID against http://3ds.essh.co/



Does this require FW 4.5 like other exploits
.....​
You think?​
</sarcasm> YES



Does this work with trimmed roms?
YES! (link)​



Does this work with FW 7.X games?
GW = YES!
CFW = NO.
And before you ask, if there were any workarounds​
(well, besides obviously getting a GW that is so worth it now),​
I'll be happy to share.​



Does your tutorial contain "region free and firmware spoofing"?
YES!



Does the package support download play?
YES!



Does this work with .3DZ?
YES!
After all, it's just a file extension. doesn't affect conversion.​



Does your tutorial contain "user manuals"
YES!



I have an existing save on Gateway. Why is it not on the .cia game?
Imagine the .cia game being like an eshop game.​
Every game comes with a new save.​



Are saves brought forward?
NO.
Because that's not how the mechanics of conversion works.​
Gateway makes the redcard 'find and see' the saves, not the homepage apps.​



What about nand saving/card2?
NO.
But ONLY for card2, you can use savefiler or save data transfer tool.​
If you were already playing your roms as a card2, go ahead and transfer :)



Why can't I modify to card2 then transfer?
By making it card2, you broke the header,​
which the 3DS will check if the save is corrupt before transfer.​
Based on the chain of events mentioned, it is considered corrupted.​



Can user manuals be repacked together?
YES!
Take note that if using different region game,​
enable region free.​



Does this work with VC roms?
NO (link) or YES? (link)​
Try it yourself!​



Does this conversion method work with Dev apps (devmenu and SDK stuff)
NO!
However, link to show you how to get them converted: (link)​



Do I need .rsf files?
Up to you. The batch program will generate one for you,​
but if you follow the prompt, you can insert your own.​
Not all work at the moment.​



Can I load games above 4.5 on CFW?
From what I know, some games require firmware spoofing​
and the FW6/7 games is a big NO



Where can I find slot0x25KeyX.bin/7.X keys?
Can't tell you where. But I know who has it (the guy you leaked it, duh)​
get it, type it in hex using HXD, save as slot0x25KeyX.bin​
Paste it into your SD card.​



Why do I see no errors but there is no .cia?
Most likely you are using express. IF you are noob, just don't.​
Chances are it's decryption or your key 7 is wrong.​
Go to section T5, it'll teach you something.​



It says not enough memory, why? I have x GB ram.
Well, your computer probably already runs a lot of processes,​
and packing the rom can take up to 2-3x it's original size.​

Don't tell me you got 16GB ram.​
Just go o into safe mode, and launch the .bat there.​
As long as the folders are still there,​
you can choose to continue with repacking, without re-depacking.​
If it still doesn't work,​
rename _makerom.exe to makerom.exe and try again.​
I've already added a new makerom to circumnavigate that,​
but I still recommend keeping your processes low.​



Help, can't drag and drop on python
try either option:​
put this into a .bat
Code:
c:\Python27\python.exe" ctrKeyGen.py %1
then drag and drop the rom.3ds onto the .bat

Or

Code:
regedit
 
[HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler]@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
 
[HKEY_CLASSES_ROOT\Python.NoConFile\shellex\DropHandler]@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
 
[HKEY_CLASSES_ROOT\Python.CompiledFile\shellex\Drop Handler]@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"


What is the express.bat in your package
It's a program NOT for noobs.​
It doesn't ask questions; simply repacks if there are folders,​
decrypt and unpack if there are xorpads​
Doesn't prompt, just runs.​
It has some preset settings.​
It won't decrypt the whole romfs.bin. Creates its own rsf.​
Due to it's nature, error prompts might be skipped.​
So I repeat,​
It's a program NOT for noobs.​



Help, my errors aren't resolved!
Do us a favor and save each other some time.​
Before showing errors,​
ensure that:​
1. you downloaded the lastest package.​
2. followed the tutorial to the latter​
3. did not use express​
If error still occurs:​
1. What Game you are using​
2. Inform me if you are using CFW or GW​
3. Tell me what error you get in game (or if you don't reach there)​
4. screenshot \exefs, \decrypted, \xorpads, \step 2​
5. show me the error page on the normal bat​
this way, easier for me to identify the error.​
Wondering if you have a faux error?​
Ctrl Find "T5"​

T7 - User Guides and Credits!!!



Palantine and the CFW and CIA guide that (almost) started it all!:​
gamesquest1; the first ever decrypting guide I could understand:​
ryanrocks462, which I also cross refer to:​
Versehell's also very comprehensive guide:​
Liomajor's first most automatic guide:​
piratesephiroth's Exinjector!​
Kyogre123's savedatafiler tutorial​
relys and the NCCH/SD programs!​
ground, whom I never spoke to, but I thank your efforts in Exheader research!​
Vappy's, rsfgen.py!​
Also to neimod, 3DSguy, 3Dbrew, and many others that slipped my mind!​
And last but not least,​
everyone on gbatemp :)



I'm not reinventing the wheel, I'm merely gathering all information into one.
 
How is being less expensive not an advantage in the most simplest of terms? Outside of that alone, they run natively because they are run and installed via official Nintendo means and accessible on the SD card as if they are an eShop title. Games on the Gateway MicroSD are run through exploits and development based on the Gateway team and not Nintendo. The usage of the Gateway card is used to launch EmuNAND and that's the end of its reliability. The advantage comes beyond that when you no longer need it. I thought that was obvious as well, to be completely honest. Also, I never listed pressing Select as a difficulty in the slightest, but I'm glad to see you try and twist words that way. It's a UX advantage to have games accessible the way people are used to and have become prone to launching.

To be frank, all of these things seem like logical things that are more or less completely obvious. It's not even a debate really, it's a logical advancement over having to use Gateway's tools to launch a game over running something natively through the usage of leaked SDK tools and being able to access them on a standard 3DS.
I think he worded it a bit awkwardly. I don't think he means that the advantage isn't an advantage... Rather he doesn't see that pro as something that makes it better than the alternative. And as such, taken as a whole, the big SD card is not an advantage over the MicroSD card.
...At least, I think that's what he meant.
 
I still can't figure out how to determine the savedata size. Neither of the methods above are helping me. The ctrtool command fails, and I have no idea what part of the rom_tool info.bat readout applies to the savedata file size.

Does anyone have any advice?


you can download one of the saves from here: http://filetrip.net/3ds-downloads/game-saves/
and then extract it to see what size it is... kind of a long not normal way to go about it but it should work haha

or after u run the unpackv3.bat copy ctrtool.exe to the decrpyted folder u just created and then create a .bat file in the decrypted folder with this info
Code:
ctrtool -t exheader exheader.bin > exheaderinfo.txt

then open the exheaderinfo.txt and youll see it
:)
 
  • Like
Reactions: CraddaPoosta
I think he worded it a bit awkwardly. I don't think he means that the advantage isn't an advantage... Rather he doesn't see that pro as something that makes it better than the alternative. And as such, taken as a whole, the big SD card is not an advantage over the MicroSD card.
...At least, I think that's what he meant.

It still wouldn't make sense if that's what he meant. :/

The MicroSD means reliance on a new SD card that exists separately from the MicroSD. A standard SD is less expensive, can hold more data per price, and is one card that can store all of your media. Games aren't separate, saves are on-board, everything is manageable from within the native OS; it's just all around better.
 
thanks for big tuto

have issues with games card 2

for pokemon x and y and animal crossing

games load ok , save when open games , but in games save freeze game , and after when launch game is black screen

somebody have this games working well ?

if yes can you post how you do it

thanks
 
how do i find my save size for fantasy life? ive used the rom_tool_info.bat but either i dont see it or its missing from that.
 
I still can't figure out how to determine the savedata size. Neither of the methods above are helping me. The ctrtool command fails, and I have no idea what part of the rom_tool info.bat readout applies to the savedata file size.

Does anyone have any advice?

If you used VerseHell's guide https://gbatemp.net/threads/tutorial-converting-3ds-to-cia-for-dummies.373722/#post-5149679 you should not need to amended anything other than the lines marked with #edit in the RSF.rsf file. I did a video last night to show the steps https://www.youtube.com/watch?v=zhy7qOSv6xw ...it's far from perfect so see my additional comments for updates ...however I'm only on my 4th cia conversion but I haven't had any issues so far following the guide.
 
I tried doing this with Zelda ALBW, but the devmenu crashed when I attempted to install the .cia.
I followed this guide, but I might have messed up the .rsf file:


Code:
BasicInfo:
  Title                  : "The Legend of Zelda: A Link Between Worlds" # Change this
  CompanyCode            : "00" # Change this
  ProductCode            : "CTR-P-BZLP" # Change this
  ContentType            : Application
  Logo                    : Nintendo
 
TitleInfo:
  UniqueId                : 0x0EC4 # Change this
  Category                : Application
 
Option:
  UseOnSD                : true
  EnableCompress          : true
  FreeProductCode        : true
  EnableCrypt            : true
  MediaFootPadding        : true
 
AccessControlInfo:
  UseExtSaveData : true
  ExtSaveDataId: 0x0EC4 # Change this
  SystemSaveDataId1: 0x00000000
  SystemSaveDataId2: 0x00000000
  OtherUserSaveDataId1: 0x00000
  OtherUserSaveDataId2: 0x00000
  OtherUserSaveDataId3: 0x00000
  UseOtherVariationSaveData : false
 
SystemControlInfo:
  SaveDataSize: 512KB # Change this
  RemasterVersion: 0
  StackSize: 0x00040000
  JumpId: 0x00040000000EC400L # plaintext exheader (<full UniqueID>L)
 
I tried doing this with Zelda ALBW, but the devmenu crashed when I attempted to install the .cia.
I followed this guide, but I might have messed up the .rsf file:

This is my rsf for Zelda, tested and fully works:

Code:
BasicInfo:
  Title                  : "Legend of Zelda: A Link Between Worlds" # Change this
  CompanyCode            : "00" # Change this
  ProductCode            : "CTR-P-BZLP" # Change this
  ContentType            : Application
  Logo                    : Nintendo
 
TitleInfo:
  UniqueId                : 0x0EC4 # Change this
  Category                : Application
 
Option:
  UseOnSD                : true 
  EnableCompress          : true 
  FreeProductCode        : true 
  EnableCrypt            : true 
  MediaFootPadding        : true 
 
AccessControlInfo:
  UseExtSaveData : true
  ExtSaveDataId: 0x0EC4 # Change this
  SystemSaveDataId1: 0x00000000 
  SystemSaveDataId2: 0x00000000 
  OtherUserSaveDataId1: 0x00000 
  OtherUserSaveDataId2: 0x00000 
  OtherUserSaveDataId3: 0x00000 
  UseOtherVariationSaveData : false
 
SystemControlInfo:
  SaveDataSize: 512KB # Change this
  RemasterVersion: 0 
  StackSize: 0x00040000 
  JumpId: 0x0004000000030800L # plaintext exheader (0x00040000000EC400L)
 
If Anyone interested here is my .rsf file for the European Dead or Alive Dimensions. Of course tested and fully working. ^^

Code:
BasicInfo:
  Title                  : "Dead or Alive Dimensions" # Change this
  CompanyCode            : "C8" # Change this
  ProductCode            : "CTR-P-ADDP" # Change this
  ContentType            : Application
  Logo                    : Nintendo
 
TitleInfo:
  UniqueId                : 0x0308 # Change this
  Category                : Application
 
Option:
  UseOnSD                : true
  EnableCompress          : true
  FreeProductCode        : true
  EnableCrypt            : true
  MediaFootPadding        : true
 
AccessControlInfo:
  UseExtSaveData : true
  ExtSaveDataId: 0x038A # Change this
  SystemSaveDataId1: 0x00000000
  SystemSaveDataId2: 0x00000000
  OtherUserSaveDataId1: 0x00000
  OtherUserSaveDataId2: 0x00000
  OtherUserSaveDataId3: 0x00000
  UseOtherVariationSaveData : false
 
SystemControlInfo:
  SaveDataSize: 512KB # Change this
  RemasterVersion: 0
  StackSize: 0x00040000
  JumpId: 0x0004000000038A00L # plaintext exheader (<full UniqueID>L)
 
Hello,

Although I have been converting .csu files, I believe my question to still be relevant.

I have installed CIAs for SaveDataFiler and PlayCoinSetter, but the latter only has an icon saying "BANNER" and crashes the console when run. Upon closer inspection I noticed they both have the same unique ID (0xff40a). I'm taking a guess that because they have the same ID, PCS installs itself in SDF's app space and turns corrupt. How do I separate my .cia files' unique IDs?
 
Maybe pack all working RSF into text files named to the correct game's , and pack then into a all-in-one .zip file for first page .

Just a thought ?...

They are scatter all over pages.
 
Hello,

Although I have been converting .csu files, I believe my question to still be relevant.

I have installed CIAs for SaveDataFiler and PlayCoinSetter, but the latter only has an icon saying "BANNER" and crashes the console when run. Upon closer inspection I noticed they both have the same unique ID (0xff40a). I'm taking a guess that because they have the same ID, PCS installs itself in SDF's app space and turns corrupt. How do I separate my .cia files' unique IDs?


Edit the rsf of one of them before the makerom command.
 
Say, can you transfer saves between .3DS ROMs and installed .CIAs?
Anyone?

I know about Save Data Transfer Tool, but I've never used it and I don't know if it works with games converted to cia. Also, according the the Nintendo site, it can only be used to transfer data from retail to digital, not the other way around.
 
Anyone?

I know about Save Data Transfer Tool, but I've never used it and I don't know if it works with games converted to cia. Also, according the the Nintendo site, it can only be used to transfer data from retail to digital, not the other way around.


Maybe if you convert your card1 rom to a card2 rom?
Edit : I mean the save data transfer works, but only with card2 3ds roms.
 

Site & Scene News

Popular threads in this forum