Unreal Engine .pak file library and CLI in rust
Find a file
2023-01-19 01:31:04 -06:00
examples Handle AES key parsing outside of pak 2023-01-17 00:54:05 -06:00
src Fix v8 footer size 2023-01-19 01:31:04 -06:00
tests Check mount point in test 2023-01-19 01:31:04 -06:00
.gitignore Add tests for v5, v7-v9, v11 2023-01-19 01:31:01 -06:00
Cargo.toml Add tests for v5, v7-v9, v11 2023-01-19 01:31:01 -06:00
README.md make proper api + example + README 2023-01-14 18:32:06 +00:00

unpak

a no-nonsense unreal pak parser

  • doesn't force files to be extracted
  • only converts entries to bytes when requested
  • supports up to frozen index (4.25) paks (planned support for higher)
  • supports compressed and encrypted paks
  • supports iteration over entries

click for example code

the problem

looking at the libraries for pak reading, they were never not quite right for what i wanted to do:

  • rust-u4pak - excellent support but very limited api
  • ue4pak - excellent api but no support for extraction
  • unrealpak - excellent api but only supports version 8
  • rust-unreal-unpak - is async only supports version 10

so i just though fuck it i'll do it myself and did it myself

references

although the api of rust-u4pak wasn't very friendly, the README went into beautiful detail into the intricacies of the file format and when the readme had incorrect info cough cough encryption uuid cough cough the source code also had the answers as long as you looked hard enough