PDA

View Full Version : PS2 save game checksum


riptide
09-26-2002, 04:44 AM
I recently got a SharkPort for the PS2. I planned on being able to hex edit save games on the computer and sending them back to the memory card.

A few things I noticed right away are that ps2 save games contain multiple files, and SharkPort's software wraps it all up into its own format with a header and all. Despite the header, the save game files are still in a raw format within the SharkPort file.

In no time, I had figured out a decent portion of the Final Fantasy X save game, so I tried a relatively simple modification: I increased the slvl for all of my characters(slvls are gained at certain experience intervals and used to upgrade the character's attributes). Unfortunately, the save game now does not load in FFX. It shows up in the load game menu, but will not load.

I'm almost positive that there is a checksum which is invalid now that I've modified the save game. I don't know whether this checksum is something generic to all save games or whether it is something that Squaresoft added into FFX. Does anyone know?

I'm not sure if this is the corret place to post this question, but does anyone know how this checksum is generated? How can I find out?

gothi
09-26-2002, 07:01 AM
It's specific to FFX by the sounds of it, I've edited many saves and they all work fine. Not sure where you should start, I'll look around for some info later :)

riptide
09-26-2002, 08:03 AM
Originally posted by gothi
It's specific to FFX by the sounds of it, I've edited many saves and they all work fine. Not sure where you should start, I'll look around for some info later :)

What hardware did you use to get the save game onto your system? Also, did you edit playstation or playstation 2 save games? I don't think the playstation has checksums, but it really looks like the ps2 does to me.


____________________________

New information I found out:

SharkPort V2 has a different file format. This format contains a checksum at the end. If the data is changed, the save game doesn't work. So, I'll have to find out how SharkPort V2's checksum works. I don't know if the original SharkPort hides a PS2 checksum by calculating it every time or if the checksum is purely a SharkPort V2 software addition, but I am inclined to think that it is on all save games and SharkPort V1 hides it because a bad checksum doesn't effect SharkPort at all, however it does effect the save. I have now tried this with multiple games, so it is not specific to FFX.

gothi
09-26-2002, 11:38 AM
I use both the Xport V2 (SharkPort to you :)) and the EMS adapter. EMS saves are easier to play with as they don't add as much crap to the save as the SharkPort/Xport does.

Where did you get the info about the checksum on SharkPort saves?

I'll try some tests later tonight with my Xport..

gothi
09-26-2002, 12:41 PM
Just realised (being a bit slow today)

There isn't a checksum at the end of every sharkport save, else people like myself couldn't change the Sony number within the save and still have it work. If I remember correctly the FF saves on the PSX had checksum protection and it wouldn't suprise me if the FFX saves do too :)

riptide
09-26-2002, 12:47 PM
Originally posted by gothi
I use both the Xport V2 (SharkPort to you :)) and the EMS adapter. EMS saves are easier to play with as they don't add as much crap to the save as the SharkPort/Xport does.

Where did you get the info about the checksum on SharkPort saves?

I'll try some tests later tonight with my Xport..

Actually, I'm not totally absolutely sure that the checksums are ps2 general. I have edited saves for The Thing, FFX, and Devil May Cry. All of them had checksums that prevented it from loading if modified. What games have you made working modifications for? I'll have to try it on one you know works.

When I say modification, I mean of the game data, not the headers and things. I know some people hack the saves so that they can be used in different regions, and that's not what I'm interested in.

gothi
09-26-2002, 12:50 PM
THPS3 is very easy to start with, you got that?

riptide
09-26-2002, 01:56 PM
Originally posted by gothi
THPS3 is very easy to start with, you got that?

uh, nope, I don't. Is there anything else? I would go rent it, but I don't like that type of game. :arg:

gothi
09-27-2002, 01:49 PM
Hmm, lemme look thgrough my collection later and see what's easy to play around with, if you could borrow THPS3 from someone it would be a great help tho :)

riptide
09-27-2002, 09:26 PM
I'm really interested in how FFX does its checksums. I've hacked together a program to try and reproduce the checksum(or what I believe the checksum to be) in the file. It looks like the checksum is 8 bytes at the tail of the save game. I have been just using a simple addition checksum so far, but the actual checksum looks close when you compare it to what's in the save game(assuming I'm looking at the right data as the checksum). Right now all my work is based on guesses. I don't think I can get much closer without more information. Is there a known approach to hacking a checksum without the code that generates it? Is there a way I can somehow find the checksum generating code from the FFX DVD? Anyone got any ideas?

riptide
09-27-2002, 09:44 PM
ok, well, it's definately not simple addition. I'm lost unless I can look at some code. I need to either be able to disassemble the game code or run a debugger on the playstation.

riptide
09-27-2002, 10:33 PM
aha.... ps2dev.sourceforge.net rocks

gothi
09-28-2002, 05:16 PM
According to Qhimm (creator of several FF7/FF8 save editing tools) Square use a CRC-32 type algorithm for their checksums. I'm going to have a play around tomorrow when I've got some time to myself to try things :)

I'm fairly sure that the SharkPort save format does not use a cheksum though. I'll play with some THPS 3 saves later as I already did some editing of them in .psu format and know where I should be looking for visable changes :D

gothi
09-28-2002, 06:15 PM
I can happily confirm that Xport/Sharkport saves do not have a checksum on them. Individual game saves may though.

Just edited a THPS3 park by hand, changing the ground height value to place the ground through and above a dumpster (attached with this post). It was level with the dumpster as the original save was an xport version of a .psu save I was playing with a while back. Anyhow, it's a pointless hack but allows you to check for a checksum, if you want to try editing it again the offset is 0x00003447 As you can see the value is currently at 09, 06 is the beginning ground height with 00 being the lowest you can place the ground.

spacemanspork
02-03-2003, 04:13 PM
has anyone made progress in finding
the checksumming algorithm for FFX?

I'd love to hear if you have.

meankilla
02-05-2003, 08:42 AM
try this program its supposed to fix check sums

http://homepage.ntlworld.com/gothi/SumRepair.zip

spacemanspork
02-07-2003, 09:56 AM
the problem with that program
is that you need to know the range
over which the checksum is calculated.

if I knew that, I could calculate it myself.
thanks for the suggestion, though.

gothi
02-07-2003, 09:44 PM
Just a correction to what I said earlier in the topic:

The Xport/Sharkportv2 format does have a checksum, two in fact. The first is located before the directory name and the second is at the end of the file.