Dump the game files from the console to your computer using ddd. If any add-on-content (aoc) is installed, that will be dumped at the same time.
The general process is:
- 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.
- Keys (see below)
- Run Lockpick 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
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 gcdumptool. You'll get an XCI. Extract the secure partition — in which the main NCA can be found — with
hactool -t xci -i image.xci --securedir=secure/. 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 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 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 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 guide.
You now have the update NCA (see Versions for NCA hashes).
Extracting the romfs
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
where TITLE_KEY is the title key for the update (not the base title!)
To extract the exefs (which contains the executable and SDK libraries):
hactool -x -t nca path/to/update.nca --basenca path/to/base.nca --titlekey TITLE_KEY --exefsdir where/to/extract/the/exefs
Dumping the DLC
The DLC can be dumped by following the same procedure. Note that the title key is different.