Releases: VIRUXE/rpf-cli
Releases · VIRUXE/rpf-cli
v0.4.0
v0.3.0
Changes
New features
ytdsubcommand — extract textures from a.ytdfile inside an RPF archive as DDS files:Reports texture name, dimensions, format, and mip count for each extracted file.rpf ytd <archive.rpf> <name.ytd> [--output DIR]
Dependencies
- Upgraded to rage-rpf 0.2.0 (RPF7 write support + YTD parser)
v0.2.0 — AES/NG decryption and resource-file fix
What's new
This release adds support for opening and extracting encrypted RPF archives from GTA V, and fixes resource-file handling so resource sizes are reported correctly and extracted files have valid RSC7 headers.
Cryptography
- AES-256 ECB and GTA V's custom NG block cipher (Jenkins-hash keyed from 101 round keys and 272 lookup tables).
--keys <DIR>global flag: point at a directory containinggtav_aes_key.dat,gtav_ng_key.dat, andgtav_ng_decrypt_tables.datto open AES/NG archives.rpf extract-keys --exe GTA5.exe --output <DIR>: pulls the three key files out of a GTA5.exe binary via SHA-1 anchor search.
Resource file fix
- Resource file sizes are now read from the entry header (previously always reported as
0). - Resource entries sized
0xFFFFFFare resolved by reading the size from the in-RPF body header. - On extraction, resource payloads are wrapped in a fresh standalone RSC7 header preserving the original system/graphics page flags — the output is a valid
.yft/.ytd/.ydras expected by FiveM and other tooling.
Also
info,list,tree,verify, andextractall accept--keys.- Encryption bit on binary file entries is now honored (was silently ignored before).
Usage
# Opens an OPEN / unencrypted RPF (no keys needed)
rpf tree dlc.rpf
# Opens an AES or NG-encrypted RPF
rpf --keys ./keys extract x64/common.rpf --output common/
# Pull keys out of GTA5.exe once and save them
rpf extract-keys --exe /path/to/GTA5.exe --output ./keys
First Release
0.1.0 Remove known issues section from README.md to streamline documentatio…