PakInspector is simple CLI tool for exploring and extracting Arma Reforger's PAC1 files.
This is a proof of concept implementation aimed at investigating and addressing the issues with existing tools ([1], [2]). If you encounter similar problems, please share the results obtained using the command PakInspector inspect <file> --save.
- View the file structure inside Arma Reforger's
.pakfiles; - Extract all the content from the
.pakfile, or just specific files;- If the file is compressed using an unknown algorithm, you can extract the raw file section for analysis
- View chunks of arbitrary Interchange File Format files;
- Extracting chunks isn't currently supported, but this feature may be added later.
PakInspector does not require installation. Simply download PakInspector.exe from the latest release and start using it! For convenience, you may want to add your PakInspector location to the PATH.
Sometimes you may get a warning from Windows Defender or other anti-virus software. You can safely ignore it. This is because PakInspector is not a properly signed application.
- Extract all files from
data.paktooutputfolder:.\PakInspector extract data.pak output - Extract
foo\bar.xobandfoo\bazz.xobfromdata.paktooutputfolder:Please note that you must specify.\PakInspector extract data.pak output -f "foo\bar.xob" -f "foo\bazz.xob"-f(or--file) key before each filename. The filename must match one of those returned by the 'inspect' command. - Show file tree for
data.pak.\PakInspector inspect data.pak --tree - Inspect
data.pakand save results without printing to console.\PakInspector inspect data.pak -qs
You can also use the --help key to view all the available commands and options.
If you find a bug or have a feature request, please use Issues to report it. Samples of the .pak files that the tool fails to extract are needed. If you have encountered this problem, please post your inspection results in the Issues or send me a message on Discord.
As the current POC implementation prioritizes the ease of development and clarity provided by Kaitai Struct over parser performance, high RAM usage is expected.
RAM usage for inspection and extraction operations is comparable to the size of the .pak file.
All contributions are welcome! If you have any plans for improving the parser, please use the formats/pak.ksy file as a starting point and avoid modifying the generated parser code.
This tool relies heavily on @FlipperPlz's work in PakExplorer, the first open source tool for reading PAC1 files.