Braindump 3DS: Difference between revisions

From GameBrew
(Created page with "{{Infobox 3DS homebrew | title = braindump | image = https://dlhb.gamebrew.org/3dshomebrew/braindump.jpeg|250px | type = System Tools | version = 1 | licence = Mixed | author...")
 
m (Text replacement - "Category:3DS homebrew system tools" to "")
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = braindump
|title=braindump
| image = https://dlhb.gamebrew.org/3dshomebrew/braindump.jpeg|250px
|image=Braindump2.png
| type = System Tools
|description=Dump decrypted contents (both ExeFS and RomFS) of any 3DS game.
| version = 1
|author=neobrain
| licence = Mixed
|lastupdated=2015/12/30
| author = neobrain
|type=System Tools
| website = https://github.com/neobrain/braindump/
|version=1
| download = https://dlhb.gamebrew.org/3dshomebrew/braindump-3DS.rar
|license=Mixed
| source = https://dlhb.gamebrew.org/3dshomebrew/braindump-3DS.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/braindump.7z
|website=https://github.com/neobrain/braindump
|source=https://github.com/neobrain/braindump
}}
}}
<youtube>hblFsdYwWwA</youtube>
{{Obsolete}}
 
Braindump is a 3DS homebrew application that can dump 3DS titles, i.e. cartridge and eShop games, but also other installed content. It can be used both for dumping games for use in an emulator as well as dumping game contents for game modding. Since it runs entirely in userland, it runs on any system version supported by the [[The Homebrew Launcher 3DS|Homebrew Launcher]].
 
The dumps created by braindump are lossy, since not all title information is accessible to userland applications. braindump compensates for that by generating fake metadata using clever heuristics. This is good enough to be able to run the dumped title in an emulator or to title contents (artwork, sounds, etc) for ROM hacking. If you require an (almost) lossless copy of your title, it's recommended to use uncart instead.
 
'''Note:''' This has been superseded by [[GodMode9 3DS|GodMode9]].
 
==Installation==
Put the braindump folder into the 3ds folder of your SD card.
 
==User guide==
When running braindump from the Homebrew Launcher, you will be prompted to select a target title.
 
Once you select a title, it will be dumped without any further confirmation to the SD card root directory using the filename <code><titleid>.cxi</code> (where titleid is a 16-digit identifier of the dumped title).
 
===Braindump vs uncart/Dectypt9===
Braindump's feature set has been covered by [[Uncart 3DS]] and [[Decrypt9 3DS]] before, however braindump provides a few major advantages:
* It runs on any system version newer than 9.0, 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.
 
===How to use for ROM hacking===
There is no full instructions on how to mod a game, but here are some quick hints:
* Launching.
* Dumping the game contents using braindump on your 3DS. This will place the file <code><titleid>.cxi</code> on your SD card.
* Extract the game content you have to extract the ExeFS and the RomFS. You can do this on a PC using ctrtool with the following commands:
** <code>ctrtool --exefs=exefs.bin --decompresscode <titleid>.cxi</code>
** <code>ctrtool --romfs=romfs.bin <titleid>.cxi; ctrtool --romfsdir=romfs --intype=romfs romfs.bin</code>
* Game modders will be interested in the contents extracted to romfsdir. Modify whatever you like, and repack the contents using a tool like [https://github.com/dnasdw/3dstool 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.
 
===FAQ===
'''Q. What stuff can I dump with this?'''


= braindump =
* In general, most 3DS games should be dumpable, regardless of whether physical (cartridge) or digital (eShop).  
braindump is a 3DS homebrew application that can dump 3DS titles, i.e. cartridge and eShop games, but also other installed content. Since it runs entirely in userland, it runs on any system version supported by the [https://smealum.github.io/3ds/ Homebrew Launcher]. The dumps created by braindump are lossy, since not all title information is accessible to userland applications. braindump compensates for that by generating fake metadata using clever heuristics. This is good enough to be able to run the dumped title in an emulator or to title contents (artwork, sounds, etc) for ROM hacking. If you require an (almost) lossless copy of your title, it's recommended to use [https://github.com/citra-emu/uncart uncart] instead.
== Build Instructions and Setup ==
You need to have set up a 3DS homebrew[https://www.3dbrew.org/wiki/Setting_up_Development_Environment development environment] including devkitARM and ctrulib. If you're having trouble building or running braindump, make sure your toolchain is up to date. Once you've setup braindump, you can build it by calling
<pre>make
</pre>
in the project root directory. If all went well, you then should have files <code>braindump.3dsx</code>, <code>braindump.xml</code>, and <code>braindump.smdh</code>. Put these onto your SD card into the directory <code>3ds/braindump/</code>. When running braindump from the Homebrew Launcher, you will be prompted to select a &quot;target title&quot;. Once you select a title, it will be dumped without any further confirmation to the the SD card root directory using the filename <code>&lt;titleid&gt;.cxi</code> (where <code>titleid</code> is a 16-digit identifier of the dumped title).
== 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.
* 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 &quot;proper&quot; title. Some applications (e.g. Home Menu) only provide dummy titles and hence cannot be dumped currently.
* 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.
* 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. In particular, if the title doesn't boot with HANS, it likely won't work with braindump either. There currently is no way for braindump to fail more gracefully, unfortunately.
* Virtual Console games using software emulation are untested. Chances are they are dumpable.
=== How to use braindump for ROM hacking? ===
 
At this stage, I cannot give you full instructions on how to mod a game, but here are some quick hints:
If the application you're trying to dump is not supported, it will likely outright crash when trying to launch braindump.  
* Launching
 
* Dumping the game contents using braindump on your 3DS. This will place the file <code>&lt;titleid&gt;.cxi</code> on your SD card.
In particular, if the title doesn't boot with HANS, it likely won't work with braindump either. There currently is no way for braindump to fail more gracefully, unfortunately.
* To extract the game content you have to extract the ExeFS and the RomFS. You can do this on a PC using [https://github.com/profi200/Project_CTR ctrtool] with the commands <code>ctrtool --exefs=exefs.bin --decompresscode &lt;titleid&gt;.cxi</code> and <code>ctrtool --romfs=romfs.bin &lt;titleid&gt;.cxi; ctrtool --romfsdir=romfs --intype=romfs romfs.bin</code>, respectively.
 
* Game modders will be interested in the contents extracted to romfsdir. Modify whatever you like, and repack the contents using a tool like [https://github.com/dnasdw/3dstool 3dstool].
'''Q. It's so slooooow.. why?!'''
* 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.
 
=== I tried this but it keeps getting stuck at &quot;Dumping code... XYZ KiB&quot; ===
Be patient. Dumping ExeFS may take up to 5 minutes per MiB, depending on how well the 3DS plays with your SD card.
=== 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 (it's unfortunately not possible to show a progress bar for this, contrary to RomFS dumping). RomFS dumping should be going at roughly 1 MiB/s.
It is unfortunately not possible to show a progress bar for this, contrary to RomFS dumping (RomFS dumping should be going at roughly 1 MiB/s).
=== Can I use the dumps with Citra? ===
 
Yes! Note that this has not been tested extensively though. If you come across a title which runs fine in Citra when dumped using uncart but not when dumped using braindump, please report an [https://github.com/neobrain/braindump/issues issue].
'''Q. Can I use the dumps with Citra?'''
=== Will you add FTP support to dump directly over network??? ===
 
Yes. Note that this has not been tested extensively though.  
 
Will you add FTP support to dump directly over network???
Maybe. Pull requests are welcome!
Maybe. Pull requests are welcome!
=== Will this break my 3DS? ===
 
It runs entirely in userspace, hence it's unlikely anything bad will happen. Of course, I cannot give you any guarantee for this though; I take no responsibility for anything that happens as a direct or indirect consequence of running this software on your 3DS.
'''Q. Will this break my 3DS?'''
== Credits ==
 
Creating braindump wouldn't have been possible if it hadn't been for the help and support of the 3DS community. My greatest thanks go to the whole 0xFOODDOODs 32c3 table for an awesome time, and in particular to smea for his repeated advice and patience.
It runs entirely in userspace, hence it's unlikely anything bad will happen. Please note however there is no 100% guarantee.
 
==Media==
'''Braindump - Dump Your Own 3DS Games for Citra! [Easiest Way]''' ([https://www.youtube.com/watch?v=hblFsdYwWwA Foxay]) <br>
<youtube>hblFsdYwWwA</youtube>
 
==Credits==
Creating braindump wouldn't have been possible if it hadn't been for the help and support of the 3DS community.  
 
The greates thanks go to the whole 0xFOODDOODs 32c3 table for an awesome time, and in particular to smea for his repeated advice and patience.
 
==External links==
* GitHub - https://github.com/neobrain/braindump
* GBAtemp - https://gbatemp.net/threads/braindump-userland-game-dumping.407332

Latest revision as of 05:18, 6 May 2024

braindump
Braindump2.png
General
Authorneobrain
TypeSystem Tools
Version1
LicenseMixed
Last Updated2015/12/30
Links
Download
Website
Source

Braindump is a 3DS homebrew application that can dump 3DS titles, i.e. cartridge and eShop games, but also other installed content. It can be used both for dumping games for use in an emulator as well as dumping game contents for game modding. Since it runs entirely in userland, it runs on any system version supported by the Homebrew Launcher.

The dumps created by braindump are lossy, since not all title information is accessible to userland applications. braindump compensates for that by generating fake metadata using clever heuristics. This is good enough to be able to run the dumped title in an emulator or to title contents (artwork, sounds, etc) for ROM hacking. If you require an (almost) lossless copy of your title, it's recommended to use uncart instead.

Note: This has been superseded by GodMode9.

Installation

Put the braindump folder into the 3ds folder of your SD card.

User guide

When running braindump from the Homebrew Launcher, you will be prompted to select a target title.

Once you select a title, it will be dumped without any further confirmation to the SD card root directory using the filename <titleid>.cxi (where titleid is a 16-digit identifier of the dumped title).

Braindump vs uncart/Dectypt9

Braindump's feature set has been covered by Uncart 3DS and Decrypt9 3DS before, however braindump provides a few major advantages:

  • It runs on any system version newer than 9.0, 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.

How to use for ROM hacking

There is no full instructions on how to mod a game, but here are some quick hints:

  • Launching.
  • Dumping the game contents using braindump on your 3DS. This will place the file <titleid>.cxi on your SD card.
  • Extract the game content you have to extract the ExeFS and the RomFS. You can do this on a PC using ctrtool with the following commands:
    • ctrtool --exefs=exefs.bin --decompresscode <titleid>.cxi
    • ctrtool --romfs=romfs.bin <titleid>.cxi; ctrtool --romfsdir=romfs --intype=romfs romfs.bin
  • Game modders will be interested in the contents extracted to romfsdir. Modify whatever you like, and repack the contents using a tool like 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.

FAQ

Q. 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.

In particular, if the title doesn't boot with HANS, it likely won't work with braindump either. There currently is no way for braindump to fail more gracefully, unfortunately.

Q. 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.

It is unfortunately not possible to show a progress bar for this, contrary to RomFS dumping (RomFS dumping should be going at roughly 1 MiB/s).

Q. Can I use the dumps with Citra?

Yes. Note that this has not been tested extensively though.

Will you add FTP support to dump directly over network??? Maybe. Pull requests are welcome!

Q. Will this break my 3DS?

It runs entirely in userspace, hence it's unlikely anything bad will happen. Please note however there is no 100% guarantee.

Media

Braindump - Dump Your Own 3DS Games for Citra! [Easiest Way] (Foxay)

Credits

Creating braindump wouldn't have been possible if it hadn't been for the help and support of the 3DS community.

The greates thanks go to the whole 0xFOODDOODs 32c3 table for an awesome time, and in particular to smea for his repeated advice and patience.

External links

Advertising: