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.
 

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,867
Trophies
2
Location
At Home :)
XP
4,141
Country
Thats funny the BBB Devmenu.cia file installs fine and does not need unwrapping and also it shows on the Home screen in systemnand so its got to be something to do with this package that generates the .cia files that is causing the problem.
 

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,867
Trophies
2
Location
At Home :)
XP
4,141
Country
No its 100% fault with Queno's package because the devmenu BBB .cia file installs fine and also installs on the system nand and does not need unwrapping again but the generated files by Quenos package causes the games to be needed to unwrap everytime you boot up emunand with gateway maybe he can sort the issue out.
 

tjexp

Happy New Year!
Member
Joined
May 20, 2012
Messages
741
Trophies
0
Location
England
XP
386
Country
No its 100% fault with Queno's package because the devmenu BBB .cia file installs fine and also installs on the system nand and does not need unwrapping again but the generated files by Quenos package causes the games to be needed to unwrap everytime you boot up emunand with gateway.
Try using the clean 6.2 devmenu
 
  • Like
Reactions: supermalloch

CraddaPoosta

Sepatown, my damie.
Member
Joined
May 3, 2010
Messages
1,326
Trophies
1
XP
2,639
Country
United States
No its 100% fault with Queno's package because the devmenu BBB .cia file installs fine and also installs on the system nand and does not need unwrapping again but the generated files by Quenos package causes the games to be needed to unwrap everytime you boot up emunand with gateway maybe he can sort the issue out.

Not true. I have installed more than twenty games using his latest file package, and not a single one has required me to keep unwrapping it.

Although, I do believe that it is the cause of the few games that will not install properly. I need a way to change the SaveDataSize to 1M, so I am going to try using an older guide, or different tools, and see if I can get them installed this time.
 

liomajor

Well-Known Member
Member
Joined
Jun 10, 2008
Messages
1,468
Trophies
0
XP
1,369
Country
United States
Here is the list of games that I have installed properly, using The QuenoPack 4.6:

Fantasy Life
Pokemon X

Failed to install properly, or does not work when installed:

Pilotwings Resort
Star Fox 64 3D
The Legend of Zelda - A Link Between Worlds


All games are the (U) version

These i tested and worked with my own tool 3ds_to_cia v1.05 (eur version).
 

fpen

Active Member
Newcomer
Joined
Nov 4, 2014
Messages
25
Trophies
0
Age
52
XP
43
Country
France
hello

after many test , same b on pokemon x

someone can see what is no good in my rsf file or post a rsf file working


thanks

BasicInfo:
Title : "pokemon x" #CHANGE ME
CompanyCode : "01" #CHANGE ME
ProductCode : "CTR-P-EKJA" #CHANGE ME
ContentType : Application # Application / SystemUpdate / Manual / Child / Trial
Logo : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem

TitleInfo:
UniqueId : 0x0000055D #CHANGE ME
Category : Application # Application / SystemApplication / Applet / Firmware / Base / DlpChild / Demo / Contents / SystemContents / SharedContents / AddOnContents / Patch / AutoUpdateContents

CardInfo:
MediaSize : 2GB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB #CHANGE ME
MediaType : Card1 # Card1 / Card2 #CHANGE ME
CardDevice : NorFlash # NorFlash / None #CHANGE ME


Option:
UseOnSD : true # true if App is to be installed to SD #CHANGE ME
EnableCompress : false # Compresses exefs code #CHANGE ME
FreeProductCode : true # Removes limitations on ProductCode #CHANGE ME
EnableCrypt : false # Enables encryption for NCCH and CIA #CHANGE ME
MediaFootPadding : false # If true CCI files are created with padding #CHANGE ME

ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
ReadOnly:
- .rodata
- RO
ReadWrite:
- .data
- RO
Text:
- .init
- .text
- STUP_ENTRY

AccessControlInfo:
UseOtherVariationSaveData : false
#UseExtSaveData : true
ExtSaveDataId: 0x0000055D
SystemSaveDataId1: 0x00000000
SystemSaveDataId2: 0x00000000
OtherUserSaveDataId1: 0x00000
OtherUserSaveDataId2: 0x00000
OtherUserSaveDataId3: 0x00000
#UseExtendedSaveDataAccessControl: true
#AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606]
FileSystemAccess:
#- CategorySystemApplication
#- CategoryHardwareCheck
#- CategoryFileSystemTool
- Debug
#- TwlCardBackup
#- TwlNandData
#- Boss
- DirectSdmc
- DirectSdmcWrite
#- Core
#- CtrNandRo
#- CtrNandRw
#- CtrNandRoWrite
#- CategorySystemSettings
#- CardBoard
#- ExportImportIvs
#- DirectSdmcWrite
#- SwitchCleanup
#- SaveDataMove
#- Shop
#- Shell
#- CategoryHomeMenu
IoAccessControl:
#- FsMountNand
#- FsMountNandRoWrite
#- FsMountTwln
#- FsMountWnand
#- FsMountCardSpi
#- UseSdif3
#- CreateSeed
#- UseCardSpi

IdealProcessor : 0
AffinityMask : 1

Priority : 48

MaxCpu : 0x9E # Default

DisableDebug : false
EnableForceDebug : false
CanWriteSharedPage : false
CanUsePrivilegedPriority : false
CanUseNonAlphabetAndNumber : false
PermitMainFunctionArgument : false
CanShareDeviceMemory : false
RunnableOnSleep : false
SpecialMemoryArrange : false

CoreVersion : 2
DescVersion : 2

ReleaseKernelMajor : "02"
ReleaseKernelMinor : "33"
MemoryType : Application # Application / System / Base
HandleTableSize: 222
IORegisterMapping:
- 1ff50000-1ff57fff
- 1ff70000-1ff77fff
MemoryMapping:
- 1f000000-1f5fffff:r
SystemCallAccess:
ArbitrateAddress: 34
Break: 60
CancelTimer: 28
ClearEvent: 25
ClearTimer: 29
CloseHandle: 35
ConnectToPort: 45
ControlMemory: 1
CreateAddressArbiter: 33
CreateEvent: 23
CreateMemoryBlock: 30
CreateMutex: 19
CreateSemaphore: 21
CreateThread: 8
CreateTimer: 26
DuplicateHandle: 39
ExitProcess: 3
ExitThread: 9
GetCurrentProcessorNumber: 17
GetHandleInfo: 41
GetProcessId: 53
GetProcessIdOfThread: 54
GetProcessIdealProcessor: 6
GetProcessInfo: 43
GetResourceLimit: 56
GetResourceLimitCurrentValues: 58
GetResourceLimitLimitValues: 57
GetSystemInfo: 42
GetSystemTick: 40
GetThreadContext: 59
GetThreadId: 55
GetThreadIdealProcessor: 15
GetThreadInfo: 44
GetThreadPriority: 11
MapMemoryBlock: 31
OutputDebugString: 61
QueryMemory: 2
ReleaseMutex: 20
ReleaseSemaphore: 22
SendSyncRequest1: 46
SendSyncRequest2: 47
SendSyncRequest3: 48
SendSyncRequest4: 49
SendSyncRequest: 50
SetThreadPriority: 12
SetTimer: 27
SignalEvent: 24
SleepThread: 10
UnmapMemoryBlock: 32
WaitSynchronization1: 36
WaitSynchronizationN: 37
InterruptNumbers:
ServiceAccessControl:
- APT:U
- $hioFIO
- $hostio0
- $hostio1
- ac:u
- boss:U
- cam:u
- cecd:u
- cfg:u
- dlp:FKCL
- dlp:SRVR
- dsp::DSP
- frd:u
- fs:USER
- gsp::Gpu
- hid:USER
- http:C
- mic:u
- ndm:u
- news:u
- nwm::UDS
- ptm:u
- pxi:dev
- soc:U
- ssl:C
- y2r:u
- ldr:ro
- ir:USER
- nim:aoc
- am:app

SystemControlInfo:
SaveDataSize: 16M #CHANGE ME
RemasterVersion: 3
StackSize: 0x40000
JumpId: 0x0004000000086400
Dependency:
ac: 0x0004013000002402L
am: 0x0004013000001502L
boss: 0x0004013000003402L
camera: 0x0004013000001602L
cecd: 0x0004013000002602L
cfg: 0x0004013000001702L
codec: 0x0004013000001802L
csnd: 0x0004013000002702L
dlp: 0x0004013000002802L
dsp: 0x0004013000001a02L
friends: 0x0004013000003202L
gpio: 0x0004013000001b02L
gsp: 0x0004013000001c02L
hid: 0x0004013000001d02L
http: 0x0004013000002902L
i2c: 0x0004013000001e02L
ir: 0x0004013000003302L
mcu: 0x0004013000001f02L
mic: 0x0004013000002002L
ndm: 0x0004013000002b02L
news: 0x0004013000003502L
nim: 0x0004013000002c02L
nwm: 0x0004013000002d02L
pdn: 0x0004013000002102L
ps: 0x0004013000003102L
ptm: 0x0004013000002202L
ro: 0x0004013000003702L
socket: 0x0004013000002e02L
spi: 0x0004013000002302L
ssl: 0x0004013000002f02L
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    Skelletonike @ Skelletonike: 1H left, such a slow week.