Hello wizards, I am hoping one of you out there has had much success when cracking CRC32 checksums on game saves. I need a pointer or two as I have almost exhausted my options.
I have been making gaming tools/editors/trainers for a while now that I have found my programming skills are much better used for gaming needs and not my job! I recently have been playing an old PSX rpg that I love (Legend of Legaia). This game will freeze on a PS3 or emulator around 80% through the game. I know how to hex-edit the save so that they get past the scene but unfortunately, this game seems to use a 32 bit CRC checksum as the last 4 bytes of the file. This doesn't seem to be very common so is it possible this game uses a 16bit CRC and either writes two different checksums or two bytes for something else?
It's quite obvious that the last four bytes of the save are checksum since there's tons of 00 bytes before it.
I researched and kept finding references to people cracking the 16bit CRCs that popular games around that time would use, but nothing about a 32 bit CRC. I thought I was in luck when they found that the CRC-16 in games were using the standard variables (start value, polynomial, compare). So I tried all of the CRC-32 bit standards I could find on wikipedia and none of them have matched.
I even created an app to work through 0 - 0xFFFFFFFF on the polynomial because it looks like the starting value is always 0xFFFFFFFF.
Now I'm not even sure that it's CRC-32bit since FF8 and FF9 are CRC-16bit?
Does anyone have any additional ideas to try or think this might be CRC-16bit? Any help would be greatly appreciated!
I have been making gaming tools/editors/trainers for a while now that I have found my programming skills are much better used for gaming needs and not my job! I recently have been playing an old PSX rpg that I love (Legend of Legaia). This game will freeze on a PS3 or emulator around 80% through the game. I know how to hex-edit the save so that they get past the scene but unfortunately, this game seems to use a 32 bit CRC checksum as the last 4 bytes of the file. This doesn't seem to be very common so is it possible this game uses a 16bit CRC and either writes two different checksums or two bytes for something else?
It's quite obvious that the last four bytes of the save are checksum since there's tons of 00 bytes before it.
I researched and kept finding references to people cracking the 16bit CRCs that popular games around that time would use, but nothing about a 32 bit CRC. I thought I was in luck when they found that the CRC-16 in games were using the standard variables (start value, polynomial, compare). So I tried all of the CRC-32 bit standards I could find on wikipedia and none of them have matched.
I even created an app to work through 0 - 0xFFFFFFFF on the polynomial because it looks like the starting value is always 0xFFFFFFFF.
Now I'm not even sure that it's CRC-32bit since FF8 and FF9 are CRC-16bit?
Does anyone have any additional ideas to try or think this might be CRC-16bit? Any help would be greatly appreciated!