Skip to content

[Feature Request] Support PFD protected save data #9580

Open
@MSuih

Description

@MSuih

Quick summary

Add some kind of support for save files taken from PS3, which are protected with Protected Files Database files.

Details

Saves (and trophies) on PS3 are hashed and encrypted to prevent users from modifying them. This process of encryption, decryption and hashing automatically handled by firmware and thus transparent to games themselves. On RPCS3, this is currently not implemented and save data is saved to and read from dev_hdd0 as-is.

This forces users to use external programs to decrypt their PS3 saves (like Bruteforce Save Data, which is closed source, windows-only and seems unneccessary complicated for casual use). I think we could implement some kind of built-in support for using PS3 save data on the emulator.

Exporting saves from RPCS3 to PS3 would be a nice feature as well, there is multiple use cases for that. That would require encryption and hash calculation, but on top of that our PARAM.SFO generation needs to be adjusted so that it is identical to what PS3 generates. Or if that is not feasible then a conversion routine should be implemented.

Possible ways to implement this support:

  • Add import(/export?) feature to save manager for users who want to transfer saves between PS3 and RPCS3.
  • Automatically detect PFD files and do same encryption/decryption/hashing steps as is done on real PS3.
    • I don't think it is neccessary for us to encrypt every save done on emulator, but it could be implemented if it doesn't take too much resources.

Resources

https://www.psdevwiki.com/ps3/PARAM.PFD (includes two example saves)
https://www.psdevwiki.com/ps3/PS3_Savedata

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions