Hacking CiTRUS development

ZombiePosessor

Well-Known Member
Member
Joined
May 1, 2008
Messages
445
Trophies
0
Age
40
Location
West Virginia
XP
332
Country
United States
I saw that the thread has grown by 3 pages since my last visit, assuming its something to do with this "hack" that's supposedly coming. Nope. Just some idiots arguing if a 15 year old console is more powerful than a current handheld. Will someone close this thread? All it is is the ramblings of 2 idiots and the wishes and waits of those wistful for a hack. Pointless.
 

saberjoy

Well-Known Member
Member
Joined
Oct 9, 2011
Messages
548
Trophies
0
Age
28
Location
somewhere you only dream of!
XP
283
Country
India
I saw that the thread has grown by 3 pages since my last visit, assuming its something to do with this "hack" that's supposedly coming. Nope. Just some idiots arguing if a 15 year old console is more powerful than a current handheld. Will someone close this thread? All it is is the ramblings of 2 idiots and the wishes and waits of those wistful for a hack. Pointless.
then stop posting in it
 

RNorthex

Well-Known Member
Member
Joined
Nov 22, 2010
Messages
443
Trophies
0
XP
209
Country
United States
I saw that the thread has grown by 3 pages since my last visit, assuming its something to do with this "hack" that's supposedly coming. Nope. Just some idiots arguing if a 15 year old console is more powerful than a current handheld. Will someone close this thread? All it is is the ramblings of 2 idiots and the wishes and waits of those wistful for a hack. Pointless.

hey, hey, everyone makes mistakes, if it's not an on-going flamewar with trolls, there's no need for insults
i have no clue why the "is the 3ds more powerful than the n64" had to be discussed for sure, even a kid sees that oot 3d looks better than oot n64, it's pure common sense

anw, i knew it was just a slightly more useful utility or just another one, at least citrus didn't make it to be a "big revelation of the 3ds hack coming" or sth like that
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,651
Country
France
Can we come back to the main subject, which is CiTRUS, and stop talking about console spec? Thank you.
I've edited the topic title too, as it's not a rumor, it's a topic about that program.



Speaking of that, I have a technical question and hope someone could explain it.
I'm sorry I don't understand a lot about cryptology but I'll try to explain.


CiTRUS will be used to create CXI files by providing all the elements (game information, icons, wav file, RSA key, etc.)

So, the resulted CXI contains the icons and sounds files.
Are they (icon and sound) encrypted + signed, or just signed?
This is two different things, right?
In cryptology you can sign without encrypting, crypt without signing, or both?

If they are encrypted, I guess the encrypting method is well known (and used by many devices and consoles), that's why CiTRUS can merge and create the CXI with the correct format?
But you need that encrypting key to extract the icon data back?

I would like to know if there's a way to extract the icons from retail game's ROMs.
But if they are encrypted then this is not possible.

The icon and sound format details on 3Dbrew has been done by users with access to dev-unit, so they have icons and sound examples?

Where are stored the icon/banner/sound data in the CXI?
I think it's not detailed in the 3dbrew CXI specs.


Edit:
Or maybe there's a NCCH block for each type of data?
One for the manual, one for the CXI, one for the banner, one for the update?
 
  • Like
Reactions: 2 people

CollosalPokemon

ばん。。。かい
Member
Joined
Oct 18, 2009
Messages
682
Trophies
0
XP
1,724
Country
United States
Can we come back to the main subject, which is CiTRUS, and stop talking about console spec? Thank you.
I've edited the topic title too, as it's not a rumor, it's a topic about that program.



Speaking of that, I have a technical question and hope someone could explain it.
I'm sorry I don't understand a lot about cryptology but I'll try to explain.


CiTRUS will be used to create CXI files by providing all the elements (game information, icons, wav file, RSA key, etc.)

So, the resulted CXI contains the icons and sounds files.
Are they (icon and sound) encrypted + signed, or just signed?
This is two different things, right?
In cryptology you can sign without encrypting, crypt without signing, or both?

I would like to know if there's a way to extract the icons from retail game's ROMs.
But if they are encrypted then this is not possible.

Where are stored the icon/banner/sound data in the CXI?
I think it's not detailed in the 3dbrew CXI specs.
The CXI is not just icon and sound.
The CXI format is literally an executable, hence the full name being CTR eXecutable Image. It's a pre-formed CCI (3DS ROM), CIA (Think of it as a 3DS channel), or CSU (3DS Update) so "potentially" with this it is possible to form any format stated before with this. Needless to say, CCI, CIA, and CSU are just wrappers containing basically the spec information (flags and product code, maybe some other minor information) and the CXI. Of course the 3DS (both developer and retail) will _expect_ either a CCI, CIA, or CSU and it will not run a CXI alone because it needs flags to find information (signatures, modes, ect).

Retail games are encrypted. You'd need to get the decryption keys for those which haven't been publicly found yet.

Icon/banner/sound is found in the ExeFS along with the application's coding.
It is actually briefly mentioned here about the ExeFS : "The CXI file format contains application ARM11 code, the menu icon, the menu 3D model, and an embedded read-only (ROM) filesystem for external filestorage. In fact, the application ARM11 code, menu icon, and menu 3D model are embedded into its own filesystem too, called the ExeFS."

Xcution seems to have gotten the ExeFS correct according to 3DBrew, according to this (test) decryption:

http://3dbrew.org/wi...dec_Xcution.png

which shows the list .code, banner, icon, and logo from a decrypted ExeFS.
 
  • Like
Reactions: 3 people

Ericthegreat

Not New Member
Member
Joined
Nov 8, 2008
Messages
3,455
Trophies
2
Location
Vana'diel
XP
4,288
Country
United States
It seems CXI are signed with dev keys that can only run on dev consoles (I guess someone got some dev keys its prob not that hard I guess to get some if you know a dev?) And when retail games are done the devs send the code to nintendo, who then encrypt it with their retail keys (which we don't have). That is why we cannot decrypt retail games.
 

ferret7463

Well-Known Member
Member
Joined
Sep 21, 2010
Messages
613
Trophies
1
Age
50
XP
618
Country
United States
so, CXI is closer to being like an "ISO" with an "Auto Boot" than an normal window program being an "EXE."? :wtf:
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,651
Country
France
so, CXI is closer to being like an "ISO" with an "Auto Boot" than an normal window program being an "EXE."? :wtf:
No, What I understood is that the CXI is the executable part (.exe), which require to be located in a CCI container to be visible on the 3DS menu.

The CCI (rom image, cartridge) or the CIA (Banner, eshop) includes those CXI file along with other informations.
The CXI alone can't be launched by the console. (it "could" be launched by an emulator for example, as it's the file containing the executable code, the emulator wouldn't need any header information like titles in each language, banner animation, etc.).
Of course there's no emulator (it was just an example to explain), don't ask where to find one.


The executable code (CXI) also contains two distinct file system (one with data like icon and sounds ExeFS, and one read only with the game/application code, RomFS).

CCI said:
CCI headers
CXI said:
CXI headers
ExeFS said:
Here are stored some files, like the game Icon
RomFS said:
Here is stored the application code
There are a lot of missing part in that model. but it's a big representation.
a CCI can contain up to 13 CXI.

That's what I understood.
If I said anything wrong, please correct me.
 

elisherer

I ♥ 3DS
Member
Joined
Dec 16, 2009
Messages
778
Trophies
0
Location
3dbrew.org
Website
www.sherer.co.il
XP
392
Country
Iceland
That's correct...CCIs can conatin multiple CXIs ad usually do beacuse they might need a system update.
CSU (which is CTR System Update) are the same as CCI (exactly!)
CIA use it a little different...the ExeFS and RomFS are distributed in the sections (see 3dbrew for more information)
 

CollosalPokemon

ばん。。。かい
Member
Joined
Oct 18, 2009
Messages
682
Trophies
0
XP
1,724
Country
United States
so, CXI is closer to being like an "ISO" with an "Auto Boot" than an normal window program being an "EXE."? :wtf:
No, What I understood is that the CXI is the executable part (.exe), which require to be located in a CIA container to be visible on the 3DS menu.

The CCI (rom image, cartridge) or the CIA (channel, eshop) includes those CXI file along with other informations.
The CXI alone can't be launched by the console. (it "could" be launched by an emulator for example, as it's the file containing the executable code, the emulator wouldn't need any header information like titles in each language, banner animation, etc.).
Of course there's no emulator (it was just an example to explain), don't ask where to find one.


The executable code (CXI) also contains two distinct file system (one with data like icon and sounds ExeFS, and one read only with the game/application code, RomFS).

CCI said:
CCI headers
CXI said:
CXI headers
ExeFS said:
Here are stored some files, like the game Icon
RomFS said:
Here is stored the application code (The ExeFS actually contains this, NOT the RomFS)
There are a lot of missing part in that model. but it's a big representation.
a CCI can contain up to 13 CXI.

That's what I understood.
If I said anything wrong, please correct me.

Corrected/bolded.

Yes, in theory, it is possible to launch a single CXI, but the 3DS won't normally accept it (as you said).
In order to launch something from the 3DS's menu it needs to be a CIA. Cartridges are for CCI.

CTR Importable Archive
CTR Cartridge Image

The ExeFS is called, in full, the Executable FileSystem. Hence what I said before with it containing the application's code. I believe the RomFS is for storing certain files.
The CXI is the "executable" part but since you went deeper with the ExeFS and RomFS I'll go a bit deeper in explaining them. (At minimum an ExeFS is needed; RomFS "can" be omitted although I think most retail 3DS things will have a RomFS)

Or in other words:

ExeFS:

- Application's code
- Icon
- Banner
- Logo

RomFS:

Misc files
 
  • Like
Reactions: 3 people

McHaggis

Fackin' Troller
Member
Joined
Oct 24, 2008
Messages
1,749
Trophies
0
XP
1,466
Country
Well if this means that they could make apps on the dev units then a rom loader could be possible on dev units ??
Dev units cannot play retail games. This is pure speculation on my part, but they probably don't have the correct public key corresponding to the private key that retail games are signed with.
 

Slowking

Well-Known Member
Member
Joined
Dec 31, 2006
Messages
1,403
Trophies
0
XP
260
Country
Germany
*snip*

Also, since I know you're good and well to say "Google it for me and give me evidence" I have gone out and done jsut that.

N64 specs:

http://www.cyberiapc...intendo_n64.htm

3DS specs:

http://www.hardcorew...ecs-comparison/
http://uk.ign.com/ar...s-hardware-info
http://nintendo3dsbl...ory-storage-etc
THANK YOU!!!! Yes, I was wrong, thanks for informing me! SHEESH, WAS THAT REALLY SO HARD???
I have to say I trust 3dbrew more when it comes to the 3DS specs.
http://3dbrew.org/wiki/Hardware
 

Site & Scene News

Popular threads in this forum

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