Nintendo Switch Dumping Guide

From No-Intro ~ Wiki
Revision as of 10:32, 19 November 2019 by Hiccup (Talk | contribs) (Requirements)

Jump to: navigation, search

NXDumpTool

It's an open-source homebrew application capable of generating XCI dumps from Nintendo Switch gamecards, as well as installable NSP dumps from both gamecards and installed digital titles.


Requirements

  • A Nintendo Switch console with a firmware version greater than or equal to 3.0.0. Must either be vulnerable to Fusée Gelée or have a firmware version compatible with Caffeine. The exact details on how to use these exploits to launch homebrew applications aren't covered in this guide.
  • The latest NXDumpTool release saved to sdmc:/switch/nxdumptool/nxdumptool.nro.
  • Optional: the latest NSWDB.COM XML database saved to sdmc:/switch/nxdumptool/NSWreleases.xml. This is used by NXDumpTool to verify gamecard dumps against scene releases at runtime. You can also get it straight from the application by going into Update options -> Update NSWDB.COM XML database from the main menu.
  • Optional: keys file generated using Lockpick_RCM, located at sdmc:/switch/prod.keys. Run the payload on your console in order to dump the keys. They're needed by NXDumpTool to decrypt contents while generating NSP dumps.


Note #1: if you use a SD card with a FAT32 partition and the game you wish to dump is bigger than 4 GiB, you can dump it in smaller parts, but you must reassemble them afterwards.


Note #2: you don't need to have enough free space in your SD card for a whole dump. Sequential (multi-session) dumping is available in NXDumpTool, and it's automatically triggered if there's not enough space for a whole dump - but there must be at least 1 GiB of free space. After each session, you'll have to transfer the generated part files to your PC before continuing the dump process in the next session.

Dumping steps

  1. Using either Fusée Gelée or Caffeine, boot into the CFW of your preference and load the Homebrew Launcher using title override (hold R while launching a game).
  2. Load NXDumpTool.
    1. If you want to dump a gamecard:
      1. Select Dump gamecard content.
      2. Select Cartridge Image (XCI) dump.
      3. Set the available options to the following values:
        • Split output dump (FAT32 support): set it to Yes if you're using a FAT32 partition in your SD card. Otherwise, set it to No.
        • Create directory with archive bit set: No.
        • Keep certificate: No. This will wipe the gamecard-unique certificate from the output XCI dump.
        • Trim output dump: No.
        • CRC32 checksum calculation + dump verification: Yes. Bear in mind that dump verification will only take place if you downloaded the NSWDB.COM XML database to its corresponding location in the SD card.
      4. Select Start XCI dump process, press A and wait for the process to finish. You'll be able to find the output file(s) in sdmc:/switch/nxdumptool/XCI.
      5. After dumping, you should see the CRC32 checksum for your dump. If you downloaded the NSWDB.COM XML database and the application says that it found a matching Scene release, then this is likely a good redump. However, we do need a little more information (see Gathering Cartridge Dump Info).
    2. If you want to dump an installed digital title:
      1. Select Dump SD card / eMMC (NANDUSER) content, then select the game you wish to dump from the displayed list.
      2. Select Nintendo Submission Package (NSP) dump. If you have installed updates / DLCs for the selected title, select Dump base application NSP afterwards.
      3. Set the available options to the following values:
        • Split output dump (FAT32 support): set it to Yes if you're using a FAT32 partition in your SD card. Otherwise, set it to No.
        • CRC32 checksum calculation: No.
        • Remove console specific data: Yes.
        • Generate ticket-less dump: No.
        • Change NPDM RSA key/sig in Program NCA: No.
      4. Select Start NSP dump process, press A and wait for the process to finish. You'll be able to find the output file(s) in sdmc:/switch/nxdumptool/NSP.
  3. Copy the output dump to your PC. If you used the split method for FAT32, or if you used sequential (multi-session) dumping, you'll need to reassemble the part files into a single XCI/NSP dump.

Merge part files (FAT32 only)

  1. Copy all parts of your XCI/NSP dump to your PC.
  2. Merge your part files into a complete dump:
    1. On Windows:
      1. Open the command prompt and use cd to change the current working directory to the one that holds your split files.
      2. Type the following command according to your specific case, then press Enter:
        • If you're dealing with a split XCI dump: copy /b *.xc* game.xci.
        • If you're dealing with a split NSP dump (non-sequential): copy /b * game.nsp.
        • If you're dealing with a split NSP dump (sequential): copy /b *.nsp.hdr+*.nsp.0* game.nsp.
    2. On Linux/Mac:
      1. Open your terminal emulator and use cd to change the current working directory to the one that holds your split files.
      2. Type the following command according to your specific case, then press Enter:
        • If you're dealing with a split XCI dump: cat *.xc* > game.xci.
        • If you're dealing with a split NSP dump (non-sequential): cat * > game.nsp.
        • If you're dealing with a split NSP dump (sequential): cat *.nsp.hdr *.nsp.0* > game.nsp.
  3. Your part files should be reassembled into a full game.xci / game.nsp file.


Gathering Catridge Dump Info

  • CRC32: Generated from the ROM file using HxD or HashTab on windows, or by using crc32 in a terminal emulator for linux/mac.
  • MD5: As above, or by using md5 in a terminal emulator for linux/mac.
  • SHA-1: As above, or by using shasum -a 1 in a terminal emulator for linux/mac.
  • Game title: If it differs between different places (e.g. title screen, console menu banner, box, cart) then go with the one on the front of the box.
  • Region: The region the cart originated from such as USA, Japan, Europe, Korea, China or "World" if it is being sold in three or more regions If you're unsure, consult the DAT-o-MATIC or simply use the region from the label of your cart.
  • Cart Serial: It is located on the label on the front of the cart the form of "LA-H-XXXXX-XXX" (where X is a letter). The last three letters are the cartridge's region, not necessarily the region of the game itself. For additional information on cartridge serials, see Understanding Serials.
  • Cart Reverse Serial: It is located on the back of the cartridge printed on the plastic in the form "AAAAABBBCCC" where A is Cart Serial, B is unknown, and C is cartridge revision.
  • Cart Revision (If applicable): last 3 digits on the reverse cartridge serial.
  • Box Barcode: The number on the case displayed beneath the vertical lines, see Barcode.
  • Box Serial: The serial on the case. Example: HAC P AAAAA USA
  • Size: The size of the ROM in bytes.
  • Scans: The following scans (or photos) would be good to have: Front and back of the following items - box, cart and PCB.

Submitting Info to No-Intro

If you have datter rights you can submit the dumpinfo using the "Submit" form in DAT-o-MATIC.

Otherwise post the info in the New Dumps & Redumps section of the forum.