I am trying to make a game server emulator for a specific MMORPG (Perfect World). I know the basics of how the network of the game works and the structure for some packets, but they all are encrypted, except for the username in the login packet.
I am using Olly to try to find the crypt function for the packets that are send from the client to server to know how the game encrypts the data, and I need help to find the crypt function. I took some screenshots of Olly during the debugging and commented what I have analyzed in the code.
This is before I find the call to send, when I send a chat message in the game I see this:
Now, that was when I found the function which call send, and the dump for each line of this function until the send call:
I have more screenshots of the dump for the others lines but I do not have the reputation to post more than two links per time, so I will post the others later if someone wants them.
My question is, where is the crypt function? And how does it work in a language such as C++?