Update /validator/v1/validate to handle payload types 1 and 2 - #7
Update /validator/v1/validate to handle payload types 1 and 2#7jonbarrow wants to merge 4 commits into
/validator/v1/validate to handle payload types 1 and 2#7Conversation
…est types a lot of context is still missing, but this sets the bones in place
|
Hold off on merging this, marking as draft. Someone on Discord just sent in a dump that has a payload type 3 now too. I want to look into that |
|
Okay I did some digging in Azahar because I kept running into a wall in Ghidra. In Ghidra when checking the main executable, I could actually only find a reference to payload type 0x400, yet another unseen type. After getting GDB Stub working in Azahar I learned that there's other calls to these functions inside some CROs, and I started poking around there. I managed to find what I think are all the payload types? I haven't tested most of these at runtime, I only checked the files in Ghidra and looked for the call patterns
Additionally, it seems like every single payload is just the plain encrypted Pokemon data except for type 1. The game seems to have an explict check for that. So I think I can simplify some things relatively easily |
Resolves #XXX
Changes:
Updates
ValidatorV1Validateto match my latest findings in Pokemon X. This endpoint is used for at least 2 operations. The current implementation only supports payload type 1, this adds support for type 2The following changes were made:
I used Charles to replay existing requests to test these changes and didn't see any regressions, but I have not tested in-game, as a disclaimer. But the Charles testing should be enough? I'll still leave that box unchecked though