PS3 Apollo save tool (development thread)

@bucanero You can also try mention function in forum but he seldom replying. ^^ His is one of those guys hard to reach.

I don't want You overthrow of the feature requests but since You have ready to go code for save resigning, You can simply add trophies export/import (all at once of course, without hacking them, just replacing current set (all trophy data is stored in "dev_hdd0/home/<user number>/trophy/")) because signing is exactly (?) the same, just few additional keys are required. Flatz tools also supporting both. And if we can get that, You can... also add licenses backup/restore (without generating/cracking etc. to avoid legal issues (all are in home "/exdata")). Such omni tool would makes life of normal users a lot easier and turned Apollo into AIO tool for user data backup purposes. As I said, just an idea but at least worth to think about it, and it should be very quick and easy to implement. Peoples still using this ugly, closed, slow, encrypted and buggy System Backup. :(

@Luisile If I understand the whole process good, then yes, but only if Your user NP Account ID on CFW is the same as on target user on OFW. Thankfully, Sony writing NPAID in PARAM.SFO of saves in plain text and on PS4 making dir named by NPAID during exporting (NPAID is the same across all Sony consoles for the same user). :] However, if You not have binded user with SEN account on OFW console, the resigning is impossible (?) because ownership in such case based on User Number + Console ID and not on NPAID alone.
 
Last edited:
hopefully we'll be able port those features to the ps3. I'll update when I have more information.

quick update: I was able to get in touch with Aldos and he kindly shared the sources related to handling the save-game cheats (.ps3patch) from Bruteforce data. :encouragement:
Also, he explained that there are actually 2 types of codes: one format is "Game genie" codes and the other is the own Bruteforce format.
Keep in mind that the original code is in Visual Basic 5, so don't expect this feature to be ready tomorrow with just "copy&paste".

The first step in the road to adding this feature is done, I have the information and code to understand how it works. :)

I'm thinking about starting with adding one format first (e.g. Game genie codes), and see how it goes.
 
@bucanero You can also try mention function in forum but he seldom replying. ^^ His is one of those guys hard to reach.

I don't want You overthrow of the feature requests but since You have ready to go code for save resigning, You can simply add trophies export/import (all at once of course, without hacking them, just replacing current set (all trophy data is stored in "dev_hdd0/home/<user number>/trophy/")) because signing is exactly (?) the same, just few additional keys are required. Flatz tools also supporting both. And if we can get that, You can... also add licenses backup/restore (without generating/cracking etc. to avoid legal issues (all are in home "/exdata")). Such omni tool would makes life of normal users a lot easier and turned Apollo into AIO tool for user data backup purposes. As I said, just an idea but at least worth to think about it, and it should be very quick and easy to implement. Peoples still using this ugly, closed, slow, encrypted and buggy System Backup. :(

oh I never messed around trophies, I saw some keys and reference stuff in flatz's tools but didn't pay attention to it. I guess it could be tagged as "nice to have" but not critical right now.

The license backup/restore (without any generation), just copying the .RIFs from user HDD to/from USB sounds like a handy backup feature, even if it's not related to save-games. Looks like I'll end up using those extra pillars heheh :D
 
If You haven't time to look into trophies resigning, still it would be nice to just backup/restore them. Resign saves will have always more sense than trophies, because of save sharing so it's ok to me anyway.

I'm just asking because I must design the menu and objects order. To keep all those shadows is a little tricky and changes in this case are time consuming. ^^
 
If You haven't time to look into trophies resigning, still it would be nice to just backup/restore them. Resign saves will have always more sense than trophies, because of save sharing so it's ok to me anyway.

I'm just asking because I must design the menu and objects order. To keep all those shadows is a little tricky and changes in this case are time consuming. ^^

Yes, indeed, having an option to backup/restore would be nice and useful, even without resigning.
For a first version of the feature, I was thinking about having a "user data" menu item (or maybe "user backup"?) , and in there you'd find options to:
  • backup/restore trophies (no resign)
  • backup/restore licenses (just transfer the .rif files)
  • export user-id/psid/account-id (the ownership.txt you mentioned)
the other stuff like ps2/psx/psp saves I think it make sense to keep it under the USB saves / HHD saves menus.

So back on topic about the design and stuff, I'd say having 1 additional pillar for the "user data backup" would be nice, so then I can put all the backup options there. What do you think?

cheers
 
quick update: I was able to get in touch with Aldos and he kindly shared the sources related to handling the save-game cheats (.ps3patch) from Bruteforce data. :encouragement:
Also, he explained that there are actually 2 types of codes: one format is "Game genie" codes and the other is the own Bruteforce format.
Keep in mind that the original code is in Visual Basic 5, so don't expect this feature to be ready tomorrow with just "copy&paste".

The first step in the road to adding this feature is done, I have the information and code to understand how it works. :)

I'm thinking about starting with adding one format first (e.g. Game genie codes), and see how it goes.

As I mentioned to you in my post on github, part of the patching code is not only related to apply the patches (e.g. GameGenie codes).

You will also have to add various hash algorithms (CRC32, CRC32 big, CRC32 jam, MD5, SHA1, Adler32, Adler16, EAchecksum, etc.) and a way to identify the range to calculate and where to store the hash value. This is done by Bruteforce SD using its proprietary script language (included in the code that I shared).

Without the anti-tamper code, several games will not be able to use the patched saves.

Note: I didn't include the checksum algorithms, due almost all are standard algorithms.
 
Last edited:
And some games have second encryption layer made by game developer, implemented on game side (remasters of FFX/FFX-2?).

About menu:
So we now in main menu screen should have, right (in that order?)?
  • USB Saves
  • HDD Saves
  • User Backup
  • Online DB
  • Settings
  • About
Personally I'm ok with it. If in future we need some more options, we can still have one free "slot", or even two if we reduce the free space between the pillars/pedestals.

VMC are not saves. They are virtual memory cards but in this case we can put them on the list with other saves because for importing/exporting single save files, XMB have good enough mechanism so we don't need to bother with *.psv and other stuff like that. I was even thinking before about it and added just banner with tag (PS1, PS2, PS3, PSP) to easier recognition. ^^

That will be a real awesome application. ^^ Currently all of this can be made by file manager or FTP client but it is a little annoying to do it by hand. So I'm sure all the PS3 veterans will appreciate it.

If You implement some checksums, it is also a nice idea to calculate them (even simple and light CRC32) for all backup/restored stuff. As the way of data integrity check which currently no of the apps offering.

In summary that's a lot of work for You but we writing history here, You know. :D
 
And some games have second encryption layer made by game developer, implemented on game side (remasters of FFX/FFX-2?).

About menu:
So we now in main menu screen should have, right (in that order?)?
  • USB Saves
  • HDD Saves
  • User Backup
  • Online DB
  • Settings
  • About
Personally I'm ok with it. If in future we need some more options, we can still have one free "slot", or even two if we reduce the free space between the pillars/pedestals.

I was thinking to put "User Backup" after the Online DB (before settings), as I hope that the online feature will get more usage if the DB starts to grow with more save files:
  1. USB Saves
  2. HDD Saves
  3. Online DB
  4. User Backup
  5. Settings
  6. About

VMC are not saves. They are virtual memory cards but in this case we can put them on the list with other saves because for importing/exporting single save files, XMB have good enough mechanism so we don't need to bother with *.psv and other stuff like that. I was even thinking before about it and added just banner with tag (PS1, PS2, PS3, PSP) to easier recognition. ^^

yes, I was thinking about adding icons next to the save titles to visualize some details quickly.
For example, right now if a save is locked, I add the text "Lock" next to the save. That could be just a "lock icon", and it would save space to add other icons such as owner icon (a little person or something to show when the save already has your account-id), a type icon (PS3 icon, Ps2, psp), etc.

That will be a real awesome application. ^^ Currently all of this can be made by file manager or FTP client but it is a little annoying to do it by hand. So I'm sure all the PS3 veterans will appreciate it.

If You implement some checksums, it is also a nice idea to calculate them (even simple and light CRC32) for all backup/restored stuff. As the way of data integrity check which currently no of the apps offering.

In summary that's a lot of work for You but we writing history here, You know. :D

yes, I know that everything can be done already (either by FTP, file manager, using local PFD tools, etc) but having everything right on your PS3 saves a lot of time and I believe it can be quite handy for most users.

For the trophy or .rif's export, I was thinking about adding a simple .SFV text file, with all the filenames and CRC32 . There are tons of apps that can read and check .SFV files, so that way the user won't need any special tool to verify the export.

Yeah, there's a ton of work and features, (some are easy, some medium, some hard), but anyways I'll try to go slow, adding small features first and then improve/grow them.
 
As I mentioned to you in my post on github, part of the patching code is not only related to apply the patches (e.g. GameGenie codes).

You will also have to add various hash algorithms (CRC32, CRC32 big, CRC32 jam, MD5, SHA1, Adler32, Adler16, EAchecksum, etc.) and a way to identify the range to calculate and where to store the hash value. This is done by Bruteforce SD using its proprietary script language (included in the code that I shared).

Without the anti-tamper code, several games will not be able to use the patched saves.

Note: I didn't include the checksum algorithms, due almost all are standard algorithms.

thanks @aldostools ! yes, I saw that the patch files in some cases also include references to hashes (crc32, md5, etc)
I hope to translate the VB code properly first, so I can detect and manage the BSD script language, and then I'll get into the patching part.

No worries about the checksums algorithms, for the standard ones I'll just look for open-source C implementations. If there's some custom algo that I can't find any source or info, then I'll ping you back.

thanks for your help!
 
btw, I'm not an expert on BSD patches, but as I understand, before applying any binary patch, the file needs to be decrypted with PFD tools , right?
then after the patch, you have to encrypt the file again, and resign everything.

please correct me if I'm wrong
 
hello guys i want to add something that i managed to check today on apollo pkg, it is that for example there are saves that on the evil within this one does not allow to be copied into a usb device on the ps3 system but when i tried to remove the copy protection somehow is not working for these kind of games that does not allow to copy saves to external drives, such as driver san francisco, mass effect saga games, lollipop chainsaw, final fantasy lightning return autosave, those are the ones that i manage to test and the removal of copy protection does not work, still this same post i will added it on the original post from apollo thread just in case, thank you in advance have a nice day.
 
@Cypher_CG89 You missed his point. Apollo offering to remove CP, so ALL saves should be copyable after unlock them.

@ashura Could You try unlock save and after that rebuild database? Maybe CP is also part of XMB db and it is not checking in real time. No one before doing it on PS3 so no one yet test it. If You be able to copy such saves after rebuilding database (i.e from recovery mode), then it is important information to @bucanero to also updating db, to avoid such inconvenience. There is no any other Copy Protection mechanism on saves than parram in SFO and eventually guarded by PFD (because not all are guarded). Worth to mention, to of course don't overwriting such save by game until copy try because it is possible that CP will returned and test will fail.
 
@Berion , I think saves may be in there. I know that ps1/2 memory cards are. it could be the reason why injecting saves required opening the game first in order to update the database.
 
@Cypher_CG89 You missed his point. Apollo offering to remove CP, so ALL saves should be copyable after unlock them.

@ashura Could You try unlock save and after that rebuild database? Maybe CP is also part of XMB db and it is not checking in real time.

No I did not miss any point. My point was that most profiles are the ones copy protected and was pointing out that ONLY Profile saves on Mass Effect games are Copy protected... This goes for all the ME games so normal game save should be fine.. And most of the time these are the one's with extra "game dev" protection. EG COD profiles normally have this as well.
 
@Cypher_CG89 He said that he unlock them and still cannot copy. It doesn't matter if only profile cannot be copied because it is the only one which will be unable to check in mass copy function from XMB; he doesn't precise it but I believe this was mind shortcut.

And most of the time these are the one's with extra "game dev" protection.

I don't understand what are You talking about. The only kind of Copy Protection of PS3 saves, is CP parram inside "PARAM.SFO", which is often but not always protected by "PARAM.PFD". So what is this "game dev protection" which You talking about and in what titles?

- - -
@pinky Saves are for sure but the question is with or without CP information.
 
that I don't know. I spent a lot of time looking at the database, but that was many years ago. I think just for normal hex, you could map out what's what. someone made a database builder, but I have no idea if it works. someone tried coping another of his databases (same system; same profile), and it didn't work. it probably forced a rebuild of the database. I've never tried that on the ps3, but there have been a couple times it's happened with the vita.
 
He said that he unlock them and still cannot copy. It doesn't matter if only profile cannot be copied because it is the only one which will be unable to check in mass copy function from XMB

FFS..... :sang banghead::sang banghead:

I am saying the that Mass Effect saves ARE NOT COPY PROTECTED in the first place. You do not need to "unlock" them to copy to USB!!! Only Profile save's, which is just your player profile> playtime, achievements etc, are the only one that are copy protected!!! Which do not really matter.
 

Similar threads

Back
Top