Great tutorial!
Unfortunately I just get every 5 minutes or something like this a packet, I think that the send(); function gets used by the protection system and the game uses WSASend();.
The recv(); bp does not return any packet data at all, but I think it is just the game. The game actually encrypts its packets but I first just want to get a packet editor/sender to work. After this works good I will try to find the encryption routine.
Im pretty new to this kind of things but I understood many parts of your tutorial, I just have some questions left:
I found some more functions like sendto, recvto, WSASend in ws2_32.dll which are not documented in your tutorial.
Are those functions doing the same like send(); or recv();?
How did you find 'EBP+0x00;
EBP+0x04;
EBP+0x08;
EBP+0x0c;
EBP+0x10;
EBP+0x14'?
Is it the same in sendto, recvto and WSASend functions?
Did you 'open' the stack and just noted the address down?
I tried to activate the stack tab in the disassembler but no luck yet.
I looked into the help file but there are not any information about it.
How did you find out where the breakpoint has to be set?
Did you look for a specific piece of code or is it just random?
How do we know when the stack gets realigned?
I look forward to your answers.