Jump to content

Making Valid Hex Changes to Save File


SomeGuy

Recommended Posts

Hey Guys,

I figured this would be the best place to get help with this kind of thing.

Basicly I tried to edit my save file manually by changing the hex values. That was the easy part but unfortunately the game checks the save with a hash check of some kind. When I load my edited save the hash was wrong and the game said the file is corrupt. I can get around this problem by opening the edited save in pokesav and saving without making any changes as pokesav calculates the hash correctly.

I was thinking of writing a small program to set the state of the Honey trees and if you could enlighten me about the Hash check it would be much apriciated.

Thanks

Link to comment
Share on other sites

SomeGuy, I do believe this is what you are looking for (covers Diamond, Pearl, and Platinum). For more on the use of those algorithms, see the page detailing the save file itself (for this page, only Diamond and Pearl are covered).

There is a lot of good, solid information on the Wiki. But if you have any questions that are not answered there, PM me or post here or whatever... I've been working on programs dealing with the DS save files for months (see my signature).

EDIT:

By the way, here is a program I made for fixing the checksums in the Diamond and Pearl save files (Platinum support is next, hopefully soon).

Edited by codemonkey85
Link to comment
Share on other sites

Wow... Your absolutely right, thats exactly what I am looking for, for the record I did look on the wiki but I found that the words I used were not specific enougth.

Good luck with the projects, especally the box orginiser... I really want a box search program that can search by stats and am kinda tempted to write one, or I would be if I had more time. My golden week holiday finishes today.

Anyway, thanks again for the help...

Link to comment
Share on other sites

I just downloaded a free hex editor from the internet and opened my .sav file as I would with pokesav.

Remember to make the change that you want then open it with pokesav and save it again.

Hope that helps...

Link to comment
Share on other sites

hex editing is pretty simple ..

the most confusing part .. maybe because you will only see numbers there xD ...

but, don't worry .. by the time you learn it, you will get used to it ^^

and also .. it's the best tools to hex editing pokemon savedata ..

and also .. i don't know the way of generating checksum for pokemon's savedata .. so it's better to fix it using pokesav ^^ ...

open the savefile in pokesav .. and press save .. and the checksum will be corrected xD

Link to comment
Share on other sites

i dont know a thing about hex editing

Start by downloading HxD. It's pretty great (and free!). Then check out the Wiki article on the save file structure... there's some info in there on where the data for certain things is stored. The real key is to know what to replace that data with.

i don't know the way of generating checksum for pokemon's savedata .. so it's better to fix it using pokesav ^^ ...

open the savefile in pokesav .. and press save .. and the checksum will be corrected xD

Or you could follow the link I posted earlier in this thread and see the formula in it. Long story short: I would avoid using Pokésav, or any save editing program, if you're worried about leaving traces in your save file.

Link to comment
Share on other sites

  • 3 weeks later...

EDIT:

By the way, here is a program I made for fixing the checksums in the Diamond and Pearl save files (Platinum support is next, hopefully soon).

evandixon, I really do wish I could help you. But unfortunately I do not know how people even figure out checksum algorithms. I was lucky enough that one was documented (and later a more optimized one was discovered by SCV / Sabresite) for DPPt.

I guess if I were to try myself, I would figure out what offsets relate to one aspect of the save (I think you said you found the name of your team somewhere), and see how changing it affects the save file.

Try to change one character of your team name and see what bytes change. The checksum will be in there somewhere. Change the team name back to exactly what it was before, see what changes again. If something that changed before changes back to what it started as (other than the team name bytes obviously), then hey, there's the checksum. Then you can make other changes and try to infer the mathematical pattern.

At least, I guess that's what you would do.

Does anyone know of a sophisticated (or effective) way of plotting out these changes to find a formula? Like a T chart in linear systems of equations?

Link to comment
Share on other sites

I did find the Team name, but I didn't do it properly (I searched the Binary file, found it, changed it, and it worked, but I didn't try what you said).

Because I'm bored, I'll go ahead and post it (Location of Team Name):

Team Name's Location = 38648 (Base 10) bytes from the begining of the file for 10 1-byte characters.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...