Hi
I've recently come into quotes I don't understand, could somebody help me?
Things I've run into and would like to know what they mean(and how they work)
As in: A game uses a struct/class player object
This object describes the player's:
1.location (x,y,z)
2.health
3.stamina
4.number of bullets
5.number of granades
etc...
I've seen various examples of these structs (which appeard to be coded from scratch) being used to modify amost everything modefiable (aka: using these structs to change stamina, or obtaining the current health, teleporting by modefying the x,y,z's aimbot's and more)
So my question is how do these things work, Examples of structs I've seen:
By Gellin:
Code:
377B0858 // Local Pointer for CA NA
class Main;
class Info;
class Stats;
class WepInfo;
class Something;
class Main
{
public:
Info* goToInfoClass; //0000
};
class Info
{
public:
char unknown0[8];
__int32 Unknown1; //0008
__int32 iCurrentHealth; //000C
char unknown2[4];
__int32 iMaxHealth; //0014
char unknown3[4];
WepInfo* goToWepInfo;//001C
Something* goToSomething; //0020
char unknown4[348];
float fStamina; //0180
char unknown5[8];
__int32 iWeaponSlotInUse; //018C
float fCameraSomething; //0190
float fCameraSomething2; //0194
float fCameraSomething3; //0198
char unknown6[32];
Stats* goToStats; //01BC
};
class WepInfo
{
public:
__int32 iBackPackABulletsLeft; //0000
__int32 i2ndaryBulletsLeft; //0004
__int32 Unknown0; //0008
__int32 iGrenadesLeft; //000C
__int32 iBackPackBBulletsLeft; //0010
};
class Stats
{
public:
char unknown0[16];
char szLocalNameChangesInKill[16]; //0010
char unknown1[12];
__int32 iKills; //002C
__int32 iDeaths; //0030
char unknown2[44];
__int32 iHeadShots; //0060
};
class Something
{
public:
BYTE bIsAlive; //0000
};
Another example:
Code:
0x3776FBC4
class Main
{
public:
LocalInfo* gotoNextClass; //0000
};
class LocalInfo
{
public:
char unknown0[44];
__int32 iAction; //002C
__int32 1Alive2Dead; //0030
char unknown1[248];
MoreInfo* gotoNextClass2; //012C
char unknown2[744];
float Stamina; //0418
};
class MoreInfo
{
public:
char unknown0[200];
float fLocalX; //00C8
float fLocalY; //00CC
float fLocalZ; //00D0
};
Then the next thing I see is this:
Code:
LocalInfo *pLocal = *(LocalInfo**)0x3776FBC4;
*note* that I do understand (or think I do, correct me if I'm wrong) what this person is doing:
He creates an LocalInfo object (pLocal / pointer to localinfo) in free store (pointer) Which he than points (using the address) to the real struct used by the game
Then he would be able to modify his in-game stats doing this:
Code:
pLocal->Stamina = somebignumber
Am I correct???
And what would this (0x3776FBC4) address be?
Is it an address to some master class wich holds all other things together?
How was the coder able to create the struct he then uses to modify his in-game stats?
Exactly how does this code work?
Would this code still work if I for example remove a member from one of these objects (Problems with using a default constructer (is that what is used))??
Game: CaEu
Game's engine: LilithTech jupiter engine
-SCHiM