rakesh37187 / BBSaveEditor

A simple python script for easily modifying bloodborne save data. This is a work in progress and might not work as I have also used some weird method to find certain memory places.
2 stars 1 forks source link

What file do I need to load in order to be able to edit it? #1

Closed michaelbub closed 2 years ago

michaelbub commented 2 years ago

Title.

How do I need to export my BB save, what part do I then load into BBSaveEditor?

Thanks.

rakesh37187 commented 2 years ago

You extract the save from your PS. It has to be decrypted though. This can be done through something like SaveWizard or by extracting it decrypted from a jailbroken PS4. I don't know how to decrypt the save file so the program won't be able to do that making it a save editor but not a decrypter.

michaelbub commented 2 years ago

FYI.

I have some savegames exported via Apollo and that gives you a bunch of files per savegame.

size, filename
1310720, backup0000
262144, backup0010
1310720, userdata0000
1310720, userdata0001
1310720, userdata0002
1310720, userdata0003
1310720, userdata0004
1310720, userdata0005
1310720, userdata0006
1310720, userdata0007
1310720, userdata0008
1310720, userdata0009
262144, userdata0010

and backup0000 and userdata0000 both start with 00000000 41 00 00 00 00 00 01 18 b1 ee 2c 00 54 00 00 00 |A.........,.T...| and 00000000 41 00 00 00 00 00 01 18 a9 71 2d 00 54 00 00 00 |A........q-.T...| respectively.

Which is very similar to what you check in your code somewhere:startswith(b"41000000000000") which lead me to this:

If I join backup0000 and backup0010 and patch it from "41 00 00 00 00 00 01" to "41 00 00 00 00 00 00" I can load that in your editor.

Same works for userdata0000 and userdata0001 joined together.

For each joined file I changed the "user level" value and saved. Each of the _modded files are identical to the input files except for the 1 byte changed. Haven't tried it yet but I guess reversing the entire process now using the newly created _modded file should work.

A bit cumbersome, of course, but not impossible :-)