Help finding dw_pLTClientShell

Posts 1–4 of 4 · Page 1 of 1
Help finding dw_pLTClientShell
Hey Comunity,

Can somebody show me how to find " dw_pLTClientShell" in IDA ?


Thanks in advance
Quote Originally Posted by EGOIST0162 View Post
Hey Comunity,

Can somebody show me how to find " dw_pLTClientShell" in IDA ?


Thanks in advance
Code:
#define dw_pLTClientShell 0x1B14458
Thanks how did you find it ?
Trough IDA or is dynamic analysis needed?
€dit my ESP Still Crashes when using this:

Code:
#define dwCPlayerStart  0x1FC
#define Index  0x204 
#define dwCPlayerSize  0xD80 
#define dw_pLTClientShell 0x1B14458
#define GetPlayerByIndex(LTClientShell, dwID) (CPlayer*)(LTClientShell + (dwID * dwCPlayerSize) + dwCPlayerStart)

struct cObject
{
public:
	char Spacer[4];
	D3DXVECTOR3 Body;
	D3DXVECTOR3 Foot;
	D3DXVECTOR3 Head;
};
struct _Transform
{
	D3DXVECTOR3 Pos;
	unsigned char spacer00[0x100];
};
struct CPlayer
{
	char Spacer00[8];
	cObject* Object;
	char ClientID;
	char Team;
	char Name[12];
	char Spacer01[2];
	int SHIT;
	int PlayerSlotTeam;
	int unkstruct1;
	bool Has_C4;
	int State;
	int Rank;
	int unkstruct2;
	int unkstruct3;
	short Health;
	short Kills;
	__int32 Deaths;
	__int32 HeadShots;
	__int32 TeamID;
	__int32 Ping;
};
struct IntersectInfo1
{
	D3DXVECTOR3 vImpactPos;	//0x0000
	char _UnkSpace[16];			//SPACE
	cObject* hObjImpact;	//0x001C
	DWORD m_hPoly;			//0x0020
	DWORD m_SurfaceFlags;	//0x0024
	DWORD m_hNode;			//0x0028
};
typedef bool(*ObjectFilterFn1)(cObject* hObj, void *pUserData);
struct IntersectQuery1
{
	D3DXVECTOR3 From;					//0x0000
	D3DXVECTOR3 To;						//0x000C
	char _UnkSpace[12];						//SPACE
	unsigned int Flags;					//0x0024
	ObjectFilterFn1 FilterFn;			//0x0028
	void* FilterIntersectParam;			//0x002C
	ObjectFilterFn1 FilterIntersectFn;	//0x0030
	void* FilterParam;					//0x0034
	void* PolyFilterParam;				//0x0038
};
class cClassManager
{
public:

	char GetMyIndex(DWORD pLTCLientShell)
	{
		if (pLTCLientShell)
		{
			BYTE clients = *(BYTE*)(pLTCLientShell + dwCPlayerStart);
			if (clients < 16)
				return *(char*)(pLTCLientShell + clients * dwCPlayerSize + Index);
		}
		return -1;
	}
	bool isGameReady()
	{
		if (GetModuleHandleA("CShell.dll") != NULL && GetModuleHandleA("crossfire.exe") != NULL && GetModuleHandleA("ClientFx.fxd") != NULL && GetModuleHandleA("d3d9.dll") != NULL)
			return true;
		return false;
	}
	bool inGame()
	{
		DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll");
		DWORD pLTClientShell = *(DWORD*)(CShell + dw_pLTClientShell);
		CPlayer* player = GetPlayerByIndex(pLTClientShell, GetMyIndex(pLTClientShell));
		if ((player != NULL) && (strlen(player->Name) > 2) && (player->Object != NULL))
			return true;
		return false;
	}
};
extern cClassManager pClassManager;
Quote Originally Posted by EGOIST0162 View Post
Thanks how did you find it ?
Trough IDA or is dynamic analysis needed?
€dit my ESP Still Crashes when using this:

Code:
#define dwCPlayerStart  0x1FC
#define Index  0x204 
#define dwCPlayerSize  0xD80 
#define dw_pLTClientShell 0x1B14458
#define GetPlayerByIndex(LTClientShell, dwID) (CPlayer*)(LTClientShell + (dwID * dwCPlayerSize) + dwCPlayerStart)

struct cObject
{
public:
	char Spacer[4];
	D3DXVECTOR3 Body;
	D3DXVECTOR3 Foot;
	D3DXVECTOR3 Head;
};
struct _Transform
{
	D3DXVECTOR3 Pos;
	unsigned char spacer00[0x100];
};
struct CPlayer
{
	char Spacer00[8];
	cObject* Object;
	char ClientID;
	char Team;
	char Name[12];
	char Spacer01[2];
	int SHIT;
	int PlayerSlotTeam;
	int unkstruct1;
	bool Has_C4;
	int State;
	int Rank;
	int unkstruct2;
	int unkstruct3;
	short Health;
	short Kills;
	__int32 Deaths;
	__int32 HeadShots;
	__int32 TeamID;
	__int32 Ping;
};
struct IntersectInfo1
{
	D3DXVECTOR3 vImpactPos;	//0x0000
	char _UnkSpace[16];			//SPACE
	cObject* hObjImpact;	//0x001C
	DWORD m_hPoly;			//0x0020
	DWORD m_SurfaceFlags;	//0x0024
	DWORD m_hNode;			//0x0028
};
typedef bool(*ObjectFilterFn1)(cObject* hObj, void *pUserData);
struct IntersectQuery1
{
	D3DXVECTOR3 From;					//0x0000
	D3DXVECTOR3 To;						//0x000C
	char _UnkSpace[12];						//SPACE
	unsigned int Flags;					//0x0024
	ObjectFilterFn1 FilterFn;			//0x0028
	void* FilterIntersectParam;			//0x002C
	ObjectFilterFn1 FilterIntersectFn;	//0x0030
	void* FilterParam;					//0x0034
	void* PolyFilterParam;				//0x0038
};
class cClassManager
{
public:

	char GetMyIndex(DWORD pLTCLientShell)
	{
		if (pLTCLientShell)
		{
			BYTE clients = *(BYTE*)(pLTCLientShell + dwCPlayerStart);
			if (clients < 16)
				return *(char*)(pLTCLientShell + clients * dwCPlayerSize + Index);
		}
		return -1;
	}
	bool isGameReady()
	{
		if (GetModuleHandleA("CShell.dll") != NULL && GetModuleHandleA("crossfire.exe") != NULL && GetModuleHandleA("ClientFx.fxd") != NULL && GetModuleHandleA("d3d9.dll") != NULL)
			return true;
		return false;
	}
	bool inGame()
	{
		DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll");
		DWORD pLTClientShell = *(DWORD*)(CShell + dw_pLTClientShell);
		CPlayer* player = GetPlayerByIndex(pLTClientShell, GetMyIndex(pLTClientShell));
		if ((player != NULL) && (strlen(player->Name) > 2) && (player->Object != NULL))
			return true;
		return false;
	}
};
extern cClassManager pClassManager;
Search the site and you will receive many solutions
Posts 1–4 of 4 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?