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
.pakfiles - 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.keysfile 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.exeas 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
romfsdirectory with the.pakfiles 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
.tikfile in the folderunpackedontoGetTitlekey.exeto 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
.tikfile in the folderunpacked_baseontoGetTitlekey.exeto 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
.tikfile in the folderunpacked_patchontoGetTitlekey.exeto 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
.tikfile in the folderunpacked_patchontoGetTitlekey.exeto 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
Unpacking the .pak files
- Find the
.pakfile in theromfsfolder you extracted in the previous section and move it to the same directory asREtool.exe - Move the
mhrise.listfile you downloaded in the same directory asREtool.exe - Open a command line in the same directory as
REtool.exeas 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_namedirectory 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.