Help:Dumping games: Difference between revisions

imported>Leoetlino
(Update outdated info about nxdt host app)
 
(27 intermediate revisions by 10 users not shown)
Line 2: Line 2:


== Wii U ==
== Wii U ==
{{empty section}}
The easiest method for dumping BOTW in a manner compatible with tools like Cemu and BCML is to use Dumpling. 


== Switch ==
=== Prerequisites ===
The general process is:
* BOTW 1.5.0 on your Wii U
# Dump the base version NCA of the game.
* Any Wii U (Method 1)
# Dump the update NCA.
* Modded Wii U with Homebrew Launcher (Method 2)
# Extract the romfs to get a copy of the content files.
 
=== Dumping your game files ===
 
==== Method 1 (Any Wii U) - Website ====
 
# Insert an SD card into your Wii U.
# Before running Dumpling, disable auto power off and standby on your Wii U.
# Insert any USB devices or game discs you’d like to use in the dump process.
# Launch the Internet Browser app.
# Go to https://dumplingapp.com/
# Select "Dump digital games" or "Dump a game disc" as appropriate.
# Select BOTW using the (A) button and then press (START) (selection N/A if using a disc). Make sure to check the boxes for base game, update, and (if applicable) DLC.
# Set the dump destination.
# Select (START) to begin dumping (which can take a ''very'' long time).
# Once finished, you can put the SD card into your PC and copy the files onto your hard drive.


'''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.
==== Method 2 (Modded Wii U only) - Homebrew App ====
# Download the latest release of Dumpling from [https://github.com/emiyl/dumpling/releases here].
# Extract the ZIP to the root of your SD card.
# Before running Dumpling, disable auto power off and standby on your Wii U.
# Insert any USB devices or game discs you’d like to use in the dump process.
# Open Dumpling from the Homebrew Launcher.
# Select "Dump digital games" or "Dump a game disc" as appropriate.
# Select BOTW using the (A) button and then press (START) (selection N/A if using a disc). Make sure to check the boxes for base game, update, and (if applicable) DLC.
# Set the dump destination.
# Select (START) to begin dumping (which can take a ''very'' long time).
# Once finished, you can put the SD card into your PC and copy the files onto your hard drive.


=== Prerequisites ===
== Switch ==
* [https://github.com/SciresM/hactool hactool]
Dump the game files directly to your PC using nxdumptool. Update data can only be processed if the base game is available, because they share the same filesystem. DLCs don't, so they have to be dumped separately.
* Keys (see below)
*# 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 ===
'''Warning''': If you misbehave (piracy, online cheating or anything equally stupid), you might get banned from Nintendo online services. If you do not want to leave any traces, turn on airplane mode, back up your eMMC '''before running any homebrew''' and do not ever go online before you have restored the backup.
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 you already have the game setup on a Switch emulator, you do not need to follow any of the steps with nxdumptool on your Switch. Right click the game in your emulator and:
* 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.
* ''<code>Extract data</code>'' > <code>''Dump RomFS''</code> ('''Ryujinx''')
* ''<code>Dump RomFS</code>'' > <code>''Dump RomFS''</code> > <code>''Full''</code> ('''Yuzu''')
'''Note: If you have the DLCs, dumping from Ryujinx will not be sufficient as it is only capable of dumping the base application and update.'''


=== Dumping the update ===
=== Prerequisites ===
* 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.)
* Keys file generated using [https://github.com/Decscots/Lockpick_RCM/releases 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.
* If your update is stored on the '''SD card''', follow this [https://gist.github.com/khang06/84aabeac507fa99a676d22bb6120cea8 guide].
* [https://github.com/DarkMatterCore/nxdumptool/releases/tag/rewrite-prerelease nxdumptool rewrite] (get both <code>nxdt_host.7z</code> and <code>nxdt_rw_poc.nro</code>).
* [https://zadig.akeo.ie/ Zadig] to setup the driver (used for dumping through USB)


You now have the update NCA (SHA256 is dab7abb85deaab23c04f4660d21c4bf8).
=== Dumping game files ===


=== Extracting the romfs ===
* First, make sure to dump your keys by injecting the '''Lockpick_RCM''' payload and selecting "Dump title keys", then reboot to Atmosphère.
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
* Place nxdumptool rewrite (<code>nxdt_rw_poc.nro</code>) into the switch folder of your SD card, open it through the Homebrew Launcher, and plug the Switch to your computer with a USB cable.
*With nxdumptool open, launch Zadig on your computer, and follow the driver installation instructions below
*# Go to <code>Options</code> and make sure <code>List all devices</code> is checked -- if not, click that option.
*# Using the dropdown list with USB devices, select the name of the NRO you launched on your Switch (e.g. <code>nxdt_rw_poc</code>).
*# Change the <code>Driver</code> dropdown on the right to <code>libusbK</code> (the actual version number doesn't matter).
*# Wait until the installation process finishes. If you did it correctly, Zadig should look like this:
[[File:Zadig.png|border|500x500px]]
* Open the host app (.exe file extracted from <code>nxdt_host.7z</code>), and click <code>Start Server</code>
* If the UI says that the Switch is not detected, make sure that nxdt is running on your Switch, that you have setup the driver properly, and that you don't have a bad USB cable.
* On nxdumptool, navigate through the menu by selecting the following options:
*# Go to <code>user titles menu</code>, then select <code>The Legend of Zelda: Breath of the Wild</code>
*# Select the following options: <code>nca / nca fs dump options</code>  -> <code>dump base application</code> -> <code>Program #0</code> -> <code>FS section #2: RomFS</code>
*# On the line with <code>use base/patch title</code>: select the installed update
*# On the line with <code>output storage</code>: select <code>usb host (pc)</code>
*# Select <code>start nca fs section dump</code>
Depending on your USB speed (2.0 or 3.0) and the quality of your cable, it may vary from 10 minutes up to an hour.
'''It may fail if your USB cable is faulty, if the USB port on your PC is faulty, or if you run out of space on your computer (requires at least 14GB of available storage).'''
Just like mentioned previously, updates share their filesystem data with the base game, so dumping the RomFS with 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 and update separately.


where TITLE_KEY is the title key for the update (not the base title!)
DLCs, on the other hand, must be dumped separately. If you have the DLCs installed, once the dump of the base application and update was completed, repeat previous steps from 1 to 5 again, but select <code>dump dlc</code> instead of <code>dump base application</code> on step 2.
# Updates are tagged as <code>(UPD)</code>, and they use <code>01007EF00011E800</code> as their ID. v786432 (0.0.12.0) corresponds to BotW v1.6.0 update.
# DLCs are tagged as <code>(DLC)</code>. <code>01007EF00011F001</code> and <code>01007EF00011F002</code> are the known IDs for the existent BotW DLCs.
When you're done, you'll be able to find the output dumps under <code>NCA FS\Extracted</code> in the nxdumptool host app folder.


To extract the exefs (which contains the [[executable]] and SDK libraries):
=== Dumping binaries (executable files) ===
Executables in Switch titles are stored in a different section known as the 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.


hactool -x -t nca path/to/update.nca  --basenca path/to/base.nca --titlekey TITLE_KEY --exefsdir where/to/extract/the/exefs
These files can also be dumped using nxdumptool.


=== Dumping the DLC ===
* On your Switch, open nxdumptool. Afterwards:
The [[DLC]] can be dumped by following the same procedure. Note that the title key is different.
*# '''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 BotW.
* 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>01007EF00011E800</code> as their ID. v786432 corresponds to BotW v1.6.0 update.
* 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.


[[Category:Guides]]
When you're done, you'll be able to find the output dump in <code>sdmc:/switch/nxdumptool/ExeFS</code>.

Latest revision as of 00:20, 15 September 2024

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.

Wii U

The easiest method for dumping BOTW in a manner compatible with tools like Cemu and BCML is to use Dumpling.

Prerequisites

  • BOTW 1.5.0 on your Wii U
  • Any Wii U (Method 1)
  • Modded Wii U with Homebrew Launcher (Method 2)

Dumping your game files

Method 1 (Any Wii U) - Website

  1. Insert an SD card into your Wii U.
  2. Before running Dumpling, disable auto power off and standby on your Wii U.
  3. Insert any USB devices or game discs you’d like to use in the dump process.
  4. Launch the Internet Browser app.
  5. Go to https://dumplingapp.com/
  6. Select "Dump digital games" or "Dump a game disc" as appropriate.
  7. Select BOTW using the (A) button and then press (START) (selection N/A if using a disc). Make sure to check the boxes for base game, update, and (if applicable) DLC.
  8. Set the dump destination.
  9. Select (START) to begin dumping (which can take a very long time).
  10. Once finished, you can put the SD card into your PC and copy the files onto your hard drive.

Method 2 (Modded Wii U only) - Homebrew App

  1. Download the latest release of Dumpling from here.
  2. Extract the ZIP to the root of your SD card.
  3. Before running Dumpling, disable auto power off and standby on your Wii U.
  4. Insert any USB devices or game discs you’d like to use in the dump process.
  5. Open Dumpling from the Homebrew Launcher.
  6. Select "Dump digital games" or "Dump a game disc" as appropriate.
  7. Select BOTW using the (A) button and then press (START) (selection N/A if using a disc). Make sure to check the boxes for base game, update, and (if applicable) DLC.
  8. Set the dump destination.
  9. Select (START) to begin dumping (which can take a very long time).
  10. Once finished, you can put the SD card into your PC and copy the files onto your hard drive.

Switch

Dump the game files directly to your PC using nxdumptool. Update data can only be processed if the base game is available, because they share the same filesystem. DLCs don't, so they have to be dumped separately.

Warning: If you misbehave (piracy, online cheating or anything equally stupid), you might get banned from Nintendo online services. If you do not want to leave any traces, turn on airplane mode, back up your eMMC before running any homebrew and do not ever go online before you have restored the backup.

If you already have the game setup on a Switch emulator, you do not need to follow any of the steps with nxdumptool on your Switch. Right click the game in your emulator and:

  • Extract data > Dump RomFS (Ryujinx)
  • Dump RomFS > Dump RomFS > Full (Yuzu)

Note: If you have the DLCs, dumping from Ryujinx will not be sufficient as it is only capable of dumping the base application and update.

Prerequisites

  • 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.
  • nxdumptool rewrite (get both nxdt_host.7z and nxdt_rw_poc.nro).
  • Zadig to setup the driver (used for dumping through USB)

Dumping game files

  • First, make sure to dump your keys by injecting the Lockpick_RCM payload and selecting "Dump title keys", then reboot to Atmosphère.
  • Place nxdumptool rewrite (nxdt_rw_poc.nro) into the switch folder of your SD card, open it through the Homebrew Launcher, and plug the Switch to your computer with a USB cable.
  • With nxdumptool open, launch Zadig on your computer, and follow the driver installation instructions below
    1. Go to Options and make sure List all devices is checked -- if not, click that option.
    2. Using the dropdown list with USB devices, select the name of the NRO you launched on your Switch (e.g. nxdt_rw_poc).
    3. Change the Driver dropdown on the right to libusbK (the actual version number doesn't matter).
    4. Wait until the installation process finishes. If you did it correctly, Zadig should look like this:

 

  • Open the host app (.exe file extracted from nxdt_host.7z), and click Start Server
  • If the UI says that the Switch is not detected, make sure that nxdt is running on your Switch, that you have setup the driver properly, and that you don't have a bad USB cable.
  • On nxdumptool, navigate through the menu by selecting the following options:
    1. Go to user titles menu, then select The Legend of Zelda: Breath of the Wild
    2. Select the following options: nca / nca fs dump options -> dump base application -> Program #0 -> FS section #2: RomFS
    3. On the line with use base/patch title: select the installed update
    4. On the line with output storage: select usb host (pc)
    5. Select start nca fs section dump
Depending on your USB speed (2.0 or 3.0) and the quality of your cable, it may vary from 10 minutes up to an hour.

It may fail if your USB cable is faulty, if the USB port on your PC is faulty, or if you run out of space on your computer (requires at least 14GB of available storage).

Just like mentioned previously, updates share their filesystem data with the base game, so dumping the RomFS with 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 and update separately.

DLCs, on the other hand, must be dumped separately. If you have the DLCs installed, once the dump of the base application and update was completed, repeat previous steps from 1 to 5 again, but select dump dlc instead of dump base application on step 2.

  1. Updates are tagged as (UPD), and they use 01007EF00011E800 as their ID. v786432 (0.0.12.0) corresponds to BotW v1.6.0 update.
  2. DLCs are tagged as (DLC). 01007EF00011F001 and 01007EF00011F002 are the known IDs for the existent BotW DLCs.

When you're done, you'll be able to find the output dumps under NCA FS\Extracted in the nxdumptool host app folder.

Dumping binaries (executable files)

Executables in Switch titles are stored in a different section known as the 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 BotW.
  • 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 01007EF00011E800 as their ID. v786432 corresponds to BotW v1.6.0 update.
  • 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.