Jump to content

Pkx: The New Pokemon Format For Gen 6


Bond697

Recommended Posts

Out of abilities 184 and 185, one is Aerilate and the other Parental Bond; we just don't know which is which just yet because these abilities are exclusive to Mega's (Pinsir and Kangaskhan respectively), and the Mega's revert to normal after the battle is over, so is there a way to memory check during a battle? I'm leaning towards no because there's no Nintendo 3DS emulator out yet, let alone one that has memory watch. (Yes, I am a member of the TASvideos forums as well, so I know this stuff.)

Link to comment
Share on other sites

  • Replies 284
  • Created
  • Last Reply

Top Posters In This Topic

Apparently, there's been a "report" of "hackers" managing to send Bad Eggs over to other people that corrupts the game, despite evidence otherwise (as people kept assuming from the video I've posted that it's was the result of Wonder Trade due to confusion).

[video=youtube;TjsySmLeBS0]

(Thread)

http://www.gamefaqs.com/boards/696959-pokemon-x/67738054

Now we know what X and Y's equivalent to the Bad Egg is.

Its #722 and can be created via Ram hacking or from pokemon data becoming corrupt. The game makes one as a defence much like a quarantine.

You cant just trade them but you can trade a pokemon that then becomes corrupt (and turns into one) but that's not the trades fault or person trading its an issue with the pokemon being stored on your side.

When a pokemon is sent via p2p, wondertrade or GTS the checksum is checked and if its incorrect data it will fail (if this was not the case we would have a working system inject pokemon right now).

If you trade a Mew for a Ditto it has to come out as a Mew or a Ditto it can't turn by magic into a bad egg as the trade will check to see if data is all good (like if you download say a windows ISO and check is hash is the same to make sure not corrupt)

If it was possible to ignore the checksum or fake it we would be injecting fake pokemon right now along with cloning. They are a result of corrupt data or from you doing a ram hack there should be no other possible way to get one.

If you do see some of these showing up i would send your game back to the store you got it from as its got issues (could be the 3DS its self but likely the game at fault) if the game is digital change SD card as thats most likely the cause.

Link to comment
Share on other sites

When a pokemon is sent via p2p, wondertrade or GTS the checksum is checked and if its incorrect data it will fail (if this was not the case we would have a working system inject pokemon right now).

The "checksum" has absolutely nothing to do with Pokemon data.

Link to comment
Share on other sites

The checksum tries to make sure there's no corruption in the Pokémon data. If the data was changed due to a bad flash bit or something, the checksum check fails and results in the bad egg.

If he were talking about the Pokemon data checksum, rather than the packet hash value, he wouldn't have said:

if this was not the case we would have a working system inject pokemon right now

Then again, I'm assuming someone has the slightest bit of intelligence, which is almost always not the best thing to do.

Link to comment
Share on other sites

Since genVI is multilingual have you guys figured out/can you figure out which Block D 0xE_ Masuda method is based on? I ask because my region is Japan but I selected English.

I would assume Masuda method is region based, not language based. This is also something that would be written into the game code and not the pkx packet.

http://bulbapedia.bulbagarden.net/wiki/Masuda_method

"It occurs whenever Pokémon of differing real-world geographical origin are bred."

Link to comment
Share on other sites

I would assume Masuda method is region based, not language based. This is also something that would be written into the game code and not the pkx packet.

http://bulbapedia.bulbagarden.net/wiki/Masuda_method

"It occurs whenever Pokémon of differing real-world geographical origin are bred."

Yeah but the information used to determine wether they are of different real-world geographic origin has to be coming from somewhere.

Link to comment
Share on other sites

I would assume Masuda method is region based, not language based. This is also something that would be written into the game code and not the pkx packet.

http://bulbapedia.bulbagarden.net/wiki/Masuda_method

"It occurs whenever Pokémon of differing real-world geographical origin are bred."

In 4th and 5th gen there was only a language byte - no region. It would be really stupid if using a Pokémon that shows a different language in the summary being ineligible for MM, and there are a LOT more regions than the 7 languages. I shouldn't be getting MM bonus for trading with someone from the next state over.

Pretty sure 3DS region is used for Vivillion only.

Link to comment
Share on other sites

In 4th and 5th gen there was only a language byte - no region. It would be really stupid if using a Pokémon that shows a different language in the summary being ineligible for MM, and there are a LOT more regions than the 7 languages. I shouldn't be getting MM bonus for trading with someone from the next state over.

Pretty sure 3DS region is used for Vivillion only.

A byte can hold up to 8 bits, which is 256 in base 10 decimal (which means that it can hold 256 different regions).

Also, there's still only 1 region/language byte this gen (but there's apparently another byte for the region of the 3DS, and another for the country).

Link to comment
Share on other sites

A byte can hold up to 8 bits, which is 256 in base 10 decimal (which means that it can hold 256 different regions).

Also, there's still only 1 region/language byte this gen (but there's apparently another byte for the region of the 3DS, and another for the country).

I'm well aware of that, but the .pkm structure for 4th and 5th gen used an entire byte solely for the 7 languages.

Link to comment
Share on other sites

It might be that 0x18-0x1B is actually the PID and the value at 0x0 is just an unrelated number.

Found an article (in Japanese) by rusted_coil describing that spot patterns of Spinda can be fixed along with IV inheritance by the breeding mechanism similar to BW2 (1), but the shiny status can't (2). Perhaps this implies that either Spinda spots or shiny check was no longer dependent on PID?

Edit: both (1) and (2) are quoted in the article; (1) can be found by following the "さきさんの記事" link, and (2) can be found in the Twitter links.

Link to comment
Share on other sites

According to Serebii, the games themselves now have a build-in checker to see if your Pokémon's legitimately obtained or not:

A thing that has been in question for a while since the launch of the game has been confirmed. In the status screen for Pokémon, and seen in trades and in the box, you may have noticed a blue pentagon next to your Pokémon. The meaning of this had yet to be determined, but has been revealed today. This pentagon is essentially a hack check confirmation. If your Pokémon has this, it confirms it was obtained legitimately in-game or through event. If not, then it has an error and has been hacked.

http://serebii.net/index2.shtml

(Why does Wireshark the Gible have that pentagon? I don't know. Perhaps the game didn't find Wireshark suspicious because it isn't a very blatant hacked Pokémon that seemed completely legit to the game itself (You DO know how well-made hacked Pokémon could fool detection in older games, right? Well that could happen here) ).

Link to comment
Share on other sites

According to Serebii, the games themselves now have a build-in checker to see if your Pokémon's legitimately obtained or not:

http://serebii.net/index2.shtml

(Why does Wireshark the Gible have that pentagon? I don't know. Perhaps the game didn't find Wireshark suspicious because it isn't a very blatant hacked Pokémon that seemed completely legit to the game itself (You DO know how well-made hacked Pokémon could fool detection in older games, right? Well that could happen here) ).

The information was translated incompletely for Serebii. I read the website and informed him. He has made an update. I am convinced it is a region marker.

Link to comment
Share on other sites

My last post was made from my tablet, so it was a bit brief. I can explain a little bit better now.

The webpage in question was the one outlining the rules for the kid's Dragon King tournament. It said Pokemon with that blue pentagon mark could be used and that the mark meant it was "Pokemon obtained through normal play in the Kalos region." People who read that focused on the "normal play" bit, but I wondered why it said "Kalos region" and dug for more info. In the more detailed regulations, it said pokemon from the national dex 001-718 could be used (excluding the usual legendaries) but that Pokemon brought in through Pokemon Bank/Transporter could NOT be used (suggesting these pokemon would not have the blue pentagon mark).

In conclusion:

I do not think pkx files have any kind of byte or mark or anything on them that is the result of an in-game hack check. I believe that mark is a visual representation of the region where the pokemon was encountered.

Link to comment
Share on other sites

I'm throwing together a Python script that picks out Pokémon data from packets and saves it as a .bin, would anyone be interested in using it? It'll also display some basic information about a .pkx file, similar to this format:

Untitled.png

It's by no means an editor, meant just to view info.

Link to comment
Share on other sites

I'm throwing together a Python script that picks out Pokémon data from packets and saves it as a .bin, would anyone be interested in using it? It'll also display some basic information about a .pkx file, similar to this format:

It's by no means an editor, meant just to view info.

I would be willing to use it if you can also make it save a log file if possible and it checks for pokemon data constantly rather then just one at a time (if it doesn't already do that) but im sure it will be very helpful as well if it automatically dumps .pkx files that it finds.

Link to comment
Share on other sites

I would be willing to use it if you can also make it save a log file if possible and it checks for pokemon data constantly rather then just one at a time (if it doesn't already do that) but im sure it will be very helpful as well if it automatically dumps .pkx files that it finds.

If it's running, it's checking for Wonder Trade-sized packets from a user-specified MAC address (your 3DS's). And it'll dump the encrypted data, not a .pkx, unless Bond697 would graciously allow me to distribute his decrypting program with it.

What would you want it to be logging?

Link to comment
Share on other sites

If it's running, it's checking for Wonder Trade-sized packets from a user-specified MAC address (your 3DS's). And it'll dump the encrypted data, not a .pkx, unless Bond697 would graciously allow me to distribute his decrypting program with it.

What would you want it to be logging?

well i figured it would be more useful for the developers if it were to save logs of all the pokemon data such as moves and abilities etc (just a suggestion), also it doesn't matter what the file type is when most of the people using the program won't need the files, and one last thing, will this work in regular p2p trades? it would be more useful if it does, at least then we can check iv's and what not without trading away our pokemon.

Link to comment
Share on other sites

well i figured it would be more useful for the developers if it were to save logs of all the pokemon data such as moves and abilities etc (just a suggestion), also it doesn't matter what the file type is when most of the people using the program won't need the files, and one last thing, will this work in regular p2p trades? it would be more useful if it does, at least then we can check iv's and what not without trading away our pokemon.

I have not looked into P2P packets, but as long as they have a pattern, I can add support for them.

On another note, when using Wireshark to check for Wonder Trade packets, I only ever see the packet containing the Pokémon I'm receiving, not the one I'm sending. I'm assuming from this image that there would be 2 packets with length 989, one with the outgoing Pokémon and one with the incoming. Am I missing something?

Link to comment
Share on other sites

I'm throwing together a Python script that picks out Pokémon data from packets and saves it as a .bin, would anyone be interested in using it? It'll also display some basic information about a .pkx file, similar to this format:

It's by no means an editor, meant just to view info.

Yea that would be great.

Also, did anybody have a look at this program called "Instacheck" at the smogon forum? They seem to have gotten data called Shiny value from pokemons. I don't think they posted any information or documentation about. Anybody have a clue about this? I see that xfr is credited for the research too

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