How to find funcions in CO

03/17/2011 14:01 TomasLT#1
How to find functions like jump, skill cast or similar using CE, or olly ?
Cant figure it out bcouse cant play around becouse if i use breakpoints after few sec i will dc from server
03/17/2011 21:30 Lateralus#2
Ah, I just explained to someone about how to do this.

Server->client packets are processed by the client with the client using a switch statement on the packet type. You can find these in olly by searching for switches. Once you find your desired packet, you can either go to the call and find where else the function is called from, or for some packets, like the general data packet, there will be a switch for each subtype so that you can easily find which function you're looking for.

Client->server packets are a bit harder to find, and I've found them by tracing back the send function and checking the calls. You can also trace back the recv function for server->client packets, but meh - easier with switches.

Edit: You can get client->server packet structures and their subtypes by searching for MOV WORD PTR DS:[EAX+2],(hex value of packet type). The subtypes call this function to create the packet, and the packets are constructed by pointer arithmetic.
03/18/2011 00:02 TomasLT#3
at last some1 with usefull answer. If really i found some functions that hanglle x and y coords and push them into the stack and after that call xxxxxxxx. But how can i know which 1 is good 1 ?
03/18/2011 03:41 Lateralus#4
Quote:
Originally Posted by TomasLT View Post
at last some1 with usefull answer. If really i found some functions that hanglle x and y coords and push them into the stack and after that call xxxxxxxx. But how can i know which 1 is good 1 ?
I don't quite understand what you're asking.
03/18/2011 07:38 tanelipe#5
When you're using CheatEngine to look at the X/Y values you'll find multiple functions that look like the real jump function (push push call) but don't really do that.

@OP The best way would be to find one of those functions and see if it calls the function that sends out general data packets (packet-type: 0x271A). However it might be a little trickier if you don't have much experience with packets and their structures.
03/18/2011 14:43 shitboi#6
Quote:
Originally Posted by tanelipe View Post
When you're using CheatEngine to look at the X/Y values you'll find multiple functions that look like the real jump function (push push call) but don't really do that.

@OP The best way would be to find one of those functions and see if it calls the function that sends out general data packets (packet-type: 0x271A). However it might be a little trickier if you don't have much experience with packets and their structures.
This question might be answered some where, but i'll get lazy and ask it here. Is there a tutorial on getting into asm parts of cheat engine? I have a bit of back ground in MIPS asm, but completly no background in Windows Programming.

Also, will the asm in ollydbg or CE be different when system is run under intel and amd?

I'll have a good load of time to learn things in summer (May), so i am thinking of planning something up now.
03/18/2011 17:30 Ian*#7
Quote:
Originally Posted by shitboi View Post
This question might be answered some where, but i'll get lazy and ask it here. Is there a tutorial on getting into asm parts of cheat engine? I have a bit of back ground in MIPS asm, but completly no background in Windows Programming.

Also, will the asm in ollydbg or CE be different when system is run under intel and amd?

I'll have a good load of time to learn things in summer (May), so i am thinking of planning something up now.
might change some between a 64 and a 32 bit but no the brand of processor you have wont make any difference. I'm not sure where a CE tutorial would be at other than at CE's website, but for olly just go to tuts4you, good tutorials right there for olly.
03/19/2011 10:10 sayed20100#8
????