May 31, 2025 at 5:55 PM
Junior Member

"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Sep 8, 2021
Location: 127.0.0.1
Posts: 23
Age: 20
Pronouns: he/him
So I was just messing around Cave Story DSiWare just doing my usual shenanigans and I found myself save editing for one reason or another, only to be greeted with this.

Confused, I made two new save files and diffed the two of them, and sure enough, they were indeed checksum'd. Sidenote this has to be like the only version I'm aware of that has this kind of protection, wack.

So I pulled up Ghidra and No$GBA, only to find out that it was just calculating the CRC-32 of a 0x800 block, minus the checksum obviously.

So anyway I wrote a simple python script to fix it, and sure enough it worked.


Confused, I made two new save files and diffed the two of them, and sure enough, they were indeed checksum'd. Sidenote this has to be like the only version I'm aware of that has this kind of protection, wack.

So I pulled up Ghidra and No$GBA, only to find out that it was just calculating the CRC-32 of a 0x800 block, minus the checksum obviously.

So anyway I wrote a simple python script to fix it, and sure enough it worked.
