Help:Dumping games: Difference between revisions

From ZeldaMods (Link's Awakening)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
imported>Leoetlino
(port latest changes from BotW wiki (courtesy of DarkMatterCore))
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
In order to get a copy of the [[content]] files and [[executable]], you will need to dump ''Breath of the Wild'' from a console. This article provides instructions for Wii U and Switch users.
In order to get a copy of the [[content]] files and [[executable]], you will need to dump the game from a console. This article provides instructions for Switch users.
 
== Wii U ==
{{empty section}}


== Switch ==
== Switch ==
The general process is:
Dump the game files directly to your SD card using nxdumptool. Update data can only be processed if the base game is available, because they share the same filesystem.
# Dump the base version NCA of the game.
# Dump the update NCA.
# Extract the romfs to get a copy of the content files.


'''Warning''': Running homebrew on the Switch can get you banned from Nintendo online services if you aren't careful. If you do not want to leave any traces, turn on airplane mode, back up your NAND '''before running any homebrew''' and do not ever go online before you have restored the backup.
'''Warning''': Running homebrew on the Switch can get you banned from Nintendo online services if you aren't careful. If you do not want to leave any traces, turn on airplane mode, back up your NAND '''before running any homebrew''' and do not ever go online before you have restored the backup.


=== Prerequisites ===
=== Prerequisites ===
* [https://github.com/SciresM/hactool hactool].
* [https://github.com/DarkMatterCore/nxdumptool nxdumptool].
* Keys (see below)
* Keys file generated using [https://github.com/shchmue/Lockpick_RCM Lockpick_RCM], located at <code>sdmc:/switch/prod.keys</code>. Run the payload on your console through RCM in order to dump the keys needed by nxdumptool to decrypt contents.
*# Run [https://github.com/shchmue/kezplez-nx kezplez-nx] on your console in order to dump keys that are required to decrypt contents (or get a copy of the keys manually).
*# Copy the keys file from your SD to <code>$HOME/.switch/prod.keys</code>.
 
=== Dumping the base NCA ===
Because of how updates work on Switch, the base NCA must be dumped even if you're only interested in 1.5.0.
 
* If your base game is on a '''cartridge''', dump it with [https://github.com/DarkMatterCore/gcdumptool gcdumptool]. You'll get an XCI. Extract the secure partition &mdash; in which the main NCA can be found &mdash; with <code>hactool -t xci -i image.xci --securedir=secure/</code>. The main NCA is the largest NCA in the secure partition.
* If your base game is stored on the '''NAND''', copy it to the SD card and follow this [https://gist.github.com/khang06/84aabeac507fa99a676d22bb6120cea8 guide]. (You could also extract the NCA from the NAND but that is sensibly more complicated.)
* If your base game is stored on the '''SD card''', follow this [https://gist.github.com/khang06/84aabeac507fa99a676d22bb6120cea8 guide].
 
At this point, you now have the base NCA (~10GB). Its SHA256 hash is efecb2d6befccddc928e44416dbdee38.
 
=== Dumping the update ===
* If your update is stored on the '''NAND''', copy it to the SD card and follow this [https://gist.github.com/khang06/84aabeac507fa99a676d22bb6120cea8 guide]. (Again, you could also extract from the NAND but it's much more complicated.)
* If your update is stored on the '''SD card''', follow this [https://gist.github.com/khang06/84aabeac507fa99a676d22bb6120cea8 guide].


You now have the update NCA (SHA256 is dab7abb85deaab23c04f4660d21c4bf8).
=== Dumping game files ===
* On your Switch, open nxdumptool. Afterwards:
*# '''If you have the gamecard''': Select <code>Dump gamecard content</code>.
*# '''If you have the eShop version''': Select <code>Dump SD card / eMMC content</code>, then select the game.
* Select <code>RomFS options</code>.
* Highlight the <code>Use update/DLC</code> option and use the left/right buttons to cycle through the available updates for the game.
*# '''If you have no available updates''', this option won't appear. You'll only be able to dump the files from the non-updated base game (which is the same to just leaving this option set to <code>No</code>).
*# Updates are tagged as <code>(UPD)</code>, and they use <code>01006BB00C6F0800</code> as their ID.
* Select <code>RomFS section data dump</code> and wait for the process to finish. This will dump the internal filesystem from the selected update to the inserted SD card.


=== Extracting the romfs ===
Just like it was previously mentioned, updates share their filesystem data with the base game, so dumping the RomFS from an update is equivalent to dumping the whole filesystem from the updated game data. In other words, it isn't necessary to dump the base game filesystem separately if you choose an update.
Now that you have the base NCA, the update NCA and associated title keys, you can extract the romfs (which contains all [[content]] files):


hactool -x -t nca path/to/update.nca  --basenca path/to/base.nca --titlekey TITLE_KEY --romfsdir where/to/extract/the/romfs
When you're done, you'll be able to find the output dumps in <code>sdmc:/switch/nxdumptool/RomFS</code>.


where TITLE_KEY is the title key for the update (not the base title!)
=== Dumping binaries (executable files) ===
Binaries in Switch titles are stored in a different section known as ExeFS, which is only available in base games and updates. Unlike RomFS data, ExeFS data isn't shared between the update and its base game.


To extract the exefs (which contains the [[executable]] and SDK libraries):
These files can also be dumped using nxdumptool.


hactool -x -t nca path/to/update.nca --basenca path/to/base.nca --titlekey TITLE_KEY --exefsdir where/to/extract/the/exefs
* On your Switch, open nxdumptool. Afterwards:
*# '''If you have the gamecard''': Select <code>Dump gamecard content</code>.
*# '''If you have the eShop version''': Select <code>Dump SD card / eMMC content</code>, then select the game.
* Select <code>ExeFS options</code>.
* Highlight the <code>Use update</code> option and use the left/right buttons to cycle through the available updates for the game.
*# '''If you have no available updates''', this option won't appear. You'll only be able to dump the binaries from the non-updated base game (which is the same to just leaving this option set to <code>No</code>).
*# Updates use <code>01006BB00C6F0800</code> as their ID.
* Select <code>ExeFS section data dump</code> and wait for the process to finish. This will dump the binaries from the selected update to the inserted SD card.


=== Dumping the DLC ===
When you're done, you'll be able to find the output dump in <code>sdmc:/switch/nxdumptool/ExeFS</code>.
The DLC can be dumped by following the same procedure. Note that the title key is different.


[[Category:Guides]]
[[Category:Guides]]

Latest revision as of 20:37, 16 November 2019

In order to get a copy of the content files and executable, you will need to dump the game from a console. This article provides instructions for Switch users.

Switch

Dump the game files directly to your SD card using nxdumptool. Update data can only be processed if the base game is available, because they share the same filesystem.

Warning: Running homebrew on the Switch can get you banned from Nintendo online services if you aren't careful. If you do not want to leave any traces, turn on airplane mode, back up your NAND before running any homebrew and do not ever go online before you have restored the backup.

Prerequisites

  • nxdumptool.
  • Keys file generated using Lockpick_RCM, located at sdmc:/switch/prod.keys. Run the payload on your console through RCM in order to dump the keys needed by nxdumptool to decrypt contents.

Dumping game files

  • On your Switch, open nxdumptool. Afterwards:
    1. If you have the gamecard: Select Dump gamecard content.
    2. If you have the eShop version: Select Dump SD card / eMMC content, then select the game.
  • Select RomFS options.
  • Highlight the Use update/DLC option and use the left/right buttons to cycle through the available updates for the game.
    1. If you have no available updates, this option won't appear. You'll only be able to dump the files from the non-updated base game (which is the same to just leaving this option set to No).
    2. Updates are tagged as (UPD), and they use 01006BB00C6F0800 as their ID.
  • Select RomFS section data dump and wait for the process to finish. This will dump the internal filesystem from the selected update to the inserted SD card.

Just like it was previously mentioned, updates share their filesystem data with the base game, so dumping the RomFS from an update is equivalent to dumping the whole filesystem from the updated game data. In other words, it isn't necessary to dump the base game filesystem separately if you choose an update.

When you're done, you'll be able to find the output dumps in sdmc:/switch/nxdumptool/RomFS.

Dumping binaries (executable files)

Binaries in Switch titles are stored in a different section known as ExeFS, which is only available in base games and updates. Unlike RomFS data, ExeFS data isn't shared between the update and its base game.

These files can also be dumped using nxdumptool.

  • On your Switch, open nxdumptool. Afterwards:
    1. If you have the gamecard: Select Dump gamecard content.
    2. If you have the eShop version: Select Dump SD card / eMMC content, then select the game.
  • Select ExeFS options.
  • Highlight the Use update option and use the left/right buttons to cycle through the available updates for the game.
    1. If you have no available updates, this option won't appear. You'll only be able to dump the binaries from the non-updated base game (which is the same to just leaving this option set to No).
    2. Updates use 01006BB00C6F0800 as their ID.
  • Select ExeFS section data dump and wait for the process to finish. This will dump the binaries from the selected update to the inserted SD card.

When you're done, you'll be able to find the output dump in sdmc:/switch/nxdumptool/ExeFS.