PS3 Apollo save tool (development thread)

btw, a useful page I found that was helpful to identify encryption algorithms when I was reversing those "pokemon" tools:
https://ohmygodlin.github.io/ctf/bin/2018/07/31/常用算法反编译的代码/

The page has decompiled source examples of many algos like Blowfish, DES, AES, and it was helpful to guess the original method from my decompiled binaries (decompiled using Ghidra)

Note: use google translate because original site is in chinese.
 
hi, how to convert ps2 save different type whit appollo save tool on ps3 i try but is not working for me, i try whit psv save us to convert eu but is not working can i have some explications please
 
hi, how to convert ps2 save different type whit appollo save tool on ps3 i try but is not working for me, i try whit psv save us to convert eu but is not working can i have some explications please

there's no support for region conversion with PS2 saves. If you want to convert US to EUR ps2 files, you'll have to do it with a computer tool or save editor /manager.
 
ok but i have mac and psésave converter not working for me i dont have window

the psv save converter does not change the region of PS2 saves either. (a USA save will remain a USA save)
I'm not aware of any PS2 save manager for mac; you'll need to use Windows or ask around in PS2 forums.
 
Converting region of saves, means changing their names. In most cases. In other cases, conversion is not possible without dedicated application which handle both regions file format.
 
Honestly, the encryption scheme looks quite complex, and I really wonder if it's custom made by Square Enix devs or perhaps it's a standard algorithm that I couldn't recognize. I actually googled for a certain constant "0xA1652347" and the only 1 match I've got, was actually another ps2 save decoder for Final Fantasy VII.

to continue the story about Final Fantasy decrypters, in the end the XIII algorithm was indeed the same algo used in PS2 "Dirge of Cerberus: Final Fantasy VII", but with a different master key. (apparently the developer of XIII and Dirge was the same dev)

Anyways, I replaced my reversed (and ugly) code with the decryption source code from the Dirge save editor. I also cleaned up the key-generation function from the FXIII decrypter. Now I can say that the code is neat and clean, and actually can be understood by anyone who wants to dig into these things.

one a side note, I added a checksum fixer for Kingdom Hearts Re: Chain of Memories.
 
Last edited:
as I'm getting closer to complete the implementation of trophy unlock/resign ... is anyone available for testing?
The feature is strongly based on the PS3TrophyIsGood tool, so it should provide the same results /limitations.

please, only serious testers that have time and patience to test a few scenarios with a CFW/HEN ps3.

Having a rough idea of how to use PS3TrophyIsGood should also help a lot with testing.
 
Bonjour @bucanero.

J'ai quelques expériences avec le fonctionnement du "PS3TrophyIsGood" car je l'ai utilisé quelques fois mais très peu.
Je possède une PS3 de modèle CECH-4204C (une SuperSlim avec un DD des 500Go d'origine).
Cette console est sous le HFW-4.87.1 et HEN-3.0.2. wMM est le 1.47.34 dernière version à jour.

J'ai déjà fait un essai de transfert d'un Trophée d'un compte (cession) à un autre sur cette console et cela n'a pas fonctionné [le jeu étant GT5 (Gran Turismo 5) lui aussi avec toutes les révisions à jour]. J'ai utilisé Apollo v1.5.0 mais quand le jeu s'est lancé, j'ai eu une erreur de type 8002xxxx qui est apparue et sortie du jeu.

Explique-moi comment faire ce travail correctement (un mode d'emploi) et je veux bien faire quelques tests de ta dernière version de Apollo v1.5.5. Si je dois te fournir quelques "Trophées", je te les ferai passer par voix de Mail (idem que ma mauvaise SAVE de GT5).

Je possède aussi une PS3 sous le CFW "Rebug-4.84.2" type REX mais elle n'est pas destinée à faire ce genre de test, je verrai à l'occasion si l'envie m'en prend.


I have some experiences with the operation of the "PS3TrophyIsGood" because I have used it a few times but very little.
I have a PS3 model CECH-4204C (a SuperSlim with a HD of the original 500GB).
This console is under HFW-4.87.1 and HEN-3.0.2. wMM is the latest version 1.47.34 updated.

I have already tried to transfer a Trophy from one account (assignment) to another on this console and it did not work [the game being GT5 (Gran Turismo 5) also with all the revisions to day]. I used Apollo v1.5.0 but when the game launched I got an 8002xxxx type error which appeared and exited the game.

Explain to me how to do this job correctly (a manual) and I will do some tests of your latest version of Apollo v1.5.5. If I have to provide you with some "Trophies", I will send them to you by mail (same as my bad SAVE from GT5).

I also have a PS3 under the CFW "Rebug-4.84.2" type REX but it is not intended to do this kind of test, I will see occasionally if I feel like it.
 
as I'm getting closer to complete the implementation of trophy unlock/resign ... is anyone available for testing?
The feature is strongly based on the PS3TrophyIsGood tool, so it should provide the same results /limitations.

please, only serious testers that have time and patience to test a few scenarios with a CFW/HEN ps3.

Having a rough idea of how to use PS3TrophyIsGood should also help a lot with testing.
I think I'm able to help to test this. I have 2 PS3, a 2501 and a 3001. CFW and HEN.
 
Bonjour @bucanero.
I have already tried to transfer a Trophy from one account (assignment) to another on this console and it did not work [the game being GT5 (Gran Turismo 5) also with all the revisions to day]. I used Apollo v1.5.0 but when the game launched I got an 8002xxxx type error which appeared and exited the game.

yes, if you transferred a trophy file between accounts it would have failed, as the current version 1.5.5 doesn't update the account_id info in the trophy files: PARAM.SFO, TROPUSR.DAT, TROPTRNS.DAT
So it would only work if you resign a trophy-set made by your own account (for example, if you had a backup from your ps3)

in the new version I'm adding more code to update the account_id, and change other values to the trophy-sets
 
yes, if you transferred a trophy file between accounts it would have failed, as the current version 1.5.5 doesn't update the account_id info in the trophy files: PARAM.SFO, TROPUSR.DAT, TROPTRNS.DAT
So it would only work if you resign a trophy-set made by your own account (for example, if you had a backup from your ps3)

in the new version I'm adding more code to update the account_id, and change other values to the trophy-sets
Btw, probably you already know it, but worths to be mentioned...
If the "source" and "target" users are in the same PS3 and are not registered in PSN (in other words, have an account_id filled with zeroes) the trophy import/export is as simple as this procedure:
1) copy files from source account
2) paste files in target account
3) rebuild database
4) profit

Is just a copypaste, this allows to share trophies in between user accounts, and allows to format or replace the hdd, create a new account and just "paste" the trophy files in the new user account

------------
And im wondering if this same procedure works also in between different PS3's
 
Last edited:
@Algol @jcorrea @Berion

I'm going to send a test build, it's a clean EBOOT.BIN, just replace it over a current installation of Apollo v1.5.5

There are two scenarios to test: a user account not linked to PSN (a local account) and a linked account (with an account_id)

I'd suggest to start with an unlinked account. Also, for linked account test, I'd suggest testing with dummy accounts (not a real one with your purchases)

How to use the new functionality:
  • Open the Trophies menu
  • a list of the current trophy-set for the account shows up
  • select a trophy set
  • A list of trophies for that game shows up:
    • you'll see some icons next to the trophy name
    • if there's a "Lock" icon, it means the trophy is locked.
    • if there's a "circle arrow" icon, it means the trophy is synced with PSN (can't be modified)
    • no special icon means the trophy is unlocked but not sync'ed.
  • you can select any "non-synced" trophy to change the status
    • if you select a locked trophy, it will be unlocked
    • if you select an unlocked (not-synced) trophy, it will become locked again
  • after you select the trophies you want to change....
  • click "Apply changes & resign trophy"
Apollo will decrypt, apply changes to the trophies, encrypt, and resign everything.

As the XMB database is not updated with these changes, you won't see any change on the "trophy" XMB tab.

Tests:
  1. A simple first test after the modification is to launch the game, and see if it boots or fails with a trophy error.
  2. Another test would be to rebuild the database after the trophy changes
  3. If the account is linked, you can test to sync the trophy with PSN
  4. In some tutorials, I saw that they actually try to "compare trophies" with a PSN friend, instead of sync. (??) They also mention that "When syncing you should get an error and hopefully it will the 80022d55 error. It's the only error thats acceptable. "

please, run some tests when you have a chance, and report your results. Any HEN or CFW ps3 should be enough.
>>> Before you start testing, remember to click the "Enable Debug Log" on the Settings menu. That will save a .log file to /dev_hdd0/tmp/apollo.log

Note: before I forget, remember that you shouldn't unlock a Platinum trophy unless you have all the other trophies unlocked first. Apollo is not validating that right now, and I'm sure that's something that the PS3 will reject if detected.

Note 2: as said before, before testing online, use a disposable account (just in case), and make backup of your trophies before patching, so we can compare in case of errors. (Apollo has options to backup/export trophy-sets)

EBOOT link will be sent over pm. (check your inbox)
 
thanks to @jcorrea 's testing and help, I've fixed a small offset bug, and we can confirm that the trophy editing function works properly for both offline account and online accounts (linked to psn) :D

The basic process is the same as noted above: you edit your trophy-sets as required, and then rebuild the database to refresh the changes. Then you can go and sync trophies (or keep playing offline).

One related question: Apollo can currently export, but I didn't add an "import trophy-set" option. I wasn't sure if copying a trophy-set folder and rebuilding the database was enough for the "import", or if you actually needed to run the game to install the trophies.

if someone can confirm that copying a trophy folder (and rebuilding the DB) is enough to import a trophy-set, then I'll add an import option so every step of the "trophy road" is covered. ;)
 
thanks to @jcorrea 's testing and help, I've fixed a small offset bug, and we can confirm that the trophy editing function works properly for both offline account and online accounts (linked to psn) :D

The basic process is the same as noted above: you edit your trophy-sets as required, and then rebuild the database to refresh the changes. Then you can go and sync trophies (or keep playing offline).

One related question: Apollo can currently export, but I didn't add an "import trophy-set" option. I wasn't sure if copying a trophy-set folder and rebuilding the database was enough for the "import", or if you actually needed to run the game to install the trophies.

if someone can confirm that copying a trophy folder (and rebuilding the DB) is enough to import a trophy-set, then I'll add an import option so every step of the "trophy road" is covered. ;)
"Import option" is the last thing, related to user data backup, to be added to Apollo. If it's possible, it will be fantastic :D. (Apollo is already a must have application, but... this feature will add the "icing on the cake" on Apollo).
Another thing I noticed is about copy performance. When exporting trophies (or saves), the copy takes too long to complete (to export about 6MB of data, it took about 2~3 minutes). Probably a PSL1GHT limitation...
 

Similar threads

Back
Top