braindump prerelease - dump game contents on any system version!

Discussion in '3DS - Homebrew Development and Emulators' started by neobrain, Oct 26, 2015.

Thread Status:
Not open for further replies.
  1. neobrain
    OP

    neobrain -

    Member
    306
    472
    Apr 25, 2014
    Hi,

    In the past few days, I've been working on a new tool called braindump. I'd hereby like to announce a pre-release of the tool, meant to help people interested in ROM hacking to get set up faster.

    WHAT'S BRAINDUMP?
    braindump is a 3DS userland homebrew application that can dump decrypted contents (both ExeFS and RomFS) of any 3DS game. This includes cartridge games, but also content obtained from the eShop and even some system applications. Even better yet, braindump runs on any system version since 9.0, including the most recent one.

    WHAT IS IT USEFUL FOR?
    Currently, it's for the most only useful for dumping game assets: Graphics, sounds, 3D models, etc. In particular, this should be useful for anyone interested in game modding.

    braindump's feature set has been covered by uncart and Decrypt9 before, however braindump provides a few major advantages:
    • it runs on any system version newer than 9.0, including the most recent one. uncard and Decrypt9 are limited to system versions 9.2 or below.
    • it dumps cartridge games, eShop content, and (some) system applications in a uniform way. All three of these had to be decrypted with different commands before.
    • it's more convenient, since it can be launched directly from the Homebrew Launcher and only requires one operation step from starting to the decrypted content. uncart and Decrypt9 had to be launched through a separate program, and after dumping a game you had to restart your console and run another chain of commands to actually decrypt things.

    DOWNLOAD AND USAGE
    Binaries are available on GitHub. Note that I'm releasing the tool earlier than planned to make the HANS application shipping with *hax 2.5 more accessible to the broader masses (see below). For now, I'll keep the source code private, but rest assured it will be published as soon as I get to implementing the full feature set that was planned.

    Extract the archive into your SD card's 3ds folder. The full path to the 3dsx should be "sd:/3ds/braindump/braindump.3dsx", and next to that file there should be an xml file. braindump must be launched from 3ds_hb_menu (3dslink or CIAs won't work). Upon launching, you will be asked for a target title - this is the application that will be dumped. Note that the tool will start dumping immediately after selecting the target title, so better make sure you have enough free space on your SD card.

    Sorry for the lack of further instructions -- I'd rather get this thing out ASAP to make it useful for the more knowledgeable people. I'm sure we can clear up any confusion in the next few days, though ;)

    FREQUENTLY ASKED QUESTIONS
    What stuff can I dump with this?
    • In general, most 3DS games should be dumpable, regardless of whether physical (cartridge) or digital (eShop).
    • Recent 3DS games which use the 9.6-crypto cannot be dumped and probably won't ever be dumpable via braindump.
    • Non-game content (videos, system applications, ...) should be dumpable if they have a "proper" title. Some applications (e.g. Home Menu) only provide dummy titles and hence cannot be dumped currently.
    • GBA or DS games cannot be dumped, at least for now.
    • Virtual Console games using software emulation are untested. Chances are they are dumpable.
    If the application you're trying to dump is not supported, it will likely outright crash when trying to launch braindump. There currently is no way for braindump to fail more gracefully, unfortunately.

    How to ROM hack?!
    At this stage, I cannot give you full instructions on how to mod a game, but here are some quick hints:
    • Dump the game contents using braindump on your 3DS. This will place the files exefs.bin and romfs.bin on your SD card (in a subdirectory with a 16-digit number as its name)
    • On your PC, extract the two files using ctrtool. Use "ctrtool --intype=romfs --romfsdir=romfsdir romfs.bin" and "ctrtool --intype=exefs --exefsdir=exefsdir --decompresscode exefs.bin" to unpack the romfs and exefs, respectively
    • Game modders will be interested in the contents extracted to romfsdir. Modify whatever you like, and repack the contents using 3dstool
    • Put the new romfs binary on your SD card. Start HANS on your 3DS and point it to the modded game, and make it replace the romfs with your new image. Note that for HANS to detect the romfs binary, you'll need to remove the first 0x1000 bytes from the romfs binary.

    I tried this but it keeps getting stuck at "Dumping code... XYZ KiB"
    It's so slooooow.. why?!
    Be patient. Dumping ExeFS may take up to 5 minutes per MiB, depending on how well the 3DS plays with your SD card. RomFS dumping should be going at roughly 1 MiB/s. Make sure you download the "updated" prerelease from GitHub instead of using the old one.

    Can I use the dumps with Citra?
    Unfortunately, not yet.

    Will you add FTP support to dump directly over network???
    Maybe. Depends on how people end up using or abusing braindump. Don't disappoint me, guys ;)

    Will this break my 3DS?
    It runs entirely in userspace, hence it's unlikely anything bad will happen. No guarantees though; I take no responsibility for anything that happens as a direct or indirect consequence of running this software on your 3DS.

    I tried dumping game XYZ, but it crashes without even writing anything to screen!
    Unfortunately, it's technically impossible to dump games using the new 9.6-crypto with braindump.

    FREQUENTLY ASKED DUMB QUESTIONS

    Can this also dump ExHeaders/private headers?
    Can this create a full 3ds image?
    No. It's impossible to do this in user space. If it was possible it would already have been done.

    Kernel exploit?!?11
    No.

    Update when??
    When it's done. And yes, it will be.

    FUTURE PLANS
    There's a lot more to come in braindump than just dumping ExeFS and RomFS. Stay tuned, I guess ;)
     
    Last edited by neobrain, Nov 20, 2015


  2. Minnow

    Minnow GBAtemp Fan

    Member
    462
    709
    Oct 5, 2015
    Canada
    fuck yes! thank you!
     
    ariss, Margen67 and Tigroid like this.
  3. suloku

    suloku GBAtemp Advanced Fan

    Member
    863
    491
    Apr 28, 2008
    This is great, thank you!
     
    Margen67 and Tigroid like this.
  4. Reisyukaku

    Reisyukaku Onii-sama~

    Member
    1,184
    2,301
    Feb 11, 2014
    United States
    Decrypting on any version? doesnt that imply kernel? What black magic is this?
     
  5. FM360

    FM360 Kappa

    Member
    265
    152
    Mar 8, 2015
    Afghanistan
    North Korea
    Right when i decided to give up on building a romfs this thread was posted (In other words: FUCK YEAH BITCH!!!!!)
     
  6. shutterbug2000

    shutterbug2000 Cubic NINJHAX!

    Member
    1,079
    2,102
    Oct 11, 2014
    United States
    Ohhhh yesssss.
     
  7. FM360

    FM360 Kappa

    Member
    265
    152
    Mar 8, 2015
    Afghanistan
    North Korea
    Ohhhh yesssss indeed ( ͡° ͜ʖ ͡°)
     
    I pwned U!, Margen67 and Tigroid like this.
  8. liljon042

    liljon042 GBAtemp Regular

    Member
    142
    59
    Oct 26, 2015
    United States
    OMG thank you! This makes getting romfs and exefs so much easier now! Can't wait to try this when I'm able to
     
    I pwned U!, Margen67 and Tigroid like this.
  9. zoogie

    zoogie simple pimp tool

    Member
    6,321
    7,993
    Nov 30, 2014
    United States
    I assume it's just a process dumping it's own exefs and romfs from RAM?
     
    Margen67 and Tigroid like this.
  10. Selim873

    Selim873 Nunnayobeesnes

    Member
    1,173
    588
    Jul 31, 2010
    United States
    Chillin' with Bob Ross
    Nice!! I won't have much use for this since I don't have the time to make any rom hacks, plus they won't work on Citra. I'll definitely play with this though!! :)
     
    Last edited by Selim873, Oct 26, 2015
    Margen67 and Tigroid like this.
  11. XeR ッ

    XeR ッ Not sure if i still wanna be here.

    Member
    341
    139
    Aug 6, 2015
    France
    SECREEEEEEET
    Metatton approves
     
  12. pokemoner2500

    pokemoner2500 GBAtemp Advanced Fan

    Member
    846
    276
    Aug 14, 2013
    United States
    Anyway to decrypt updates with this?
     
  13. TheStoneBanana

    TheStoneBanana GBAtemp Fan

    Member
    495
    866
    Aug 19, 2015
    United States
    Woah. This is so epic!
    Thank you sooo much!
     
    Margen67 and Tigroid like this.
  14. neobrain
    OP

    neobrain -

    Member
    306
    472
    Apr 25, 2014
    Nope. But as zoogie points out, games can read their own data ;)

    — Posts automatically merged - Please don't double post! —

    Nope.
     
  15. eldavo2090

    eldavo2090 GBAtemp Regular

    Member
    103
    30
    Jan 21, 2014
    Mexico
    Dinosaur Land, Donut Plains
    Wow! This is amazing!
    Just wanted to ask... With this we could get a French/Spanish/Japanese translation out of a rom?
     
    Februarysn0w, Margen67 and Tigroid like this.
  16. 730

    730 Professional Shitposter

    Member
    465
    376
    Apr 2, 2015
    Argentina
    uh well I'm speechless. Fuck yes.
     
    Margen67 and Tigroid like this.
  17. srwgin

    srwgin GBAtemp Advanced Fan

    Member
    510
    132
    Aug 13, 2013
    China
    is it possible make a progress bar when dumping
    thank you
    ----------
    I try to use it dump files
    it shows dumping code 。。。 2683KiB。。。
    and not respond
     
    Last edited by srwgin, Oct 26, 2015
  18. DeathChaos25

    DeathChaos25 Unmei wo kaeru!

    Member
    1,301
    668
    Oct 21, 2015
    Nice!

    Now I can finally get to dumping both Pokémon X and Pokémon Alpha Saphire to play Neo X and Star Saphire.

    Thanks a bunch!
     
    Margen67, Tigroid and Olmectron like this.
  19. TLOZmaster

    TLOZmaster GBAtemp Regular

    Member
    255
    77
    Feb 21, 2015
    United States
    Hyrule
    Thank you :D
     
    Margen67 and Tigroid like this.
  20. VaiCorunthians

    VaiCorunthians GBAtemp Fan

    Member
    457
    214
    Oct 7, 2014
    Brazil
    nice one!
    bring an Trophy for this man!
     
    Margen67 and Tigroid like this.
Thread Status:
Not open for further replies.