Tutorial: How to hack and pack a 3DS ROM for use with HANS
The big news this weekend was undoubtedly the release of the latest homebrew payloads for the 3DS. However, this wasn’t just a simple updated payloads release like the last one was, this one actually brought something new to the table and that was HANS. What is HANS you may ask? Well, it is a homebrew application that allows users who do not have a Gateway or Sky3DS flashcart to enjoy things like fan-translations and hacked versions of their games.
The ability to do these things on my 3DS excited me but, since the method is rather new there is little to no information going around on how to do this. Heck, before today there wasn’t even a way for legit owners of games to dump their games for modding purposes unless you actually were on a firmware that allowed for a kernel exploit. That is all over thanks to GBATemp user Neobrain who just today released Braindump a tool made for the purpose of allowing you to dump and mod your own games.
With all of this, and after successfully modding my Pokémon Y into Neo Y, I decided to make a tutorial so all of you here can do the same with this (or other hacks)!
What you will need:
A PC,
A homebrewable 3DS,
Braindump,
Ctrtool
RomFsBuilder,
The hack you want to use (in this case I link you directly to the Neo X/Y hack),
A Hex editor (I recommend HxD),
Lots of time (I mean that literally by the way).
1. First off, we are going to want to know the gameid of the game we’re modding for later reference. I prefer to do this early to not have to go back and do it later, but I guess you could do it only when you need it. Open HANS and choose your game cart. When it loads you will be presented with a screen like the picture above. To figure out your gameid just choose yes in Romfs -> SD and the information will show up a few lines below. In the case of the game Pokémon Y (EU) the id is 00055E00 and HANS even has the courtesy of telling us where in the SD card we will have to place the final patch.
2. Next, we are going to want to dump the game itself to the SD card. This is by far the most tedious part of the whole process because dumping, as it stands right now, isn’t very fast. Download and extract the “braindump” folder inside the zip into your 3ds folder. Then, run braindump and choose your cart and confirm that it opened. After that, plug your 3ds into the charger and go about your day as usual. For me the process took about 6h30m but I’ve heard people on GBATemp claiming as much as 12h. I have a Class 10 SD Card so I guess that might have helped, but who knows. In the case of Pokémon Y, the game is about 1.8GB.
(if you don’t want to wait you can try and get the dump from other places, or extract it from a ROM file. I do not know the process behind that, so in that case you will have to figure that part on your own)
3. Hey! Welcome back! How was your day while the cart dumped? I hope you had fun, because now we get to do some pretty standard stuff. But that just means it is easy and we’ll be done in no time! On the root of your SD Card there should now have be a folder with a huge name and two files inside: romfs.bin and exefs.bin. For the purposes of this tutorial we only need romfs.bin, but other games may require you also use exefs.bin (though I don’t foresee that happening unless you are on a 3DSCFW). Copy the romfs file to a folder on your computer and extract ctrtool there too. Now you are going to open the windows command line and navigate to the folder where you put the romfs.bin/ctrtool file and type this “ctrtool –intype=romfs –romfsdir=romfsdir romfs.bin”, if that is too much trouble for you, I put together this neat .bat file that you only have to paste where the romfs.bin and ctrtool are and run to extract what you need! Wait a few minutes for this to extract and when it is done you should have a romfs folder. We’re almost done!
4. Now, extract the contents of the Neo XY hack and inside you should have a folder called installation hub with both a full and lite folders. In my case I went for the full hack, but read up on the differences and choose whatever seems to best tickle your fancy since the process for both is the same. Inside the folder of the hack version you chose, there should be a romfs folder. Cut that folder and paste it on top of your dumped romfs folder. Choose to overwrite all files and we can move on to the next step.
5. From here on out it’s all a breeze. Open up RomFSBuilder (in the case of Neo XY, there is a version inside the PackHack zip) and point it to your modified romfs folder. The application will take a bit to pack everything and then ask you where you want to save your file. Name it 00055E00.romfs and put it somewhere you can easily access because next we are going to do some hex editing!
6. Open up HxD (or a hex editor of your choice) and load your romfs file. We are now going to trim the first 0x1000 bytes off this file and this can be the tricky part (I got it wrong the first time), look carefully at the picture I got next to this: noticed the line I selected? The address is 00000FF0 (or 0x0FF0) and we are going to want to delete this line and everything above it. Do not delete the 00001000 line! Although Smea told us to deleted the first 0x1000 lines, he should have said 0x0FF0. No biggie though.
7. Finally we are at the last step! By now you should have a trimmed 00055E00.romfs file and all that’s left is to copy it to the 3DS and run it using HANS! So copy the modified romfs files to a folder called hans on the root of your SD Card and finally load up HANS, choose your cart and tick yes on the Romfs -> SD option and done! If all went correctly you should now be enjoying a freshly hacked ROM! Good job!
Hopefully this should help many people with their romhacking endeavours. I tried to be as noob-friendly as possible and explained this as simply as I could think it as. However, if you still have problems I may try and help you given you actually give me enough information about the issue. If you want to contribute with versions for other hacks or help troubleshoot other users’ problems, I created a thread on the /talk forums with this tutorial so everyone can talk more freely.
Enjoy and game on!
can i dwnlod and play 3ds roms on my 3ds with ironhax and tubehax?
No, not on recent firmwares. This is usermode and relies on cartridges you already own, hence the need to dump them yourself
Been having so much fun with this. Glad we didn’t need to wait until Citra to make/play/share romhacks. Thank you Smealum!
So, i can use the .romfs file that someone else made?
and is it still region locked, so am i able to use a other region rom?
In theory there should be no issue with using other people’s dumps, as long as the file is correctly named. Region also shouldn’t matter for this.
First
Fail
With HANS I had the Pokémon settings saved through HANS so now when I click on HANS and go to the game it automatically starts with those configurations, is there any way to undo that? (trying to find game id)
There should be a file on the memory card you can delete that takes care of that. Also if you don’t want to use hans directly, these shortcuts should help: https://gbatemp.net/threads/release-pok%C3%A9mon-star-sapphire-rutile-ruby-neo-x-neo-y-shortcuts-auto-loaders.400958/
Press L while selecting the game and when there is code hopes this helps
Another way to do it, it’s a late response, but hold L when you start HANS
Hello world, i manage to run de browserhax and then de homemenuhax on my old 3ds 9.5, with a lot of time spended i enter the eshop trow the hombrew loader , and i download the bravely default demo, then i run the demo from HANS app, and by mi surprise it didnt count a day spent (you now that you have 30 days only to play the demo). could this be ? . can someone try it and confirm? . sorry for my english im from argnetina. Saludos .
CONFIRMED guys, playing a demo using hans dont spent a day. I dont now if someone figured out before me but if i was the one that discoverd this thing i want some credits LOL jajaja. (fell like a hacker). For me its great, now i can play the bravely default demo without worry about the 30 days limit.
I just considered something. Even though we can’t download 3ds roms, couldn’t we just dump the entirety of them using HANS? (Which, in turn should let us keep the games)
I’m not experienced at this, so I feel like I’m pretty wrong, but I would definitely appreciate an explanation if possible.
No, Hans reads the modified files from your SD and applies them to your retail game, you need THE LEGIT GAME AT ALL TIMES.
This is not to dump and play games for free.
Oh I see, thank you very much for explaining that. I am very excited to see what people will be doing with this!
Hi i liko so much this thread , well I was thinking about mod characters and pokemons , I know you can do it with cia xdeltagui , is there a way to do it with romfs ?
Is it bad that i totally gave up on the PS Vita scene and am just focused on the 3DS? I mean i even updated to 3.55 on the PS Vita, leaving Rejuvenate behind XD
You aren’t the only one I did the same thing haha
Not really… I mean the 3DS scene has a lot of good stuff in it so…
Couldn’t we just, I don’t know… COPY THE ROMFS OF A DIFFERENT GAME ONTO ANOTHER GAME?!?!?
The bat you packaged with the commands for ctrtool etc gets stuck at around this line:
Saving romfsdir\a\7…
_
Any advice?
I think this is just me but when I go to the NeoXY folder, then go to Installation hub > data > Full there’s only a folder with the name ‘a’ and then shows 0, 1, and 2. Should I still put it in the romfsdir folder?
Now, would the save file of the custom rom overwrite my official save, or would it create it’s own save files somewhere else?
Found out that if doing it through HBL and hans, it will use your save data. However, if you create a .3ds file for use with gateway, it will use its own save file.
So, question: What was the point of hiding the text? the HEX says all the exact same info as the text does and can still be used to figure out what it says
The scales so far continue to swing among these two.
First, sum up your own strategy guides.
Many game enthusiasts all over the world elect to
build video gaming pc’s.
Use this website to check gameid so you don’t have to use hns to check http://www.3dsdb.com/
Whenever I try to brain dump my game it pauses a bit and then goes straight to playing the game I was try to dump. Is this suppose to happen? Or did I do something wrong?
I got it to work but now there’s no folder there’s just a file that has no documents inside
I saw this, got really hyped, and then realized that the default SD card I had couldn’t freaking handle the Pokemon Y ROM. Any SD Card reccomendations?
Erm… The braindump just created a ‘.cxi’ file for me, not a folder of any kind. What do I do with the .cxi file?
Get Asia81’s Hack Pack and put the cxi in the hack pack folder, run Hack Toolkit and type cxi
Does this work on 32-Bit Windows Vista’s?
Can you make a .3ds file into romfs for HANS? Thanks
Okay, I honestly doubt I’ll get help here? But I’m up for anything at this point.
When I select hans and change romfs to yes, there is not an invalid or anything.
But when I click “ok” the screen shows some code then loads into a black screen.
I thought maybe it would load eventually, so I left it on over night.
Still black screen in the morning.
I have tried twice with two NEW SD cards. I have also tried twice on one of them. I have looked up every thread that involves “hans blackscreen” but nothing fixes my problem.
Please help!!
i think you might have put the romfs file into the hans folder in the 3ds folder, not at the root of your sd
My romfs are in the 3ds folder with Hans. How can I tell when my stuff is in the root of the sd card?
I need help on step 3. Like what would be the easiest way to do it? I downloaded the bat, but I have no idea what I’m doing.
I’m at step 3 and where it says there should be a folder there isn’t, it’s just a .cxi folder. I tried Zach’s suggestion with the Hack Toolkit but that didn’t seem to do anything, at least nothing that I could understand (there wasn’t a folder with a long name). Please help, I can’t find any solutions online and I don’t want to have spent over $100 for nothing
Same Here!
Okay, I’m at the end of the steps. The romf is in the right folder, but all I get is a column of color when I switch on the ‘romfs > SD’ option
Does Hans modifiy data on the game cartridge? If yes, then how can I backup the original file and put it back on the cartridge?
Does it need to be .romfs, or can it be something like .bin?
HELP! I was modding smash 3DS and the file (Yes FILE) was 00040000000ee000
It was a .cxi file. Please help! I’m so scared I have to do it again!
Download Asia81’s HackPack and use her HackingToolkit3DS to extract the necessary files from the .cxi file.
So ctrtool doesn’t really like my windows 10 computer, could you please reupload the extract.bat file somewhere since it says the file is offline? Thanks 🙂
Hello,
I want to play Ace Attorney 5 UNDUB. I have found an UNDUB version but is not complete. The cutscenes are UNDUB but the “objection” in game voices are still in English. I would like to complete the UNDUB. I have noticed this tutorial is from 2015 and I wonder if could have been released any other ways or apps to do it easier. Could you help me anyway? Thanks!
Hello I am so grateful I found your blog page, I really found you by accident,
while I was browsing on Digg for something else, Anyhow I am here now and
would just like to say thanks for a tremendous post and a all round entertaining blog (I also love the theme/design), I don’t have time to browse it all at the moment
but I have book-marked it and also included your RSS feeds, so when I have time
I will be back to read much more, Please do keep up the fantastic jo.