I know its clean, I trust you man ^^
Just letting you know it gives a false positive
And your leaving C++?
You so good at it, why even bother? haha
I know its clean, I trust you man ^^
Just letting you know it gives a false positive
And your leaving C++?
You so good at it, why even bother? haha
omg Stepler u are rly great programmer.
I have only one question?
Names of functions and procedures are only your invention or maybe u have some informations about client source? xD
good to know the hard part for me was making the asm code, but you probably know it better and/or will find a better way eventually heheOriginally Posted by Stepler
Nice Alex good tutorial its also an interesting fact to know that CIP has changed their compiler in the latest tibia, if someone hasent noticed that.
Thanks Stepler! This is exactly what i needed!
One question:
Can you post how to get command one by one with it's size?
I think its possible but I get lost with "pos" and "size"
DELETED:
I have deleted this post because the code I post for Beziak had a small mistake. I shouldn't hurry, sorry. I will post updated version soon.
Thanks
Hi Stepler!
Its working but sometimes its not catching all command, i dont know why.
My suggestion is replacing code in section
Receving complete decrypted packets in your app
Now it works;PCode:int OnGetNextPacket() { int iCmd = TfGetNextPacket(); if(iCmd != -1) { if((pRecvStream->dwPos-1) == 8) { LPBYTE pWholePacket = (LPBYTE)pRecvStream->pBuffer + pRecvStream->dwPos - 1; DWORD dwPacketSize = pRecvStream->dwSize - pRecvStream->dwPos + 1; //now you can process complete packet //example: MyParsePacket(pWholePacket, dwPacketSize); } } return iCmd; }
I've got an idea how to get length of each command,
Wait patiently for my code.. I will post it here soon!
Originally Posted by beziak
Why is the length needed? You can simply parse the packets you need, and keep offseting the pos. Then return the next command.
This way you dont have to worry about getting the length of packets you dont need to parse, only those you need to. Thats how I do it.
REMOVED~~ DUE TO SMALL BUG