ElevenCloud72
Forum Noob
Hi there!
I'm a huge fan of Folklore for the PS3. Now I'm trying to hex edit savegames for it. The goal is to unlock hard-to-get content for the fan community to enjoy. I'm however struggling with edits corrupting the savegames, so I was hoping this forum could offer some support. Sorry for the large amount of text.
For starters, Folklore does apparently not use standard PS3 savegame encryption as it has no "secure file id" (according to Bruteforce Save Data), meaning savegames are "unprotected". The reason for corruption when hex editing appears to be a "checksum or integrity hash" (suggested by Chat-GPT) in the form of a 8-byte block - such as F1 12 48 0E B8 00 00 04 - at the very end of savegame data. This block, especially the five first bytes, completely changes even with small game changes. I assume the checksum must be calculated manually to include any hex edits, for which its algorithm must be discovered.
Further analysis of three similar savegames in Chat-GPT suggests that "none of the standard hash or checksum algorithms (like CRC32, Adler-32, MD5, SHA-1, or SHA-256) match the checksum" and that the algorithm (after Chat-GPT failed bruteforce) is possibly "more complex than simple sums or hashes, likely includes bit-level transformations or a secret key (possibly a keyed hash like HMAC, AES-based MAC, or something Sony-specific), or that the last 8 bytes are not a checksum at all but possibly an encrypted or compressed metadata block." I know nothing about encryption nor PS3 savegame mechanics, so assuming Chat-GPT isn't "hallucinating" I get the impression Folklore savegames are incredibly well protected.
And yet, cheats for Folklore do exist, available at the PS3 Artemis Codelist Database. I've gotten some of them to work by converting them to Artemis patches in RPCS3 per online guides. I've yet to succeed in making my own cheats based on what hex values I think must be edited, but that might be my own fault.
Any experienced PS3 modder would probably know what next step to take better than me, but I've got these questions:
I'm a huge fan of Folklore for the PS3. Now I'm trying to hex edit savegames for it. The goal is to unlock hard-to-get content for the fan community to enjoy. I'm however struggling with edits corrupting the savegames, so I was hoping this forum could offer some support. Sorry for the large amount of text.
For starters, Folklore does apparently not use standard PS3 savegame encryption as it has no "secure file id" (according to Bruteforce Save Data), meaning savegames are "unprotected". The reason for corruption when hex editing appears to be a "checksum or integrity hash" (suggested by Chat-GPT) in the form of a 8-byte block - such as F1 12 48 0E B8 00 00 04 - at the very end of savegame data. This block, especially the five first bytes, completely changes even with small game changes. I assume the checksum must be calculated manually to include any hex edits, for which its algorithm must be discovered.
Further analysis of three similar savegames in Chat-GPT suggests that "none of the standard hash or checksum algorithms (like CRC32, Adler-32, MD5, SHA-1, or SHA-256) match the checksum" and that the algorithm (after Chat-GPT failed bruteforce) is possibly "more complex than simple sums or hashes, likely includes bit-level transformations or a secret key (possibly a keyed hash like HMAC, AES-based MAC, or something Sony-specific), or that the last 8 bytes are not a checksum at all but possibly an encrypted or compressed metadata block." I know nothing about encryption nor PS3 savegame mechanics, so assuming Chat-GPT isn't "hallucinating" I get the impression Folklore savegames are incredibly well protected.
And yet, cheats for Folklore do exist, available at the PS3 Artemis Codelist Database. I've gotten some of them to work by converting them to Artemis patches in RPCS3 per online guides. I've yet to succeed in making my own cheats based on what hex values I think must be edited, but that might be my own fault.
Any experienced PS3 modder would probably know what next step to take better than me, but I've got these questions:
- Is trying to find the checksum algorithm a feasible goal, or is it likely impossible? Alternatively, is it impractical compared to other potential approaches?
- How do the existing Folklore Artemis cheats work, if they do not modify the savegames directly?
- An example of a hex value I think must be edited is address 00035CAB changing from 00 to 01. How would this look like as an Artemis patch in RPCS3? (example)
- I've read that some game developers to use "a custom additional encryption layer for their save files. In these cases you need to reverse-engineer the game itself." Is the Folklore 8-byte block a case of this?