Closed True-Enigma closed 3 years ago
I think what you're talking about are just installable games. This archive like you described than correlates with the description of a cia. So it could just be a cia. These are decryptable by Kuriimu, but also not openable like 3ds files.
I don't believe it's a CIA by itself? In GM9, when you select this type of file, it gives build options. One of them are, 'build CIA from file', which is part of the same menu used for .3DS files. On GodMode9, you can also mount it as image, and it has several things:
exeFS (dir) romFS (dir) exefs.bin extheader.bin ncch.bin plain.bin romfs.bin
So basically, the root directory of the game files.
When I install a CIA, this file is created somewhere in the game folder, and appears to contain all game assets except save files. Every installed game seems to behave like this to some degree.
To add, this behavior is the same even in Citra when installing CIA files there. So it basically seems like an asset dump used by the game itself, as this is the format when a game is installed.
That's why I think support for decrypted ones could be very useful.
Would it help if (for legality purposes) I say decrypted a homebrew then installed/pulled off Citra so the decrypted version could be seen easily?
The reason why this would be so useful is because it would make the process much easier for Romhacks using mainly the PC, due to Kuriimu's excellent file replacement structure. It'd make things a lot neater.
Alternatively: When you decrypt a CIA and look inside, there is usually a .app file that is there which is large in size for larger applications. Like 800MB for a 805MB application, for example. Those are the files I 'm referring to, from inside CIA files.
They seem to be an archive of the content0.game folder inside .3DS files, and they don't seem to be encrypted at all by themselves.
an app file is just an ncch container (cxi or cfa)
Yeah. I didn't know what they were called, but basically that. Essentially, I'm not sure if there's a way to make these work in Kuriimu. Mainly because of the superior editing system used with it when compared to any other solution out there. The replace functions and live editing specifically would be very useful for ROM editing, and such things, that's what I was asking about.
So if there's a solution already, please forgive my ignorance. Is it something already supported in Karameru?
Direct support for these files isn't really necessary but if welcome the plugin if someone wrote it.
3DS/CIA files are simply containers for NCCH (which .app files are 99% of the time), so I think this should be reasonably easy to implement?
Since no samples are attached (or obtainable by means for me) and .app files are called out to be "just NCCH files" or a small container around them, then they may already be openable by Kuriimu2 Release 1.2.0. Therefore this issue gets closed. If this statement proves to be wrong, please refer to the Kuriimu2 github and create a new issue there outlining the problems and repeat the request for support.
Issue: Plugin Request Console: 3DS Format extension(s): .app Type: archive Game Name: (All have them)
First 8 bytes of the file(s): N/A (Cannot post due to legality...explained below.)
More details: Very small request. Karameru has partial .3ds support currently, and can open some .3ds files. When a CIA is installed, a .app file is created under [Major Title ID]/[Minor Title ID]/Content/. When under the use of Citra, these app files are decrypted.
More importantly, when you look at these .app files in GM9, they say: NCSD File Options...which shows it's detected similar to a .3DS file. My only request is being able to open and work with the archives in Karameru, like their counterpart .3DS files.
The reason I can't post a sample is because the .app files, like 3DS files, contain the entire raw assets of a game within them. But all games seem to have them, and they seem to all behave the same way both when used in Citra, and in GM9 on a real 3DS.
Seeing they were both detected the same under GM9, I tried simple renaming, but that didn't work, so I assume the header must be a bit different. Thank you for your time.
Sample files (if possible): N/A