Extracting Game Files - mhvuze/MonsterHunterRiseModding GitHub Wiki
Introduction
Monster Hunter Rise uses the proprietary RE Engine developed by Capcom. Much like in other games based on RE Engine (like Resident Evil 7 and Devil May Cry 5), Monster Hunter Rise game data is stored in .pak
container files. Resident Evil modder FluffyQuack has created REtool, which among other things can be used to unpack and repack Monster Hunter Rise .pak
container files. More information on the structure of said .pak
files can be found in the source code of REtool linked above.
In order to access the game data itself, the Nintendo Switch container files need to be decrypted and unpacked first, however. There are various ways to do this. This guide will cover a more advanced tool that should allow you to easily tackle game updates and potential DLC as well.
Requirements
- hactool — to unpack the Nintendo Switch container files
- Dumped Switch
prod.keys
— for use with hactool - GetTitlekey.exe — for retrieving the title key of a patch etc.
- REtool — to unpack
.pak
files - File list for Monster Hunter Rise — for use with REtool
- Dumped copy of Monster Hunter Rise and/or update(s)
The above tools and files may be updated periodically.
Unpacking the Nintendo Switch container files
- Put the
prod.keys
file you dumped from your Switch console in the same directory ashactool.exe
- Put your dumped game/update in the same directory as
hactool.exe
- Open a command line in the same directory as
hactool.exe
as follows: hold down the Shift key and right click on empty space in the Explorer window, then selectOpen PowerShell window here
- Depending on the format of your game/update dump, copy and paste the matching commands found below in the command line while adjusting the file names (and title key, if required) accordingly. Then press the Enter key to execute each command
- Done. You should find the
romfs
directory with the.pak
files inside the same directory ashactool.exe
hactool commands (Base game)
NSP:
./hactool.exe -k prod.keys -tpfs0 -x --outdir="unpacked" base_game.nsp
- Drag and drop the
.tik
file in the folderunpacked
ontoGetTitlekey.exe
to retrieve the title key for the next step. ./hactool.exe -k prod.keys -tnca --titlekey=pastekeyhere --romfsdir=romfs unpacked/name_of_biggest_nca.nca
XCI:
./hactool.exe -k prod.keys -txci --securedir="unpacked" base_game.xci
./hactool.exe -k prod.keys -tnca --romfsdir=romfs unpacked/name_of_biggest_nca.nca
hactool commands (Base game and update)
Base game as NSP:
./hactool.exe -k prod.keys -tpfs0 -x --outdir="unpacked_base" base_game.nsp
- Drag and drop the
.tik
file in the folderunpacked_base
ontoGetTitlekey.exe
to retrieve the title key for the next step. ./hactool -k prod.keys --titlekey=pastekeyhere --plaintext="unpacked_base/decryptedBase.nca" unpacked_base/name_of_biggest_nca.nca
./hactool.exe -k prod.keys -tpfs0 -x --outdir="unpacked_patch" patch.nsp
- Drag and drop the
.tik
file in the folderunpacked_patch
ontoGetTitlekey.exe
to retrieve the title key for the next step. ./hactool.exe -k prod.keys --basenca=unpacked_base/decryptedBase.nca --titlekey=pastekeyhere --romfsdir=romfs unpacked_patch/name_of_biggest_nca.nca
Base game as XCI:
./hactool.exe -k prod.keys -txci --securedir="unpacked_base" base_game.xci
./hactool.exe -k prod.keys -tpfs0 -x --outdir="unpacked_patch" patch.nsp
- Drag and drop the
.tik
file in the folderunpacked_patch
ontoGetTitlekey.exe
to retrieve the title key for the next step. ./hactool.exe -k prod.keys --basenca=unpacked_base/name_of_biggest_nca.nca --titlekey=pastekeyhere --romfsdir=romfs unpacked_patch/name_of_biggest_nca.nca
.pak
files
Unpacking the - Find the
.pak
file in theromfs
folder you extracted in the previous section and move it to the same directory asREtool.exe
- Move the
mhrise.list
file you downloaded in the same directory asREtool.exe
- Open a command line in the same directory as
REtool.exe
as follows: hold down the Shift key and right click on empty space in the Explorer window, then selectOpen PowerShell window here
- Copy and paste the following command in the command line while adjusting the file name accordingly:
.\REtool.exe -h mhrise.list -x -skipUnknowns pak_name.pak
. Then press the Enter key to execute the command - Done. You should find the
pak_name
directory with all known game data files inside the same directory asREtool.exe
Merging patch data
In order to easily merge the base game data with updates, just use .\REtool.exe -h mhrise.list -x -skipUnknowns -noExtractDir pak_name.pak
consecutively, starting with the base game .pak
, then following the patches in their respective order. REtool will not use an individual directory for each pak and overwrite files, so that you end up with a single directory containing the most recent version of each file.