ROM Hack [Release] 3DS Builder

  • Thread starter Thread starter SciresM
  • Start date Start date
  • Views Views 63,265
  • Replies Replies 66
  • Likes Likes 21
thank you, rsf files are evil :)
i hope this runs nicely in wine


-- is there a problem if the content does not contain a romfs and we do not provide it? (not everything does right?)

if you are letting us give a custom serial, how about letting us give a custom title id? that is all in the exheader right?
and, is the name not in the exheader? why only current games and not future games will have their names recognized?

but still, very very helpful tool.
creating a fake ticket would be simple, i would make it completely barebones so we can tell it was made this something like this program. like, make the signature into a message of your choice :)
well if your providing the unpacked exefs you could just get the name from the icon.bin, but really the name doesn't really do anything, i think its just being displayed so you can confirm the titleID was read correctly so it can then auto fill the Serial field, but you should be able to provide the correct serial if the game isnt recognized, afaik the serial isnt stored anywhere in the exefs,romfs,exheader its only stored in the actual cci image for the partition names, i guess if skiresM wanted to he could just add an option to read it from the original packed rom, but i think people should be ok to figure it out on themselves if it isn't in the list

while there is talk of the manual partition being able to be restored, i guess the download play partition should be restore-able too.....and maybe the update partition for the sake of it :P
 
  • Like
Reactions: cearp
I've tested it with WRC 2014, the generated file was a failure.

Stops @ Nintendo Logo.


I just tested it on WRC 2014 and it built successfully.

Are you sure all your files are correct?

Serial: CTR-P-BWRP
SHA1 of romfs_dec.bin: F6414536FCB38BF845402F5E3E194F9202A1A4B5
SHA1 of exefs_dec.bin: E150A4A6D1943CD1F156C6436593D0EEE01BDF9B
SHA1 of exheader_dec.bin: 1CC8808D921EE14366B70E124A52D7D05B153B83
 
-- is there a problem if the content does not contain a romfs and we do not provide it? (not everything does right?)

if you are letting us give a custom serial, how about letting us give a custom title id? that is all in the exheader right?
and, is the name not in the exheader? why only current games and not future games will have their names recognized?

but still, very very helpful tool.
creating a fake ticket would be simple, i would make it completely barebones so we can tell it was made this something like this program. like, make the signature into a message of your choice :)


-It probably does not support having no romfs right now, but it can build a valid romfs out of an empty folder, which shouldn't have any impact on whether or not the target game runs? :)

-I'd rather not edit the exheader -- not editing it really helps to make sure the resulting .3ds is valid.

-I read names by reading the titleid out of the exheader -- https://github.com/SciresM/3DS-Builder/blob/master/3DS Builder/Resources/txt/3dsgames.txt is the table I made of titleids -> Product codes and names. Serial's not stored anywhere, so it's the best method I could think of.

-And if you want to help with fake ticket construction, I can work on making a CIA builder.
 
  • Like
Reactions: cearp and nanika
-And if you want to help with fake ticket construction, I can work on making a CIA builder.

-> YYEEAAHH Please :3

It's for build custom Patch in CIA :3
 
https://github.com/SciresM/3DS-Builder/blob/master/3DS Builder/Resources/txt/3dsgames.txt is the table I made of titleids -> Product codes and names.
Even that list alone is great. :)
I hadn't even thought to look as high as 0FF3E300 before.

As notes from someone who has a similar list, the eShop doesn't have details on all retail cart titles, for example APEP Pippi Longstocking (random example), so those are (currently) missing.
I can also see one <br> left in there.
Some European stuff seems to have taken on the German names even when English ones exist for games not released in Australia, e.g., 'Mario & Sonic - London 2012 Virtuelles Kartenalbum', you might want to prefer GB over DE for that reason.
Edit: Also no New3DS titles, Xenoblade and the Sale Coupon make 6 I know of.
 
hello, I don't know if it's ok to bump this thread, but I've receiving no help with the building of Monster Hunter 4 Ultimate..

when I use the 3ds builder to remake the bin files for the room, I boot it and then after the 3ds logo it just goes black screen, I've seen it somw people have got that, any hint about what could possibly do this?

Someone told me that MH4U can be successfully be built with this guide, but the rom just isn't building with 3DS Builder
 
@SciresM

Possible to add a way to let us edit also the UniqueID? (Like 11C5 for Pokémon AS).
Because for Hack Roms, there is some cache problem if we have a custom exefs (icon shown, for example...).
 
  • Like
Reactions: cearp
Manual is another partition, right.
I care about a manual because I translated Zelda ALBW to Russian and working at LoZ OoT translation. Both have Russian manuals (in PAL roms for sure), so I'd like to include it.
Your tool is great for releasing translation (no makerom, rsf, bat, etc), it's pretty easy for target user (who will play my translated rom).
I know, old thread and all but it's still very relevant with what's going on today and the new need to compile .3DS files from .CIA's created with seeddbd.bin

Did the ability to add a User Manual ever get worked on?

Edit: Just ran a test with the latest version.
Unfortunately, still no User Manual :(

Other than that, this works where other programs fail.
I've been using it to "fix" eShops with >9.6 crypto with no issues other than the missing Manuals.
 
Last edited by Datalogger, , Reason: Update after trying it out again....
There is a problem where it won't let me build if the serial is CTR-U- instead of CTR-P-, am I doing something wrong? I want to build an update.
 
You can't build an update as .3ds-file.
Updates only works as CIA.

You sorta can. I use 3DS Builder to build some CXIs I'd rather avoid toying with an RSF to make. I have 3DS Builder make a CCI, then pull out the CXI and build a CIA from it. Although in the instance of the pokemon updates, I might have actually used makerom for those back when I was still working on them. Now normally unless you use Gateway's CFW, you can't really use CIAs made this way because the "standard" version of 3DS Builder zero key encrypts the CXI which makes it unusable in normal CFW (since only Gateway enables zero key encryption). I use a modified no crypt version that doesn't encrypt it. Proved useful for repacking system titles. :P

There needs to be a better way of repacking CIA related things. RSF files are a mess to deal with if one intends to rebuild an existing title. Homebrew on the other hand is easier to do. But retail stuff can get tricky. Has there been any decent RSF generators or am I still going to need to use CTRTool to try and figure out all the stuff I need to set up correctly in the RSF? The new makerom builds went to a changed RSF layout so now all my old RSF files need reworking...Not looking forward to that. :(

You know what would be great? The ability to replace the contents of an existing CXI. Why go through the trouble of recreating the CXI when you can just change the contents of an existing one if you're just repacking an existing title?

The way hashes and offsets of the sections of the CXI are well known now so I'm surprised this hasn't become a thing either. I did try doing it manually in a hex-editor once, but it wasn't fun and what ever I did didn't work in the end. :(
 
Last edited by Apache Thunder,
Has there been any decent RSF generators or am I still going to need to use CTRTool to try and figure out all the stuff I need to set up correctly in the RSF? The new makerom builds went to a changed RSF layout so now all my old RSF files need reworking...Not looking forward to that. :(
There is a RSF generator for the old makerom version here. Most of the lines in RSF file is not really important, because those information is already included in exheader. A minimal RSF file and ExInjector would generate the same cxi as the carefully made RSF.
 
There needs to be a better way of repacking CIA related things. RSF files are a mess to deal with if one intends to rebuild an existing title. Homebrew on the other hand is easier to do. But retail stuff can get tricky. Has there been any decent RSF generators or am I still going to need to use CTRTool to try and figure out all the stuff I need to set up correctly in the RSF? The new makerom builds went to a changed RSF layout so now all my old RSF files need reworking...Not looking forward to that. :(

You know what would be great? The ability to replace the contents of an existing CXI. Why go through the trouble of recreating the CXI when you can just change the contents of an existing one if you're just repacking an existing title?

The way hashes and offsets of the sections of the CXI are well known now so I'm surprised this hasn't become a thing either. I did try doing it manually in a hex-editor once, but it wasn't fun and what ever I did didn't work in the end. :(

Yea, I know that Problem :P
But I've "learned" how to do that stuff now.
I extract the stuff of the CIA with CTRTool and use 3DSTool to extract cxi/cfa, edit+rebuild romfs/exefs and rebuild the cxi/cfa and MAKEROM again to rebuild the CIA.
i made a simple tool which is doing this stuff:
ctrtool --content=$NAME $NAME.cia
3dstool -xvtf cxi/cfa $NAME.$ID.content --header ncch.header --exh exheader.bin --exefs exefs.bin --romfs romfs.bin --plain plain.bin --logo logo.bcma.lz
3dstool -xvtf exefs exefs.bin --exefs-dir exefs.O --header exefs.header
3dstool -xvtf romfs romfs.bin --romfs-dir romfs.O
EDIT STUFF
3dstool -cvtf romfs romfs.bin --romfs-dir romfs.O
3dstool -cvtf exefs exefs.bin --exefs-dir exefs.O --header exefs.header
3dstool -xvtf cxi/cfa $NAME.$ID.content --header ncch.header --exh exheader.bin --exefs exefs.bin --romfs romfs.bin --plain plain.bin --logo logo.bcma.lz
makerom -f cia -o TITLE.CIA -content $NAME.$ID:0:0x$ID (-content $NAME.$ID2:1:0x$ID2) -major $MAJOR -minor $MINOR -micro $MICRO

I've rebuilt and installed modified NVer and CVer with this method.
CZlzWdTWwAAbGit.jpg:large
 
Last edited by xXDungeon_CrawlerXx,
  • Like
Reactions: PandaPandel

Site & Scene News

Popular threads in this forum