Proceeding the PS4 PKG Info on PlayStation 4 Packages and Keys by the legendary maxton (R.I.P.), today PS4Scene developer @flatz announced on Twitter the release of an ongoing PKG_PFS_Tool project spanning several years that unpacks PS4 PKGs / PFS / Save Games and can generate GP4 files for building PKGs including all keys provided you have the correct key sets! 
Download: pkg_pfs_tool-main.zip / GIT / pkg_pfs_tool (0.61 MB - Precompiled) / Mirror via _nyannoying / ppt182.7z (195.69 KB - Windows Binary - pkg_pfs_tool.exe) via @dankmoor / pkg_pfs_tool_win64.rar (0.36 MB - Win64, includes pkg_pfs_tool.exe and zlib1.dll) / pkg_pfs_tool.rar (227 KB - Windows Binary - pkg_pfs_tool.exe) via @jocover on Twitter / pkg_pfs_tool_msys2.rar (1.29 MB - Compiled for Windows, includes pkg_pfs_tool.exe, msys-z.dll, msys-2.0.dll and msys-gcc_s-seh-1.dll) / pkg_pfs_tool_macos_x86_64.zip (0.17 MB - Compiled for MacOS, includes pkg_pfs_tool and config.ini)
Below is a brief recap of some related articles for those new to the PlayStation 4 Scene, sorted by date with the oldest first:
Dependencies:
To produce windows executable from ubuntu-ish via mingw:
Then pass e.g.
to cmake.
P.S. In memory of Maxton Garrett (maxton), this release is dedicated to you.
to compile tool you need to compile mbedtls release 2.27 and in options enable CMAC_C in config.h and also add option -fPIE to CMakeLists.txt in project
i'm not sure if i already shared this, but here it goes again, in case i already have:
Spoiler
with this you should be able to decrypt fpkg, using flatz's pfs_pkg_tool. however, since the tool does not support multithreading (yet), the prefered way will still be maxton's tool.
i have also added some notes about flags used in Non Volatile Storage on the ps4devwiki, which you can find here: Non_Volatile_Storage
Permanently Enabling NVS Flags when Servicing PS4 or PS5 Unit
Non Volatile Storage Flags (such as IDU Mode or permanent UART) sometimes do not apply correctly.
The reason for this is because all of these flags are stored in the memory of the southbridge (which persists after reboots as long as battery is on)
So you must completely drain the power battery by removing the power cable and, if necessary, remove CMOS battery to completely drain.
Finally, if that doesn't work, recheck if you have written the flag correctly. Sometimes that may not happen. Credit to @flatz for this information.
Download: pkg_pfs_tool-main.zip / GIT / pkg_pfs_tool (0.61 MB - Precompiled) / Mirror via _nyannoying / ppt182.7z (195.69 KB - Windows Binary - pkg_pfs_tool.exe) via @dankmoor / pkg_pfs_tool_win64.rar (0.36 MB - Win64, includes pkg_pfs_tool.exe and zlib1.dll) / pkg_pfs_tool.rar (227 KB - Windows Binary - pkg_pfs_tool.exe) via @jocover on Twitter / pkg_pfs_tool_msys2.rar (1.29 MB - Compiled for Windows, includes pkg_pfs_tool.exe, msys-z.dll, msys-2.0.dll and msys-gcc_s-seh-1.dll) / pkg_pfs_tool_macos_x86_64.zip (0.17 MB - Compiled for MacOS, includes pkg_pfs_tool and config.ini)
Below is a brief recap of some related articles for those new to the PlayStation 4 Scene, sorted by date with the oldest first:
- How to Bypass PFS Protection PlayStation 4 Tutorial
- GameArchives ArchiveExplorer with PS4 PFS Extractor
- MakePFS: Utility to Build PS4 PFS (PlayStation File System) Images
- PS4 Sealedkey / pfsSKKey for SaveGame & Trophy Data Decryption
- GenGP4 GP4 AIO Generator Utility (Replaces PKG Kitchen)
- GenGP4-Patched.exe Patched by LMAN
- PSFSKKey: PS4 SaveGame Decryption Tool
- PlayStation 4 PKG / PFS Structure
- LibOrbisPKG Library for PS4 Packages
- Rock Band 4 (RB4) Custom PS4 DLC Building Tools & Guide
- PKGEditor for PS4 Updated bwith EKPFS / XTS Key Support
- PlayStation 4 PKG Information on PS4 Packages and Keys
Dependencies:
- mbedtls
- uthash
- zlib
Code:
sudo apt install libmbedtls-dev uthash-dev zlib
Code:
sudo apt install mingw-w64 libz-mingw-w64-dev
Code:
-DCMAKE_TOOLCHAIN_FILE=../cmake/mingw-w64-x86_64.cmake
P.S. In memory of Maxton Garrett (maxton), this release is dedicated to you.
to compile tool you need to compile mbedtls release 2.27 and in options enable CMAC_C in config.h and also add option -fPIE to CMakeLists.txt in project
i'm not sure if i already shared this, but here it goes again, in case i already have:
- config.ini (11.02 KB)
Spoiler
with this you should be able to decrypt fpkg, using flatz's pfs_pkg_tool. however, since the tool does not support multithreading (yet), the prefered way will still be maxton's tool.
i have also added some notes about flags used in Non Volatile Storage on the ps4devwiki, which you can find here: Non_Volatile_Storage
Permanently Enabling NVS Flags when Servicing PS4 or PS5 Unit
Non Volatile Storage Flags (such as IDU Mode or permanent UART) sometimes do not apply correctly.
The reason for this is because all of these flags are stored in the memory of the southbridge (which persists after reboots as long as battery is on)
So you must completely drain the power battery by removing the power cable and, if necessary, remove CMOS battery to completely drain.
Finally, if that doesn't work, recheck if you have written the flag correctly. Sometimes that may not happen. Credit to @flatz for this information.