Jump to content

(X/Y) KeySAV2 - Box/Battle Video Data Viewer


Kaphotics

Recommended Posts

Hmm can this program check SVs of unhatched eggs?

Or do I need to hatch them eggs first like in KeyBV to perform the SV check?

You can check unhatched egg ESV to compare with your TSV.

Mine's 0730 if you've got any, I can hatch and trade back to you.

Feel free to share your TSV in case anyone has an unhatched egg that might match your TSV ;)

Link to comment
Share on other sites

  • Replies 178
  • Created
  • Last Reply

Top Posters In This Topic

You can check unhatched egg ESV to compare with your TSV.

Mine's 0730 if you've got any, I can hatch and trade back to you.

Feel free to share your TSV in case anyone has an unhatched egg that might match your TSV ;)

Hmm don't have 0730 atm, but anyway...

Do I still need Powersave to use the Box/Mass Checker in KeySAV2?

I wanna check eggs without hatching them, but I'm required to have Digital copy or Powersave (if I only have retail) for that yes?

Link to comment
Share on other sites

Hmm don't have 0730 atm, but anyway...

Do I still need Powersave to use the Box/Mass Checker in KeySAV2?

I wanna check eggs without hatching them, but I'm required to have Digital copy or Powersave (if I only have retail) for that yes?

You can use KeySav2 for all the boxes.

You can check ESV, you can do it with the digital copy right away.

For retail you need powersave to extract the .bin (save) from your cartridge, then to your PC and run the software.

Anyways, you need to hatch the eggs to "release" them... so I would suggest you to hatch everything right away, you can't even send them to the poke bank...

(Can you release an egg?)

Link to comment
Share on other sites

The corruption isn't on your save, don't worry about that. It happens when the program isn't 100% sure what pokémon is in a slot, typically when it tries to ghost a pokémon in an empty slot. Usually it just puts what was previously in the slot, but it seems like rarely some of the data will get garbled and show odd values. I haven't followed the error all the way back, so I'm uncertain the cause, but it doesn't seem to be more than a slight bother. If you've seen the three states (empty, filled 1, filled 2) on a slot, this won't happen to that slot.

I'm here to help, if you have any more bugs/feature requests, tell me!

Hi again! Sorry to cause trouble once more, but I've been using your version of KeySAV2 recently and I've stumbled upon further interesting phenomena -- no error messages this time though. I set up a series of saves so that each position would see each possible state, but I still randomly get "~" for some empty positions and then no information in positions where a Pokemon actually exists. It isn't a huge issue, but I thought it might help future updates if I provided some more info about this. Here's the set of files I used, on dropbox again:

https://www.dropbox.com/s/19u9lwa1c5vbd4y/Backups2.zip

save1 and save2 were used to break the encryption, and then files 1-4 were used to satisfy each possible state for each position. Files 5 and 6 were used to test the accuracy of the output, since no "~" should occur after running files 1-4.

It's entirely possible that I'm making a dumb mistake somewhere, but I can't figure out where, if that's the case. Thanks for all your help, I really appreciate it!

Link to comment
Share on other sites

"~" appear if you haven't run the program with 3 different states of Empty/Filled1/Filled2. If it's only had Empty + Filled1/2, it'll display Filled1/2 with a "~", as it can't know if it is empty or full. When you did 4 files, you likely dumped with the 3 different states in many slots, which caused the "~" to no longer appear as the program has all 3 states of data.

The program doesn't decrypt your save file, it only brute forces out portions of the data. If it can't brute force with absolute certainty, you'll either get the "~" uncertain slots or no data appearing.

Link to comment
Share on other sites

Yes, but I've found that every time the "corrupt pokémon," that I coded simple workarounds for, will save in the key making that slot impossible to break. I've been trying to follow the code to provide a fix, but I still don't know how it happens. I wasn't aware of the issue until I added a box view, where the problem becomes quite apparent. I've been trying to code an option to flush the slot, but having only taken a Java 1 class makes it a little difficult. It would be a "fix" as long as the slot was then seen with two different pokémon and not the one with corrupt data.

More on the corrupt pokémon:

It seems that randomly, before the slot's encryption is broken completely, a pokémon's data will not be able to be read. This usually takes the form of otlanguage being 0, but sometimes moves are replaced with higher than usual numbers. This makes them easy to ignore and not show in dumpPKX_SAV, but I don't know where the pkx file is getting corrupted. On top of that, I don't know how it's getting through verifyCHK as I thought this issue would be a result of bit shift or null areas in the pkx.

However, as soon as the slot is 100%, the pokémon's data is correctly shown, and it causes no further issues within broken slots (obviously as they don't save to the key).

Example:

Like your issue, I've got ONE slot that was filled with a meowstic (with seemingly fine data, but it must be corrupted in an area that is not shown) that will not break, no matter how many pokémon or empty slots are put there. If I put an empty slot there, it will show the ~meowstic, if it's the meowstic it also shows ~meowstic, any other pokémon shows nothing ("Locked Slot"). This one slot is bothersome, but easily ignored because it happened in box 22. I've been trying to flush the data out of the key, but I can't find the appropriate time to do it where it will save to the key.

Edited by ViolentSpatula
Link to comment
Share on other sites

Example:

Like your issue, I've got ONE slot that was filled with a meowstic (with seemingly fine data, but it must be corrupted in an area that is not shown) that will not break, no matter how many pokémon or empty slots are put there. If I put an empty slot there, it will show the ~meowstic, if it's the meowstic it also shows ~meowstic, any other pokémon shows nothing ("Locked Slot"). This one slot is bothersome, but easily ignored because it happened in box 22. I've been trying to flush the data out of the key, but I can't find the appropriate time to do it where it will save to the key.

This is a much better explanation of the problem. I have this exact issue in multiple positions on my key (10 positions, I believe). Thank you for explaining and clarifying!

Link to comment
Share on other sites

Until either Kaphotics or I have a fix, what you probably want to do is take out the offending pokémon and re-break all your boxes. That's what I did and that's how I ended up with only one slot with this issue.

I'm not sure about this, but I think that this pokémon has to be in save1 when you first hit the break button for this issue to occur. But, like I said, I don't know about that one, but I'm sure I moved that meowstic all over my boxes and no others had this issue. Maybe it only has to be the first pokémon seen.

Link to comment
Share on other sites

  • 2 weeks later...

I've got a working fix for the corrupt slot issue, and I've got the box view almost complete.

To fix a corrupt slot, open box view, navigate to the box with the offending slot, then right click the slot and select "Force Key Purge."

After a prompt it will purge the slot and you will have to break the slot again, it's important that the slot sees an empty slot, and two different pokémon (other than the one that caused the issue in the first place).

Here's a preview version for anyone interested.

[Edit]: download removed, see later post.

Edited by ViolentSpatula
Link to comment
Share on other sites

Using the ViolentSpatula version of KeySav 2. I broke the encryption successfully, but I got a weird thing happening when I went to test a few eggs. I put four eggs in box 1. (that was all I had from a particular parent set and I wanted to keep things separate.) When I went to check their stats, it says it dumped 6 pokemon, and the fifth and sixth empty slots are somehow magically a Goomy and a Spritzee.

B01 - 1,1 - Gastly (♂) - Timid - Levitate - 31/31/11/31/31/31 - Dark - [2751]

B01 - 1,2 - Gastly (♂) - Timid - Levitate - 31/31/31/31/31/31 - Dark - [3728]

B01 - 1,3 - Gastly (♀) - Timid - Levitate - 31/31/31/14/31/31 - Electric - [0771]

B01 - 1,4 - Gastly (♂) - Timid - Levitate - 31/7/31/31/31/31 - Dark - [3170]

~B01 - 1,5 - Goomy (♂) - Modest - Sap Sipper - 31/20/31/31/31/31 - Dragon -

~B01 - 1,6 - Spritzee (♀) - Relaxed - Aroma Veil - 31/13/31/31/31/31 - Dark -

Data copied to clipboard!

Dumped: 6

I'm wondering if I should be concerned about that. At the moment, of course, it doesn't affect anything and is just kind of quirky. But does that mean something went wrong in my cracking? The Gastlys look right but if they're not...

Link to comment
Share on other sites

Each slot has to have been empty, had one pokemon, then have had a differnt pokemon in it before the encryption is broken for that slot. The "~" shows that those conditions haven't been met.

When breaking the encryption, I know the six Pokemon in 16.sav and 26.sav have to be from the same game but after that for any other spots can they be from different games? I have a full LiveDex in bank that I could put in, then view it followed by shifting all the boxes by one to have different in each spot. But if they have to be from the same game I do not have many and it would take a lot of work.

Link to comment
Share on other sites

I decided to try with different games Pokemon anyway and it worked I have every spot working now although it took some work with some being locked and I had to keep purging the spots and redoing them until all of them worked.

That is with the preview version. Although I do have one problem. One of my Pokemon and Unown "?" crashes the program program completely. To the point I had to spread the whole box out over others to track down the individual one causing the problem. This Unown was caught by me personally and not hacked.

The old Keysav2 v1.15 reads the same one fine.

I dumped a pkx using v1.15 if needed for you to track down bugs but I do not like clones, so I will not post it any place public so no one else can grab it. I ask if you do need it to not use it other then for tracking down the bug.

I'm running Kaysav2 using Wine under Linux.

Link to comment
Share on other sites

  • 1 month later...

I read through the entire thread, but don't think I found anyone with a similar problem.

I downloaded ViolentSpatula's version on page 2 (post #20) and proceeded to set it up with THIS Reddit guide.

I believe I followed the instructions fully, but it seems that when I open a battle video to view the details of my hatched eggs (or anything, really), it will show me ALL information EXCEPT the ESV. I tried pretty much everything I can think of. I toggled and played around with the settings; I re-set up the tool and re-broke my BV Keystream; and I downloaded every available version in this thread. Nothing I do will show me the ESV.

I guess I did something wrong, somewhere... I just don't know what. Obviously, I didn't screw up too bad, because I can view all the export strings except for ESV (and box, but that is obvious) when using a custom export style. It seems that everything works as intended... except the ESV portion.

This is the default export style:

GHT8kyi.png

If there is anything I should do for others in order to solve this problem, please let me know. A recommended upload site is also appreciated in that case.

Additionally, I am mostly around Smogon in case you wish to contact me more... often. My username is also Sakuretsu over at Smogon.

Link to comment
Share on other sites

Try the original KeySAV2, or just export to pk6 files and open with PKHeX -> hover over the PID and it'll tell you the ESV.

If you wanted to check a mass of things, just import your pk6 folder and use PKHeX's "Generate Box Report" which will spit out so much info into a grid.

Link to comment
Share on other sites

Alright, I re-set up the original KeySAV2, only this time I manually changed the game from "X" to "Y" and broke the keystream, etc.

Finally it worked!

I went back and did a fresh install of ViolentSpatula's version on page two, and did the same steps only to find out it still doesn't output the ESV. There must be something funky there (coding-wise), because the original one works fine (now). Thanks for the help, Kaphotics. I guess there was some human error there (or something) because the only thing I did differently this time was manually change the game in the top right corner of KeySAV2.

Weird. Anyway, thanks again!

Link to comment
Share on other sites

  • 4 weeks later...

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...