Following his Crypto CoProcessor (CCP) Bug for PS4 Keys, the Gran Turismo 7 PS4 / PS5 Patch Issue Updates and HFW PS4 Extraction Tool today PlayStation 4 Scene developer @flatz released via Twitter a Gran Turismo 7 Unpacker Tool dubbed GT7Tool to decrypt and unpack PS4 files from GT7 archives for examination by modders and researchers including Nenkaai with further details in the Tweets below.
Download: gt7tool-main.zip / GIT
From the README.md: gt7tool
Gran Turismo 7 unpacker
Decrypts and unpack files from GT7 archives
Bump, Gran Turismo 7 unpacker
e.g.:
unfortunately we don't have file names inside archive anymore (to locate entry inside archive they use fnv1a hash of its file path)... so you need to collect them during play or grab them from resources, e.g. compiled scripts
i'm doing that on pc entirely
Can't say I didn't want to peek at that GT7 VOL first, alas modern day jailbreaks and exploits are hard to come across, but it does give motivation to understand how those work
Based on flatz's code, the GT7 Volume system is version 3 (GT5P = 0x5B745161, 5/6/SP = 0x5B745162, 7 being 0x5B745163). It's still looks like a brand new volume system however, but it looks easier as-in, using generic crypto that older games already used.
The fact that volume paths are replaced by hashes is annoying, but usually mitigated by the fact that scripts and other files are generally verbose about paths.
It's also interesting to see that the PS4 does use Kraken for compression, where I would expect it to be a PS5-only implementation.
All in all, this is huge, flatz once again starting things up for potentially starting research regarding GT7. Kudos to him.
as i see kraken is mentioned in the code (don't remember if I've seen class to decompress it), but i didn't see such files on ps4 version, and it seems zstd is used here only
Spoiler
Download: gt7tool-main.zip / GIT
From the README.md: gt7tool
Gran Turismo 7 unpacker
Decrypts and unpack files from GT7 archives
Bump, Gran Turismo 7 unpacker
e.g.:
Code:
python3 -m gt7tool -v unpack contents/gt.idx scripts/gt7/main.adc
i'm doing that on pc entirely
Can't say I didn't want to peek at that GT7 VOL first, alas modern day jailbreaks and exploits are hard to come across, but it does give motivation to understand how those work
Based on flatz's code, the GT7 Volume system is version 3 (GT5P = 0x5B745161, 5/6/SP = 0x5B745162, 7 being 0x5B745163). It's still looks like a brand new volume system however, but it looks easier as-in, using generic crypto that older games already used.
The fact that volume paths are replaced by hashes is annoying, but usually mitigated by the fact that scripts and other files are generally verbose about paths.
It's also interesting to see that the PS4 does use Kraken for compression, where I would expect it to be a PS5-only implementation.
All in all, this is huge, flatz once again starting things up for potentially starting research regarding GT7. Kudos to him.
as i see kraken is mentioned in the code (don't remember if I've seen class to decompress it), but i didn't see such files on ps4 version, and it seems zstd is used here only
Spoiler