I have probably written something on save hacking before but the broad stroke is that the saves are hashed in some way, I have seen everything from basic parity up to things that would make the likes of sha1 sweat (and just to spell it out I mean I have seen well known hashing methods through to entirely custom methods). Ostensibly it is to prevent corruption but it has the nice side effect of making this sort of thing a bit harder. Some games (most notably pokemon) have a rollback/fallback or backup area of the save and others will flag it and say start again.
Several options here: Find a cheat to disable save checking. Final Fantasy 3 has a good example of one, it also has a good save tweaking tool called thundaga (I probably have it on my site somewhere).
Use a cheat or memory editor to change it in ram: aside from basic cheat prevention (mirrored values, obscured values, altering pointers........ read a cheat guide if you are interested in those as they at best tangentially related to the matter at hand) the data in the ram is usually treated as flawless. If you only want names there is usually little to be gained from altering it these so I doubt you will even see the cheat prevention pop up.
Reverse engineer the hash and find what data is hashed (the whole save is not targeted as the whole point of a hash is to be unique and unpredictable, the data you want to change is likely hashed though. General rule of thumb here is the data following the hash or the header that contains the hash is what is targeted) and then have it as you would a normal save. Many ways to reverse engineer the hash but the usual is make many saves ever so slightly different to the one before (move a step, fire a bullet, spend some money, gain 1 xp.......) and upon firing up your hex editor you will quickly see the data and the hash if you do it right. Next up is ASM to figure out the routine that hashes it.
I'm assuming that by .sav hacking, you mean a GBA game. So, I'd suggest you run the game under VBA, load the saved game, pause the emulator, look through the SRAM area (0xe000000 in the memory viewer) for the name of a character, and try overwriting it, resuming the emulation, then saving. That might work, presuming the game doesn't overwrite the name from exram/iwram and does its checksum computation from the data in the SRAM area.
Even then, the name might be repeated multiple times, the name might be variable length (and hence you'll never quite get the naming to work right likely), and probably some other problems I'm not thinking of. But, it's worth a shot to try.
Users browsing this forum: No registered users and 1 guest
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum