Lt. Lynx Posted September 10, 2021 Share Posted September 10, 2021 (edited) While trying to backup my original save, something went wrong with the first bytes and the save got damaged. Is it any possible way to recover it? I don't mind if I loose a little bit of progression. Also, I have already backed up all my Pokémon since PokéSav still reads them flawlessly. Any help will be apreciated since I have played that game for more than 500 hours. Edit: attachement got removed. Edited September 10, 2021 by Lt. Lynx Attachement got removed. Link to comment Share on other sites More sharing options...
theSLAYER Posted September 10, 2021 Share Posted September 10, 2021 @Lt. Lynx yes, because Pokesav is known for the being the authority of save data /s Elaborate on what you did to "damage the save". Link to comment Share on other sites More sharing options...
Lt. Lynx Posted September 10, 2021 Author Share Posted September 10, 2021 3 minutes ago, theSLAYER said: @Lt. Lynx yes, because Pokesav is known for the being the authority of save data /s Elaborate on what you did to "damage the save". Welp, PkHex refuses to read it at all. I just used the R4i Save Dongle to backup it (it was a while ago, now I use my NN3DS) and the first bytes got damaged and overwritten. If you use a hex editor, all of the first bytes have been changed for 5's. I think it's just the header, but I lack the necessary knowledge to reconstruct it with proper data and checksum. Link to comment Share on other sites More sharing options...
theSLAYER Posted September 10, 2021 Share Posted September 10, 2021 11 minutes ago, Lt. Lynx said: Welp, PkHex refuses to read it at all. I just used the R4i Save Dongle to backup it (it was a while ago, now I use my NN3DS) and the first bytes got damaged and overwritten. If you use a hex editor, all of the first bytes have been changed for 5's. I think it's just the header, but I lack the necessary knowledge to reconstruct it with proper data and checksum. Nope it's not just a header. Stuff like Trainer name and TID were there. I was also trying to find the party data, and it appears like this: I'm trying what I can. BTW, were there any blank slots in your party? You remember any PID they were supposed to have? edit: "PokéSav still reads them flawlessly" - that sounds like a lie. I don't see any proper data structure reminiscent of a pokemon.. Well, the save is a big mess, and beyond saving. Since you managed to extract the mons, I won't have to put in effort to try to convert data and look for mons. Link to comment Share on other sites More sharing options...
Lt. Lynx Posted September 10, 2021 Author Share Posted September 10, 2021 (edited) 1 hour ago, theSLAYER said: Nope it's not just a header. Stuff like Trainer name and TID were there. I was also trying to find the party data, and it appears like this: I'm trying what I can. BTW, were there any blank slots in your party? You remember any PID they were supposed to have? edit: "pokesav reads it just fine" - that sounds like a lie. I don't see any proper data structure reminiscent of a pokemon.. First of all, thank you for your help. I opened it again with PokeSav and you are partially right. First Pokémon is messed up. However, in the second place there is a legit Crobat and, in the third one, a legit Donphan. The other three are also messed up. The storage is the thing that is fine 100%. I'm attaching here also the first Pokémon in the storage: a Bulbasaur. The Crobat and the Bulbasaur are mine, so ID and SID are right. Edit: attachements got removed. Edited September 10, 2021 by Lt. Lynx Privacy Link to comment Share on other sites More sharing options...
theSLAYER Posted September 10, 2021 Share Posted September 10, 2021 8 minutes ago, Lt. Lynx said: First of all, thank you for your help. I opened it again with PokeSav and you are partially right. First Pokémon is messed up. However, in the second place there is a legit Crobat and, in the third one, a legit Donphan. The other three are also messed up. The storage is the thing that is fine 100%. I'm attaching here also the first Pokémon in the storage: a Bulbasaur. The Crobat and the Bulbasaur are mine, so ID and SID are right. Crobat.pkm 236 B · 0 downloads Donphan.pkm 236 B · 0 downloads 1-30_01.pkm 136 B · 0 downloads I guess Pokesav just auto corrected 0x20 to 0x00, or just outright ignored those bytes. I too found a Donphan but it required changing 0x20 to 0x00. Your save is filled with a bunch of 0x20 that shouldn't be there, and a bunch of random data that is all over the place. It just looks like Pokesav is ignoring everything that is not used by the program, but in reality your save has a bunch of nonsense data is other areas. So just give up on this save. Link to comment Share on other sites More sharing options...
theSLAYER Posted September 10, 2021 Share Posted September 10, 2021 @Lt. Lynx am I right to assume that Ivysaur wasn't extracted by Pokesav? (the decryption previously failed, and I had to change a single 0x20 to 0x00) Link to comment Share on other sites More sharing options...
Lt. Lynx Posted September 10, 2021 Author Share Posted September 10, 2021 (edited) I think that I've seen a lot of times massive 20 or FF blocks (isn't 20 a spacebar entry?) in my unmodified save files, but I can't understand why they are replaced in specific spots. Also, in PokeSav I can read all the boxes. If I remember correctly, I had every obtainable Pokémon in Platinum through catching, evolving, in-game trading or egg ordered by PokéDex number. Also, that Bulbasaur was extracted with PokeSav 0.06d (ENG) for sure. I can also attach Ivysaur and Venusar. Whatever you may request from my boxes is backed up. Edit: attachements got removed. Edited September 10, 2021 by Lt. Lynx Privacy Link to comment Share on other sites More sharing options...
theSLAYER Posted September 10, 2021 Share Posted September 10, 2021 28 minutes ago, Lt. Lynx said: I think that I've seen a lot of times massive 20 or FF blocks (isn't 20 a spacebar entry?) in my unmodified save files, but I can't understand why they are replaced in specific spots. Also, in PokeSav I can read all the boxes. If I remember correctly, I had every obtainable Pokémon in Platinum through catching, evolving, in-game trading or egg ordered by PokéDex number. Also, that Bulbasaur was extracted with PokeSav 0.06d (ENG) for sure. I can also attach Ivysaur and Venusar. Whatever you may request from my boxes is backed up. 1-30_02.pkm 136 B · 0 downloads 1-30_03.pkm 136 B · 0 downloads My bad, I got confused by my own comparison windows. I meant Blastoise I don't need the files. Was just asking whether you have a working copy of it >< I had to perform trickery on the data to try to get it to decrypt. 0xFFs are normal, if they're at where they're supposed to be. What is not normal is having absolutely no 0x00 in your save. Which I figured it was all replaced by 0x20. The way decryption works is, every bit of data has to be unchanged, in order for decryption to work: However, there are times where 0x20 can appear 'naturally'. How would I know if that value was meant to be a 0x00 (that got replaced to 0x20), or was already a 0x20 ('naturally' occurring 0x20, not a replaced 0x00)? Here's an example where using trial and error, and keeping a 0x20 unchanged, and modifying the other to 0x00 led to your Charmander:charmander.ek4 Anyhow, here are two of my saves, each populated with your boxes. One of it only has pairs of 0x20 changed to 0x00, and the other has every 0x20 changed to 0x00. As a result, there would be some Pokémon that appear in one but not another. (As seen in the image with 2 windows of PKHeX above) Pokémon Edición Platino dañado.sav Pokémon Edición Platino dañado ver2.sav The Charmander I provided earlier is one of the mons that are not covered by both versions of the saves, because it has multiple singular 0x20s, where one is natural and one is replaced. So if you want to salvage those mons, you gotta dump them manually and replace the bytes and see if it decrypts via trial and error. Edit: Also, your extracted PKMs won't work in PKHeX, because pokesav dumped the sanity bytes (normally 0x0000) as 0x2020. [because that's how they're saved in your save. It merely copied the incorrect bytes over.] 1 Link to comment Share on other sites More sharing options...
Lt. Lynx Posted September 10, 2021 Author Share Posted September 10, 2021 50 minutes ago, theSLAYER said: My bad, I got confused by my own comparison windows. I meant Blastoise I don't need the files. Was just asking whether you have a working copy of it >< I had to perform trickery on the data to try to get it to decrypt. 0xFFs are normal, if they're at where they're supposed to be. What is not normal is having absolutely no 0x00 in your save. Which I figured it was all replaced by 0x20. The way decryption works is, every bit of data has to be unchanged, in order for decryption to work: However, there are times where 0x20 can appear 'naturally'. How would I know if that value was meant to be a 0x00 (that got replaced to 0x20), or was already a 0x20 ('naturally' occurring 0x20, not a replaced 0x00)? Here's an example where using trial and error, and keeping a 0x20 unchanged, and modifying the other to 0x00 led to your Charmander:charmander.ek4 Anyhow, here are two of my saves, each populated with your boxes. One of it only has pairs of 0x20 changed to 0x00, and the other has every 0x20 changed to 0x00. As a result, there would be some Pokémon that appear in one but not another. (As seen in the image with 2 windows of PKHeX above) Pokémon Edición Platino dañado.sav 512 kB · 1 download Pokémon Edición Platino dañado ver2.sav 512 kB · 1 download The Charmander I provided earlier is one of the mons that are not covered by both versions of the saves, because it has multiple singular 0x20s, where one is natural and one is replaced. So if you want to salvage those mons, you gotta dump them manually and replace the bytes and see if it decrypts via trial and error. Edit: Also, your extracted PKMs won't work in PKHeX, because pokesav dumped the sanity bytes (normally 0x0000) as 0x2020. [because that's how they're saved in your save. It merely copied the incorrect bytes over.] It is a lot worse that I could have ever think. I'm very thankful to you for trying. Also, now PkHex reads the save files you provided me. I don't know if I'll save all of that mons or if I'll play the game all over again in order to get all the other stuff I had in that save, but at least now I have a way. Thank you a lot again for your time and patience. It is difficult to let go 500 hours of gameplay and you helped me realize the situation. Kind regards. Link to comment Share on other sites More sharing options...
theSLAYER Posted September 10, 2021 Share Posted September 10, 2021 8 minutes ago, Lt. Lynx said: Also, now PkHex reads the save files you provided me. that is because those are my saves. the only data from you is the box data. 8 minutes ago, Lt. Lynx said: I don't know if I'll save all of that mons or if I'll play the game all over again in order to get all the other stuff I had in that save, but at least now I have a way. well, the saves I provided you are only a fraction on the mons. To reclaim the rest, you gotta perform trial and error. (my message above about altenating 0x00 and 0x20 thing) In any case, you definitely have to play the game over for other stuff, such as progress. Alternatively, take someone else's save, and change all the trainer details to yours. 8 minutes ago, Lt. Lynx said: It is difficult to let go 500 hours of gameplay and you helped me realize the situation. Yeah I kinda wish that wasn't the case. I've tried overwriting all the pairs of 0x20 to 0x00 and copy and pasting over some parts that look fine-ish, but still nothing. If we were to verify then copy over every byte, it would be possible to end up with something that looks kinda like your save. (tho do remember, your TID, SID, OT, Gender and any other important trainer data is gone, since your first 0x100 is pretty much garbage). In any case, it would be less effort to replay 500 hours, then to check every byte by byte, and see which byte allows the game to load 1 Link to comment Share on other sites More sharing options...
Lt. Lynx Posted September 10, 2021 Author Share Posted September 10, 2021 11 minutes ago, theSLAYER said: that is because those are my saves. the only data from you is the box data. well, the saves I provided you are only a fraction on the mons. To reclaim the rest, you gotta perform trial and error. (my message above about altenating 0x00 and 0x20 thing) In any case, you definitely have to play the game over for other stuff, such as progress. Alternatively, take someone else's save, and change all the trainer details to yours. Yeah I kinda wish that wasn't the case. I've tried overwriting all the pairs of 0x20 to 0x00 and copy and pasting over some parts that look fine-ish, but still nothing. If we were to verify then copy over every byte, it would be possible to end up with something that looks kinda like your save. (tho do remember, your TID, SID, OT, Gender and any other important trainer data is gone, since your first 0x100 is pretty much garbage). In any case, it would be less effort to replay 500 hours, then to check every byte by byte, and see which byte allows the game to load Oh, I get it. Yeah, I got the trial and error thing. I have to think about that. Welp, that would be a better chance of revisiting Sinnoh than the remakes IMO. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now