I need help with class

Posts 1–15 of 35 · Page 1 of 3
I need help with class
Can anyone tell me how to work with such class?

class cPlayerInfo
{
public:

char Spacer01[40];
float DamagePenaltyTime;
float DamagePenaltyMoveRate;
float C4PlantTime;
float C4DefuseTime;
float MaxCanDefuseDistance;
float CharacterHiddenAlpha;
float CharacterHiddenWalkAlpha;
float CharacterHiddenRunAlpha;
float MovementHiddenRate;
};

Every hint is welcome.Thanks
Quote Originally Posted by maximus8011 View Post
Can anyone tell me how to work with such class?

class cPlayerInfo
{
public:

char Spacer01[40];
float DamagePenaltyTime;
float DamagePenaltyMoveRate;
float C4PlantTime;
float C4DefuseTime;
float MaxCanDefuseDistance;
float CharacterHiddenAlpha;
float CharacterHiddenWalkAlpha;
float CharacterHiddenRunAlpha;
float MovementHiddenRate;
};

Every hint is welcome.Thanks
Here is a tut: http://www.mpgh.net/forum/242-crossf...e-classes.html
Quote Originally Posted by Code[VB] View Post
hmm but how to find the class pointer? do you know that ?
u mean the BasicPlayerInfo?
Quote Originally Posted by DaRk View Post
u mean the BasicPlayerInfo?
i mean the class pointer! (look in the link.. the tut from @Brimir)
Quote Originally Posted by Code[VB] View Post
i mean the class pointer! (look in the link.. the tut from @Brimir)
yea it's basicplayerinfo and the string for it is "BasicPlayerInfo"
Quote Originally Posted by DaRk View Post
yea it's basicplayerinfo and the string for it is "BasicPlayerInfo"
U can just search for the seeghost string and u will find it like 6-7 lines after the string..
Quote Originally Posted by Assassin's Creed View Post

U can just search for the seeghost string and u will find it like 6-7 lines after the string..
that takes longer bro...why no just search for BasicPlayerInfo instead of doing that?
Quote Originally Posted by DaRk View Post
that takes longer bro...why no just search for BasicPlayerInfo instead of doing that?
As u like ...i can see it is easier
Quote Originally Posted by Code[VB] View Post
hmm but how to find the class pointer? do you know that ?

The class pointer depends on what hacks you are going to make, for example if I wanted to make a See Ghost hack then I would use BasicPlayerInfo.

However, if you wanted to make a hack which has a bit of everything e.g. Seeghost, NoFallDamage, No Reload and Speed Hack. Then your class pointer can be 4 addresses then just one e.g. WeaponMgr, PlayerInfo, BasicPlayerInfo and NoFallMgr.

I already made a hack which is based on classes and I have released it on the CrossFire Hack section. I used NoFallen and Brimir classes...

Anyway, I thought you knew little about C++...?

Quote Originally Posted by Assassin's Creed View Post

It's 0xA021F8
Yes, you are right...
i look into cshell and i think its one of the red lines i marked:

Code:
1011E4D0   68 C0222F10      PUSH CShell.102F22C0                     ; ASCII "BasicPlayerInfoType"
1011E4D5   50               PUSH EAX
1011E4D6   E8 05391900      CALL CShell.102B1DE0
1011E4DB   83C4 08          ADD ESP,8
1011E4DE   3BC3             CMP EAX,EBX
1011E4E0   74 28            JE SHORT CShell.1011E50A
1011E4E2   8B48 04          MOV ECX,DWORD PTR DS:[EAX+4]
1011E4E5   8B51 04          MOV EDX,DWORD PTR DS:[ECX+4]
1011E4E8   8B42 04          MOV EAX,DWORD PTR DS:[EDX+4]
1011E4EB   50               PUSH EAX
1011E4EC   90               NOP
1011E4ED   E8 A5E09063      CALL MSVCR80.atoi
1011E4F2   8B0D F421A010    MOV ECX,DWORD PTR DS:[10A021F4]
1011E4F8   8B15 F821A010    MOV EDX,DWORD PTR DS:[10A021F8]
1011E4FE   83C4 04          ADD ESP,4
1011E501   69C9 A8000000    IMUL ECX,ECX,0A8
1011E507   890411           MOV DWORD PTR DS:[ECX+EDX],EAX
1011E50A   8B4C24 30        MOV ECX,DWORD PTR SS:[ESP+30]
1011E50E   3BCB             CMP ECX,EBX
1011E510   74 0D            JE SHORT CShell.1011E51F
1011E512   8B4424 34        MOV EAX,DWORD PTR SS:[ESP+34]
1011E516   2BC1             SUB EAX,ECX
1011E518   C1F8 02          SAR EAX,2
1011E51B   3BF8             CMP EDI,EAX
1011E51D   72 06            JB SHORT CShell.1011E525
1011E51F   FFD5             CALL EBP
1011E521   8B4C24 30        MOV ECX,DWORD PTR SS:[ESP+30]
1011E525   8B04B9           MOV EAX,DWORD PTR DS:[ECX+EDI*4]
1011E528   68 B0222F10      PUSH CShell.102F22B0                     ; ASCII "MovementSpeed"
1011E52D   50               PUSH EAX
1011E52E   E8 AD381900      CALL CShell.102B1DE0
1011E533   83C4 08          ADD ESP,8
1011E536   3BC3             CMP EAX,EBX
1011E538   74 30            JE SHORT CShell.1011E56A
1011E53A   8B48 04          MOV ECX,DWORD PTR DS:[EAX+4]
1011E53D   8B51 04          MOV EDX,DWORD PTR DS:[ECX+4]
1011E540   8B42 04          MOV EAX,DWORD PTR DS:[EDX+4]
1011E543   50               PUSH EAX
1011E544   90               NOP
1011E545   E8 2B389163      CALL MSVCR80.atof
1011E54A   D95C24 24        FSTP DWORD PTR SS:[ESP+24]
1011E54E   A1 F421A010      MOV EAX,DWORD PTR DS:[10A021F4]
1011E553   D94424 24        FLD DWORD PTR SS:[ESP+24]
1011E557   8B0D F821A010    MOV ECX,DWORD PTR DS:[10A021F8]
1011E55D   83C4 04          ADD ESP,4
1011E560   69C0 A8000000    IMUL EAX,EAX,0A8
1011E566   D95C08 04        FSTP DWORD PTR DS:[EAX+ECX+4]
1011E56A   8B4C24 30        MOV ECX,DWORD PTR SS:[ESP+30]
1011E56E   3BCB             CMP ECX,EBX
but what is now the class pointer?

edit: // i tend that 0x2B1DE0 is the class pointer
Quote Originally Posted by Code[VB] View Post
i look into cshell and i think its one of the red lines i marked:

Code:
1011E4D0   68 C0222F10      PUSH CShell.102F22C0                     ; ASCII "BasicPlayerInfoType"
1011E4D5   50               PUSH EAX
1011E4D6   E8 05391900      CALL CShell.102B1DE0
1011E4DB   83C4 08          ADD ESP,8
1011E4DE   3BC3             CMP EAX,EBX
1011E4E0   74 28            JE SHORT CShell.1011E50A
1011E4E2   8B48 04          MOV ECX,DWORD PTR DS:[EAX+4]
1011E4E5   8B51 04          MOV EDX,DWORD PTR DS:[ECX+4]
1011E4E8   8B42 04          MOV EAX,DWORD PTR DS:[EDX+4]
1011E4EB   50               PUSH EAX
1011E4EC   90               NOP
1011E4ED   E8 A5E09063      CALL MSVCR80.atoi
1011E4F2   8B0D F421A010    MOV ECX,DWORD PTR DS:[10A021F4]
1011E4F8   8B15 F821A010    MOV EDX,DWORD PTR DS:[10A021F8]
1011E4FE   83C4 04          ADD ESP,4
1011E501   69C9 A8000000    IMUL ECX,ECX,0A8
1011E507   890411           MOV DWORD PTR DS:[ECX+EDX],EAX
1011E50A   8B4C24 30        MOV ECX,DWORD PTR SS:[ESP+30]
1011E50E   3BCB             CMP ECX,EBX
1011E510   74 0D            JE SHORT CShell.1011E51F
1011E512   8B4424 34        MOV EAX,DWORD PTR SS:[ESP+34]
1011E516   2BC1             SUB EAX,ECX
1011E518   C1F8 02          SAR EAX,2
1011E51B   3BF8             CMP EDI,EAX
1011E51D   72 06            JB SHORT CShell.1011E525
1011E51F   FFD5             CALL EBP
1011E521   8B4C24 30        MOV ECX,DWORD PTR SS:[ESP+30]
1011E525   8B04B9           MOV EAX,DWORD PTR DS:[ECX+EDI*4]
1011E528   68 B0222F10      PUSH CShell.102F22B0                     ; ASCII "MovementSpeed"
1011E52D   50               PUSH EAX
1011E52E   E8 AD381900      CALL CShell.102B1DE0
1011E533   83C4 08          ADD ESP,8
1011E536   3BC3             CMP EAX,EBX
1011E538   74 30            JE SHORT CShell.1011E56A
1011E53A   8B48 04          MOV ECX,DWORD PTR DS:[EAX+4]
1011E53D   8B51 04          MOV EDX,DWORD PTR DS:[ECX+4]
1011E540   8B42 04          MOV EAX,DWORD PTR DS:[EDX+4]
1011E543   50               PUSH EAX
1011E544   90               NOP
1011E545   E8 2B389163      CALL MSVCR80.atof
1011E54A   D95C24 24        FSTP DWORD PTR SS:[ESP+24]
1011E54E   A1 F421A010      MOV EAX,DWORD PTR DS:[10A021F4]
1011E553   D94424 24        FLD DWORD PTR SS:[ESP+24]
1011E557   8B0D F821A010    MOV ECX,DWORD PTR DS:[10A021F8]
1011E55D   83C4 04          ADD ESP,4
1011E560   69C0 A8000000    IMUL EAX,EAX,0A8
1011E566   D95C08 04        FSTP DWORD PTR DS:[EAX+ECX+4]
1011E56A   8B4C24 30        MOV ECX,DWORD PTR SS:[ESP+30]
1011E56E   3BCB             CMP ECX,EBX
but what is now the class pointer?

edit: // i tend that 0x2B1DE0 is the class pointer
It's 0xA021F8
This is your code...
If you read Brimirs tut..
Code:
class cBasicPlayerInfo
 {
 public:

 float DamagePenaltyTime;
 float DamagePenaltyMoveRate;
 float C4PlantTime;
 float C4DefuseTime;
 float MaxCanDefuseDistance;
 float CharacterHiddenAlpha;
 float CharacterHiddenWalkAlpha;
 float CharacterHiddenRunAlpha;
 float MovementHiddenRate;
 };
Find the Class Pointer like Code[VB] said which is -> Search yourself. String is 'BasicPlayerInfo'

Add ->
Code:
DWORD cshell = (DWORD)GetModuleHandleA( "CShell.dll" );
Then add the pointer to your class
->
Code:
 cBasicPlayerInfo = *(BasicPlayerInfo*)(CShell +Addy);
Then add your acctual hack
->
Code:
if(BasicPlayerInfo) {
		BasicPlayerInfo->MovementHiddenRate = 300.0f; //Ghost visabilety

All credits to @Brimir

Code VB is it. 1011E4F2 8B0D F421A010 MOV ECX,DWORD PTR DS:[10A021F4]
Quote Originally Posted by [[SeXergy]] View Post
This is your code...
If you read Brimirs tut..
Code:
class cBasicPlayerInfo
 {
 public:

 float DamagePenaltyTime;
 float DamagePenaltyMoveRate;
 float C4PlantTime;
 float C4DefuseTime;
 float MaxCanDefuseDistance;
 float CharacterHiddenAlpha;
 float CharacterHiddenWalkAlpha;
 float CharacterHiddenRunAlpha;
 float MovementHiddenRate;
 };
Find the Class Pointer like Code[VB] said which is -> Search yourself. String is 'BasicPlayerInfo'

Add ->
Code:
DWORD cshell = (DWORD)GetModuleHandleA( "CShell.dll" );
Then add the pointer to your class
->
Code:
 cBasicPlayerInfo = *(BasicPlayerInfo*)(CShell +Addy);
Then add your acctual hack
->
Code:
if(BasicPlayerInfo) {
		BasicPlayerInfo->MovementHiddenRate = 300.0f; //Ghost visabilety

All credits to @Brimir
and where the hell is the class pointer now?
Code:
1011E420   68 D4222F10      PUSH CShell.102F22D4                     ; ASCII "BasicPlayerInfo"
1011E425   8D4424 3C        LEA EAX,DWORD PTR SS:[ESP+3C]
1011E429   50               PUSH EAX
1011E42A   8D4C24 48        LEA ECX,DWORD PTR SS:[ESP+48]
1011E42E   51               PUSH ECX
1011E42F   E8 DC3D1900      CALL CShell.102B2210
1011E434   8B4C24 50        MOV ECX,DWORD PTR SS:[ESP+50]
1011E438   83C4 20          ADD ESP,20
1011E43B   3BCB             CMP ECX,EBX
1011E43D   891D F421A010    MOV DWORD PTR DS:[10A021F4],EBX
1011E443   75 04            JNZ SHORT CShell.1011E449
1011E445   33C0             XOR EAX,EAX
1011E447   EB 09            JMP SHORT CShell.1011E452
1011E449   8B4424 34        MOV EAX,DWORD PTR SS:[ESP+34]
1011E44D   2BC1             SUB EAX,ECX
1011E44F   C1F8 02          SAR EAX,2
1011E452   33C9             XOR ECX,ECX
1011E454   BA A8000000      MOV EDX,0A8
1011E459   F7E2             MUL EDX
1011E45B   0F90C1           SETO CL
1011E45E   F7D9             NEG ECX
1011E460   0BC8             OR ECX,EAX
1011E462   51               PUSH ECX
1011E463   E8 7F751900      CALL CShell.102B59E7
1011E468   83C4 04          ADD ESP,4
1011E46B   3BC3             CMP EAX,EBX
1011E46D   A3 F821A010      MOV DWORD PTR DS:[10A021F8],EAX
1011E472   0F84 41110000    JE CShell.1011F5B9
1011E478   8B5424 30        MOV EDX,DWORD PTR SS:[ESP+30]
1011E47C   3BD3             CMP EDX,EBX
1011E47E   75 04            JNZ SHORT CShell.1011E484
1011E480   33C9             XOR ECX,ECX
1011E482   EB 09            JMP SHORT CShell.1011E48D
1011E484   8B4C24 34        MOV ECX,DWORD PTR SS:[ESP+34]
1011E488   2BCA             SUB ECX,EDX
1011E48A   C1F9 02          SAR ECX,2
1011E48D   69C9 A8000000    IMUL ECX,ECX,0A8
1011E493   51               PUSH ECX
1011E494   53               PUSH EBX
1011E495   50               PUSH EAX
1011E496   E8 817C1900      CALL CShell.102B611C
1011E49B   8B2D C4C32C10    MOV EBP,DWORD PTR DS:[102CC3C4]          ; MSVCR80._invalid_parameter_noinfo
1011E4A1   83C4 0C          ADD ESP,0C
1011E4A4   33FF             XOR EDI,EDI
1011E4A6   EB 08            JMP SHORT CShell.1011E4B0
1011E4A8   8DA424 00000000  LEA ESP,DWORD PTR SS:[ESP]
1011E4AF   90               NOP
1011E4B0   8B4C24 30        MOV ECX,DWORD PTR SS:[ESP+30]
1011E4B4   3BCB             CMP ECX,EBX
1011E4B6   0F84 8F100000    JE CShell.1011F54B
1011E4BC   8B4424 34        MOV EAX,DWORD PTR SS:[ESP+34]
1011E4C0   2BC1             SUB EAX,ECX
1011E4C2   C1F8 02          SAR EAX,2
1011E4C5   3BF8             CMP EDI,EAX
1011E4C7   0F83 7E100000    JNB CShell.1011F54B
1011E4CD   8B04B9           MOV EAX,DWORD PTR DS:[ECX+EDI*4]
Posts 1–15 of 35 · Page 1 of 3

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?