Jump to content

Recommended Posts

Posted

I PalPark'd the 6 same Pokemon 5 times from Emerald to HeartGold. Their names where a single character each, A - F. Each time they where PalPark'd in ABC order.

1st Migration
A - 2B 01 FF FF 00 00 00 00 42 00 00 00 00 00 00 00 8C 15 0D 02 E0 FF
B - 2C 01 FF FF 02 00 00 00 28 76 28 02 C8 C1 27 02 05 18 07 02 00 00
C - 2D 01 FF FF 02 00 00 00 14 77 28 02 C8 C1 27 02 05 18 07 02 00 00
D - 2E 01 FF FF 03 00 00 00 00 78 28 02 C8 C1 27 02 05 18 07 02 00 00
E - 2F 01 FF FF 02 00 00 00 EC 78 28 02 C8 C1 27 02 05 18 07 02 00 00
F - 30 01 FF FF 02 00 00 00 D8 79 28 02 C8 C1 27 02 05 18 07 02 00 00

2nd Migration
A - 2B 01 FF FF 00 00 00 00 42 00 00 00 00 00 00 00 8C 15 0D 02 E0 FF
B - 2C 01 FF FF 02 00 00 00 C4 75 28 02 64 C1 27 02 05 18 07 02 00 00
C - 2D 01 FF FF 02 00 00 00 B0 76 28 02 64 C1 27 02 05 18 07 02 00 00
D - 2E 01 FF FF 03 00 00 00 9C 77 28 02 64 C1 27 02 05 18 07 02 00 00
E - 2F 01 FF FF 02 00 00 00 88 78 28 02 64 C1 27 02 05 18 07 02 00 00
F - 30 01 FF FF 02 00 00 00 74 79 28 02 64 C1 27 02 05 18 07 02 00 00

3rd Migration
A - 2B 01 FF FF 00 00 00 00 42 00 00 00 00 00 00 00 8C 15 0D 02 E0 FF
B - 2C 01 FF FF 02 00 00 00 E4 75 28 02 84 C1 27 02 05 18 07 02 00 00
C - 2D 01 FF FF 02 00 00 00 D0 76 28 02 84 C1 27 02 05 18 07 02 00 00
D - 2E 01 FF FF 03 00 00 00 BC 77 28 02 84 C1 27 02 05 18 07 02 00 00
E - 2F 01 FF FF 02 00 00 00 A8 78 28 02 84 C1 27 02 05 18 07 02 00 00
F - 30 01 FF FF 02 00 00 00 94 79 28 02 84 C1 27 02 05 18 07 02 00 00

4th Migration
A - 2B 01 FF FF 00 00 00 00 42 00 00 00 00 00 00 00 8C 15 0D 02 E0 FF
B - 2C 01 FF FF 02 00 00 00 38 76 28 02 D8 C1 27 02 05 18 07 02 00 00
C - 2D 01 FF FF 02 00 00 00 24 77 28 02 D8 C1 27 02 05 18 07 02 00 00
D - 2E 01 FF FF 03 00 00 00 10 78 28 02 D8 C1 27 02 05 18 07 02 00 00
E - 2F 01 FF FF 02 00 00 00 FC 78 28 02 D8 C1 27 02 05 18 07 02 00 00
F - 30 01 FF FF 02 00 00 00 E8 79 28 02 D8 C1 27 02 05 18 07 02 00 00

5th Migration
A - 2B 01 FF FF 00 00 00 00 42 00 00 00 00 00 00 00 8C 15 0D 02 E0 FF
B - 2C 01 FF FF 02 00 00 00 F0 75 28 02 90 C1 27 02 05 18 07 02 00 00
C - 2D 01 FF FF 02 00 00 00 DC 76 28 02 90 C1 27 02 05 18 07 02 00 00
D - 2E 01 FF FF 03 00 00 00 C8 77 28 02 90 C1 27 02 05 18 07 02 00 00
E - 2F 01 FF FF 02 00 00 00 B4 78 28 02 90 C1 27 02 05 18 07 02 00 00
F - 30 01 FF FF 02 00 00 00 A0 79 28 02 90 C1 27 02 05 18 07 02 00 00

Posted

I don't know anything about what PalPark does to their names, but I see addresses in there. It could just be random data that they didn't care about getting written there because the string is already terminated with the game's null-equivalent.

Posted

yes, when you pal park Pokemon the area used for the name is filled with trash data, and then overwritten with the name data. there unused spaces keep the trash data intact. That is why its called trash bytes. This data can be used to hack check Pokemon that have been pal parked.

Posted

If anything, all I'm seeing here is that you've proven that the data isn't consistent. You can see the differences with each migration. I don't see any discernable pattern that a program could reliably check for validity. (Don't take what I'm saying the wrong way, I find this interesting and useful, I'm just stating observations.)

Posted

There is sorta a pattern,

00 00 00 00 42 00 00 00 00 00 00 00 8C 15 0D 02 E0 FF

<02 - 03> 00 00 00 <random> <75-79> 28 02 <random> C1 27 02 05 18 07 02 00 00

I am sure with more Pokemon pal park'd we can maybe find that <75-79> can range to even 74, 73, 80, or 81. Maybe the second random number is always even.

Posted

Yes, you could produce a range of values within a set of data, but that still doesn't mean there's a pattern.

Also, has this data been proven in any way to be accessed by the game or any of the official "legality" checks? I'd be very, VERY surprised if it's used.

Posted

I dont know, but legality checker does check trashbytes.

but about the pattern, it may have some random bytes, but most of them are always the same the same, these same bytes is what is uselessly checked in legality checker

Posted
I dont know, but legality checker does check trashbytes.

I'd be surprised, again, if it does this in a way that's going to properly validate every real PalPark Pokemon that's thrown at it, unless it's extremely lenient.

Posted

Lenient or not, this is a tried and true way to check if a pokemon was made with pokesav. Of course it's trivial to fix if you know what you're doing, but then again so is everything. We're only talking about 136 bytes of data here.

The strings Kazo provided (with the "random" bytes) are a fairly potent hack check and should not produce false positives (if you consider the pokemon being hacked as a positive).

EDIT: Just thought I'd throw in that they are, as far as I know, not used in official checks for legitimacy.

Posted
Lenient or not, this is a tried and true way to check if a pokemon was made with pokesav.

Do you happen to know exactly what it checks for? I'd be interested in finding out.

Also, I guess considering the alternative data there when a Pokemon isn't from PalPark, it would be a pretty consistent (if not perfectly so) check. I believe all other sources result in zeroes or 0xFFFF placed in the extra name bytes.

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