Classes help

Posts 113 of 13 · Page 1 of 1
Classes help
Hi all. I saw there was posted a thred with the classes of combat arms and i am really interested on how to find them... I already trid to understand how they are working and how to get them but no succes... Maybe someone can give me a link to some tutorials that could help me. And i know how to use asm a bit...
He is talking about Classes AKA Structures or w.e you want to call them a Class holds information for something so i suppost he is trying to find out his own way to get Local Player Class and Enemy Player Class :O

(ReClass + StructBuilder) So look up for it theres are many tools that can help you out as well with tutorials


Quote Originally Posted by PID3RMAN View Post

are yhu talking about something like this http://www.mpgh.net/forum/207-combat...arms-hack.html
and thats how to make a hack lol not a Class -.- /
Combat arms is quite easy so many useful strings:

So upon my first glance at the game i look for string such as player, client ,team etc.

Code:
 ASCII "CCBAClientInfoMgr::AddClient %s End"
Wow a clientInfomanager and its a class , its a thiscall so typical try to find references to it and see if it is called by another function from another class.I tried this nothing sudden im sure i could have traced it back but im lazy and was looking for something quick!

So looking at this function i see other functions from the ClientInfoMgr are called in here. I will break it down line by line by importance!
Code:
3715F681   8BD9             MOV EBX,ECX// ecx = this = Clientinfomgr pointer


3715F6A3   6A 00            PUSH 0
3715F6A5   57               PUSH EDI
3715F6A6   8BCB             MOV ECX,EBX //this pointer is set by the ebx from earlier
3715F6A8   E8 F3E2FFFF      CALL cshell.3715D9A0//this function is part of the clientinfo mgr
now that you know that 3715D9A0 is a function in the clientinfomgr right click find references to it. I click around looking real quick for another this aka Clientinfomgr setting it a static one which you can see here at

Code:
3737DCD8   8B0D 683E7F37    MOV ECX,DWORD PTR DS:[377F3E68]          ; cshell.3780CE68
3737DCDE   50               PUSH EAX
3737DCDF   E8 BCFCDDFF      CALL cshell.3715D9A0
now you know 377F3E68 is a static pointer to the Clientinfomgr.In reclass go to it from their i basically eye ball perked everything...waiting for someone to die, checking pointers etc. The only thing i had to see in the game was finding refrence to 377F3E68 and seeing what appeard a player loop with a pointer setting +264 which is the playerInfo* next
Quote Originally Posted by SNal2F View Post
Combat arms is quite easy so many useful strings:

So upon my first glance at the game i look for string such as player, client ,team etc.

Code:
 ASCII "CCBAClientInfoMgr::AddClient %s End"
Wow a clientInfomanager and its a class , its a thiscall so typical try to find references to it and see if it is called by another function from another class.I tried this nothing sudden im sure i could have traced it back but im lazy and was looking for something quick!

So looking at this function i see other functions from the ClientInfoMgr are called in here. I will break it down line by line by importance!
Code:
3715F681   8BD9             MOV EBX,ECX// ecx = this = Clientinfomgr pointer


3715F6A3   6A 00            PUSH 0
3715F6A5   57               PUSH EDI
3715F6A6   8BCB             MOV ECX,EBX //this pointer is set by the ebx from earlier
3715F6A8   E8 F3E2FFFF      CALL cshell.3715D9A0//this function is part of the clientinfo mgr
now that you know that 3715D9A0 is a function in the clientinfomgr right click find references to it. I click around looking real quick for another this aka Clientinfomgr setting it a static one which you can see here at

Code:
3737DCD8   8B0D 683E7F37    MOV ECX,DWORD PTR DS:[377F3E68]          ; cshell.3780CE68
3737DCDE   50               PUSH EAX
3737DCDF   E8 BCFCDDFF      CALL cshell.3715D9A0
now you know 377F3E68 is a static pointer to the Clientinfomgr.In reclass go to it from their i basically eye ball perked everything...waiting for someone to die, checking pointers etc. The only thing i had to see in the game was finding refrence to 377F3E68 and seeing what appeard a player loop with a pointer setting +264 which is the playerInfo* next
wow man really thanks... It's the first normal answer i got. Every one else was trying to tell me watch at ReClass but ReClass is for building the structs when you need to watch in the asm code to get all the adressses to build the structs. Thank you very much for your help.
mm ok i figured and i found the pointers for eu but know that i know the static pointer of the class how can i find the members of that class like team, health, postion... i tried finding alll the references to that pointer and looked through them but no success...
Quote Originally Posted by AnoNimTeck View Post
mm ok i figured and i found the pointers for eu but know that i know the static pointer of the class how can i find the members of that class like team, health, postion... i tried finding alll the references to that pointer and looked through them but no success...
I think thats where ReClass comes in :\
Not really sure about that stuff
Quote Originally Posted by ac1d_buRn View Post


I think thats where ReClass comes in :\
Not really sure about that stuff
mm no... I just found some strings like "Name", "Head", "JUMPING" and i watched through them and i noticed every time those string are called there is near above them a pointer then i watched throught the references of that pointer and saw it is the pointer of the PlayerStats class i am not sure but i am quite figuring out how all those works...
This is where reclass comes in like person above said, other than player next , I eye balled the rest.
mm ok if you say that.... i know i give to much question but know that i know the pointer of a class how do i find it's members and theyr place in the struct?(like 0x264 or smth like don't know how to spell it....)
Quote Originally Posted by AnoNimTeck View Post
mm ok if you say that.... i know i give to much question but know that i know the pointer of a class how do i find it's members and theyr place in the struct?(like 0x264 or smth like don't know how to spell it....)

find refrences to the this and look at the functions from here its eye balling and educated guessing....with reversing functions it helps knowing what the variables do but with the 264 at the end of many functions you see a register moving in. Like said b4 from here its alot of eyeballing and guessing!
/Moved to Coding Help & Discussion section .
Posts 113 of 13 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?