A Rust library and toolset for working with PlayStation 4 PKG and PFS file formats.
cargo install orbis-pkg-utilRequires Rust. Compiles on Windows, Linux, and macOS.
cargo build --releaseBinaries will be in target/release/. To install them into your Cargo bin directory:
cargo install --path orbis-pkg-utilExtract a PKG file (output directory defaults to title ID):
orbis-pkg-util extract game.pkgView PKG metadata:
orbis-pkg-util metadata game.pkgList PKG entries:
orbis-pkg-util list game.pkg| Crate | Description |
|---|---|
| orbis-pfs | Library for reading PFS (PlayStation File System) images |
| orbis-pkg | Library for parsing and extracting PS4 PKG files |
| orbis-pkg-util | Command-line utility for PKG operations |
Although the orbis-* crates have not been specifically optimized for performance, they perform well in practice. Benchmarked with a ~30 GB Bloodborne PKG (CUSA03173_01) on a test system (Intel W-3175X, Samsung 990 Pro NVMe, 192 GB DDR4-4000 6-channel):
| Tool | Min | Avg | Max |
|---|---|---|---|
orbis-pkg-util |
9 s | 16 s | 23 s |
shadPKG |
73 s | 73 s | 75 s |
- shadPS4 — motivated this project. Its since-removed PKG install code served as the initial reference for understanding PKG and PFS structures.
- Obliteration — provided a valuable Rust reference implementation for working with these formats.
- shadPKG — used as a known-good tool for validating and debugging extraction output.
- PSDevWiki — community-reverse-engineered specifications for the PKG and PFS formats.
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.