Tools for (un)packing, (de)crypting and editing various Monster Hunter Frontier Online files.
Huge thank you to enler for their help!
This fork is 100% compatible with mhvuze/ReFrontier and Chakratos/ReFrontier. Yet it brings many improvements.
General improvements:
- Compatibility with Linux/Mac.
- 4x times faster (single thread), multithreaded unpacking.
- Interface standardization.
- User documentation.
- Linting.
Changes to ReFrontier main project:
- Multiprocessing for fast depacking.
- Fix issue where files with the same names could be decompressed (#5).
- Compress and encrypt in one command.
- Removes outdated/unused libraries.
- Removes memory-unsafe code.
Changes to FrontierTextTool, compared to Chakratos/ReFrontier:
- Better parsing for CSV files.
- "fulldump" creates less garbage text.
- Fixes compression level using "insert".
Grab the lastest release and download the file corresponding to your OS. Unzip the folder, you will find ReFrontier.exe inside (simply ReFrontier on linux/mac).
You can also build from source for latest version.
You can either drag-an-drop files/folder onto the ReFrontier executable, or open a terminal at its location.
For a simple use case:
-
Copy "mhfdat.bin" (or any file) from the
dat/
folder of MHFrontier. Put in the the same folder as the executable. -
Decrypt and decompress the file with
./ReFrontier.exe mhfdat.bin --log
-
Edit to you convenience (view tools in see also).
-
Compress and encrypt
./ReFrontier.exe mhfdat.bin --compress=4,80 --encrypt
-
Replace mhfdat.bin by the new file.
To get help, use:
./ReFrontier.exe --help
For each command, detailed explanations are available at ReFrontier/README.md.
Any command will leave the terminal open until you press enter.
Use --close
to close the terminal after running ReFrontier.
Use --help
to display the CLI help.
ReFrontier does decryption (ECD → JPK) then decompression by default.
You simply need to drag and drop the path of the file or folders of ReFrontier you want to decrypt. It also work with folders.
If you want to reuse the file in the game, don't forget to add --log
to generate a .meta file.
If you file is named "mhfdat.bin", the meta file will be mhfdat.bin.meta.
./ReFrontier.exe mhfdat.bin --log --decryptOnly # Decrypt mhfdat.bin, create mhfdat.bin.meta, do not decompress mhfdat.bin
Decompressing a file replaces the old file by its new format, don't forget to backup important data. You can recognized a compressed file by its "JKR" header (in the file first bytes). To decompress such a file:
./ReFrontier.exe mhfdat.bin # If mhdat.bin is already decrypted, decompress it
Once the files are decrypted and decompressed, you can edit them. You can use the tools in the see also section.
This solution also includes FrontierTextTool and FrontierDataTool to extract text and data from the files respectively.
To compress it again JPK type 4, with maximal (100) compression use:
./ReFrontier.exe mhfdat.bin --compress=4,100
The output will be a file, or a folder with the same name in the output/
directory.
To a encrypt a compressed file use --encrypt
.
It encrypts the input file with the ECD algorithm.
./ReFrontier.exe mhfdat.bin --encrypt
It will implicitely look for mhfdat.bin.meta file in the same folder, see the decryption section. The file can now be used in Frontier.
You can compress and encrypt a file in the same command, just add both arguments.
You need .NET to build this project.
git clone https://github.com/Houmgaor/ReFrontier.git
cd ReFrontier
# Remove configuration for debugging
dotnet build --configuration Release
You should find the executable "ReFrontier.exe" in ./Refrontier/bin/Release/net8.0/
(or similar path).
Some more useful tools and projects:
- var-username/Monster-Hunter-Frontier-Patterns for binary files template.
- FrontierTextHandler for text data edition.
- Blender addon to import 3D models.
To run a server: MHFrontier Server.