Some Classes Updated for Crossfire PH

Posts 1–5 of 5 · Page 1 of 1
Some Classes Updated for Crossfire PH
I can't debug Crossfire with CShell module loaded. I will post a separate classes for it.

Code:
class CrossFire_Engine_Class
{
public:
	ILTCSBase* pLTCSBase; //0x0000 
	ILTDrawPrim* pLTDrawPrim; //0x0004 
	ILTClientPhysics* pLTClientPhysics; //0x0008 
	ILTWidgetManager* pLTWidgetManager; //0x000C 
	ILTRenderStyles* pLTRenderStyles; //0x0010 
	IClientFileMgr* pClientFileMgr; //0x0014 
char _0x0018[4];
	ILTSound* pLTSound; //0x001C 
	ILTCursor* pLTCursor; //0x0020 
	ILTVideoMgr* pLTVideoMgr; //0x0024 
	ILTTexInterface* pLTTexInterface; //0x0028 
	IWorldClientBSP* pWorldClientBSP; //0x002C 
	IWorldBlindObjectData* pWorldBlindObjectData; //0x0030 
	ILTFontManager* pLTFontManager; //0x0034 
	ILTRenderMgr* pLTRenderMgr; //0x0038 
	IWorldParticleBlockerData* pIWorldParticleBlockerData; //0x003C 
	ILTModelClient* pILTModelClient; //0x0040 
	ILTBenchMarkMgr* pILTBenchMarkMgr; //0x0044 
char _0x0048[4];
	IWorldShareBSP* pIWorldShareBSP; //0x004C 
	ILTTransform* pILTTransform; //0x0050 
char _0x0054[12];
	IClientDebugGraphMgr* pIClientDebugGraphMgr; //0x0060 
	ILTClient* pILTClient; //0x0064 
char _0x0068[8];
	ICommandLineArgsCommonImp* pICommandLineArgsCommonImp; //0x0070 
char _0x0074[8];
	IServerFileMgr* pIServerFileMgr; //0x007C 
char _0x0080[292];
	ICompress* pICompress; //0x01A4 
char _0x01A8[2000];
	ILTModelServer* pILTModelServer; //0x0978 
char _0x097C[20];
	CLTCommonShared* pCLTCommonShared; //0x0990 
char _0x0994[16];
	IServerConsoleState* pIServerConsoleState; //0x09A4 
char _0x09A8[20];
	ILTPhysics* pILTPhysics; //0x09BC 
char _0x09C0[1080];
	ILTServerPhysics* pILTServerPhysics; //0x0DF8 
char _0x0DFC[580];

};//Size=0x1040

class ILTCSBase
{
public:
	CLTClient* pCLTClient; //0x0000 
char _0x0004[120];
	bool(WINAPIV *IntersectSegment)(IntersectQuery &iQuery, IntersectInfo *Info); //0x007C 
char _0x0080[412];
	void(WINAPIV *RunConsoleCommand)(CHAR *Command); //0x021C 
char _0x0220[508];
	LTRESULT SendToServer(ILTMessage_Read *pMsg, HOBJECT hSender, uint32 flags); //0x041C 
char _0x0420[1056];

};//Size=0x0840

class ILTDrawPrim
{
public:
	CD3DDrawPrim* pD3DDrawPrim; //0x0000 
char _0x0004[124];

};//Size=0x0080

class CD3DDrawPrim
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTClientPhysics
{
public:
	CLTPhysicsClient* pLTPhysicsClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTPhysicsClient
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTWidgetManager
{
public:
	CUIWidgetManager* pUIWidgetManager; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CUIWidgetManager
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTRenderStyles
{
public:
	D3DRenderStyles* pD3DRenderStyles; //0x0000 
char _0x0004[60];

};//Size=0x0040

class D3DRenderStyles
{
public:
char _0x0000[64];

};//Size=0x0040

class IClientFileMgr
{
public:
	CClientFileMgr* pCClientFileMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CClientFileMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTSound
{
public:
	CSoundMgr* pCSoundMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CSoundMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTCursor
{
public:
	CLTCursor* pCLTCursor; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTCursor
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTVideoMgr
{
public:
	CLTVideoMgr* pCLTVideoMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTVideoMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTTexInterface
{
public:
	CSysTexInterFace* pCSysTexInterFace; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CSysTexInterFace
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldClientBSP
{
public:
	CWorldClientBSP* pCWorldClientBSP; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldClientBSP
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldBlindObjectData
{
public:
	CWorldBlindObjectData* pCWorldBlindObjectData; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldBlindObjectData
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTFontManager
{
public:
	CUIFontManager* pCUIFontManager; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CUIFontManager
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTRenderMgr
{
public:
	CLTRenderMgr* pCLTRenderMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTRenderMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldParticleBlockerData
{
public:
	CWorldParticleBlockerData* pCWorldParticleBlockerData; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldParticleBlockerData
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTModelClient
{
public:
	CLTModelClient* pCLTModelClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTModelClient
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTBenchMarkMgr
{
public:
	CLTBenchmarkMgr* pCLTBenchmarkMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTBenchmarkMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldShareBSP
{
public:
	CWorldSharedBSP* pCWorldSharedBSP; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldSharedBSP
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTTransform
{
public:
	CLTTransform* pCLTTransform; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTTransform
{
public:
char _0x0000[64];

};//Size=0x0040

class IClientDebugGraphMgr
{
public:
	CClientDebugGraphMgr* pCClientDebugGraphMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CUIFontManager
{
public:
char _0x0000[64];

};//Size=0x0040

class CClientDebugGraphMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class N00A77996
{
public:
char _0x0000[1088];

};//Size=0x0440

class ILTClient
{
public:
	CLTClient* pCLTClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTClient
{
public:
char _0x0000[64];

};//Size=0x0040

class ICommandLineArgsCommonImp
{
public:
char _0x0000[64];

};//Size=0x0040

class IServerFileMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ICompress
{
public:
	CCompress* pCCompress; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CCompress
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTModelServer
{
public:
	CLTModelServer* pCLTModelServer; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTModelServer
{
public:
char _0x0000[64];

};//Size=0x0040

class CLTCommonShared
{
public:
	CLTCommonClient* pCLTCommonClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTCommonClient
{
public:
char _0x0000[64];

};//Size=0x0040

class IServerConsoleState
{
public:
	CServerConsoleState* pCServerConsoleState; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CServerConsoleState
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTPhysics
{
public:
	ILTServer* pILTServer; //0x0000 
	void* GetTcpIpAddress; //0x0004 
char _0x0008[56];

};//Size=0x0040

class ILTServer
{
public:
char _0x0000[152];
	virtual LTRESULT GetObjectPos(HLOCALOBJ hObj, LTVector *pPos) = 0; //0x0098 
	virtual LTRESULT GetObjectPos2(HLOCALOBJ hObj, LTVector *pPos) = 0; //0x009C 
char _0x00A0[68];
	virtual LTRESULT GetWorldBox(LTVector &min, LTVector &max) = 0; //0x00E4 
	void* FindObjectIntersections; //0x00E8 
char _0x00EC[8];
	virtual LTRESULT FindNamedObjects(const char *pName, BaseObjArray<HOBJECT> &objArray, uint32 *nTotalFound = NULL) = 0; //0x00F4 
	virtual LTRESULT SendToObject(ILTMessage_Read *pMsg, HOBJECT hSender, HOBJECT hSendTo, uint32 flags) = 0; //0x00F8 
	virtual LTRESULT SendToServer(ILTMessage_Read *pMsg, HOBJECT hSender, uint32 flags) = 0; //0x00FC 
	virtual LTRESULT SetObjectSFXMessage(HOBJECT hObject,ILTMessage_Read *pMsg) = 0; //0x0100 
	virtual LTRESULT SendToClient(ILTMessage_Read *pMsg,HCLIENT hSendTo, uint32 flags) = 0; //0x0104 
	virtual LTRESULT SendSFXMessage(ILTMessage_Read *pMsg, uint32 flags) = 0; //0x0108 
	virtual LTRESULT GetClientPing(HCLIENT hClient, float &ping) = 0; //0x010C 
char _0x0110[8];
	virtual LTRESULT GetClientAddr(HCLIENT hClient, uint8 pAddr[4], uint16 *pPort) = 0; //0x0118; //0x0118 
char _0x011C[8];
	virtual LTRESULT GetObjectName(HOBJECT hObject, char *pName,uint32 nameBufSize) = 0; //0x0124 
	void* GetNetFlags; //0x0128 
	void* SetNetFlags; //0x012C 
char _0x0130[4];
	void* GetClassDef; //0x0134 
char _0x0138[4];
	void* GetClassName; //0x013C 
char _0x0140[4];
	void* ThreadLoadFile; //0x0144 
	void* UnloadFile; //0x0148 
	void* GetHPolyObject; //0x014C 
char _0x0150[816];

};//Size=0x0480

class ILTServerPhysics
{
public:
	CLTPhysicsServer* pCLTPhysicsServer; //0x0000 
char _0x0004[1084];

};//Size=0x0440

class CLTPhysicsServer
{
public:
char _0x0000[1088];

};//Size=0x0440

class CLTClient
{
public:
char _0x0000[1088];

};//Size=0x0440
Credits to:
@dreek1 //for reference
ReClass
IDA
and RomelUrot
Quote Originally Posted by malfac009 View Post
I can't debug Crossfire with CShell module loaded. I will post a separate classes for it.

Code:
class CrossFire_Engine_Class
{
public:
	ILTCSBase* pLTCSBase; //0x0000 
	ILTDrawPrim* pLTDrawPrim; //0x0004 
	ILTClientPhysics* pLTClientPhysics; //0x0008 
	ILTWidgetManager* pLTWidgetManager; //0x000C 
	ILTRenderStyles* pLTRenderStyles; //0x0010 
	IClientFileMgr* pClientFileMgr; //0x0014 
char _0x0018[4];
	ILTSound* pLTSound; //0x001C 
	ILTCursor* pLTCursor; //0x0020 
	ILTVideoMgr* pLTVideoMgr; //0x0024 
	ILTTexInterface* pLTTexInterface; //0x0028 
	IWorldClientBSP* pWorldClientBSP; //0x002C 
	IWorldBlindObjectData* pWorldBlindObjectData; //0x0030 
	ILTFontManager* pLTFontManager; //0x0034 
	ILTRenderMgr* pLTRenderMgr; //0x0038 
	IWorldParticleBlockerData* pIWorldParticleBlockerData; //0x003C 
	ILTModelClient* pILTModelClient; //0x0040 
	ILTBenchMarkMgr* pILTBenchMarkMgr; //0x0044 
char _0x0048[4];
	IWorldShareBSP* pIWorldShareBSP; //0x004C 
	ILTTransform* pILTTransform; //0x0050 
char _0x0054[12];
	IClientDebugGraphMgr* pIClientDebugGraphMgr; //0x0060 
	ILTClient* pILTClient; //0x0064 
char _0x0068[8];
	ICommandLineArgsCommonImp* pICommandLineArgsCommonImp; //0x0070 
char _0x0074[8];
	IServerFileMgr* pIServerFileMgr; //0x007C 
char _0x0080[292];
	ICompress* pICompress; //0x01A4 
char _0x01A8[2000];
	ILTModelServer* pILTModelServer; //0x0978 
char _0x097C[20];
	CLTCommonShared* pCLTCommonShared; //0x0990 
char _0x0994[16];
	IServerConsoleState* pIServerConsoleState; //0x09A4 
char _0x09A8[20];
	ILTPhysics* pILTPhysics; //0x09BC 
char _0x09C0[1080];
	ILTServerPhysics* pILTServerPhysics; //0x0DF8 
char _0x0DFC[580];

};//Size=0x1040

class ILTCSBase
{
public:
	CLTClient* pCLTClient; //0x0000 
char _0x0004[120];
	bool(WINAPIV *IntersectSegment)(IntersectQuery &iQuery, IntersectInfo *Info); //0x007C 
char _0x0080[412];
	void(WINAPIV *RunConsoleCommand)(CHAR *Command); //0x021C 
char _0x0220[508];
	LTRESULT SendToServer(ILTMessage_Read *pMsg, HOBJECT hSender, uint32 flags); //0x041C 
char _0x0420[1056];

};//Size=0x0840

class ILTDrawPrim
{
public:
	CD3DDrawPrim* pD3DDrawPrim; //0x0000 
char _0x0004[124];

};//Size=0x0080

class CD3DDrawPrim
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTClientPhysics
{
public:
	CLTPhysicsClient* pLTPhysicsClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTPhysicsClient
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTWidgetManager
{
public:
	CUIWidgetManager* pUIWidgetManager; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CUIWidgetManager
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTRenderStyles
{
public:
	D3DRenderStyles* pD3DRenderStyles; //0x0000 
char _0x0004[60];

};//Size=0x0040

class D3DRenderStyles
{
public:
char _0x0000[64];

};//Size=0x0040

class IClientFileMgr
{
public:
	CClientFileMgr* pCClientFileMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CClientFileMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTSound
{
public:
	CSoundMgr* pCSoundMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CSoundMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTCursor
{
public:
	CLTCursor* pCLTCursor; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTCursor
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTVideoMgr
{
public:
	CLTVideoMgr* pCLTVideoMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTVideoMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTTexInterface
{
public:
	CSysTexInterFace* pCSysTexInterFace; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CSysTexInterFace
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldClientBSP
{
public:
	CWorldClientBSP* pCWorldClientBSP; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldClientBSP
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldBlindObjectData
{
public:
	CWorldBlindObjectData* pCWorldBlindObjectData; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldBlindObjectData
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTFontManager
{
public:
	CUIFontManager* pCUIFontManager; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CUIFontManager
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTRenderMgr
{
public:
	CLTRenderMgr* pCLTRenderMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTRenderMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldParticleBlockerData
{
public:
	CWorldParticleBlockerData* pCWorldParticleBlockerData; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldParticleBlockerData
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTModelClient
{
public:
	CLTModelClient* pCLTModelClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTModelClient
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTBenchMarkMgr
{
public:
	CLTBenchmarkMgr* pCLTBenchmarkMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTBenchmarkMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class IWorldShareBSP
{
public:
	CWorldSharedBSP* pCWorldSharedBSP; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CWorldSharedBSP
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTTransform
{
public:
	CLTTransform* pCLTTransform; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTTransform
{
public:
char _0x0000[64];

};//Size=0x0040

class IClientDebugGraphMgr
{
public:
	CClientDebugGraphMgr* pCClientDebugGraphMgr; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CUIFontManager
{
public:
char _0x0000[64];

};//Size=0x0040

class CClientDebugGraphMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class N00A77996
{
public:
char _0x0000[1088];

};//Size=0x0440

class ILTClient
{
public:
	CLTClient* pCLTClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTClient
{
public:
char _0x0000[64];

};//Size=0x0040

class ICommandLineArgsCommonImp
{
public:
char _0x0000[64];

};//Size=0x0040

class IServerFileMgr
{
public:
char _0x0000[64];

};//Size=0x0040

class ICompress
{
public:
	CCompress* pCCompress; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CCompress
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTModelServer
{
public:
	CLTModelServer* pCLTModelServer; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTModelServer
{
public:
char _0x0000[64];

};//Size=0x0040

class CLTCommonShared
{
public:
	CLTCommonClient* pCLTCommonClient; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CLTCommonClient
{
public:
char _0x0000[64];

};//Size=0x0040

class IServerConsoleState
{
public:
	CServerConsoleState* pCServerConsoleState; //0x0000 
char _0x0004[60];

};//Size=0x0040

class CServerConsoleState
{
public:
char _0x0000[64];

};//Size=0x0040

class ILTPhysics
{
public:
	ILTServer* pILTServer; //0x0000 
	void* GetTcpIpAddress; //0x0004 
char _0x0008[56];

};//Size=0x0040

class ILTServer
{
public:
char _0x0000[152];
	virtual LTRESULT GetObjectPos(HLOCALOBJ hObj, LTVector *pPos) = 0; //0x0098 
	virtual LTRESULT GetObjectPos2(HLOCALOBJ hObj, LTVector *pPos) = 0; //0x009C 
char _0x00A0[68];
	virtual LTRESULT GetWorldBox(LTVector &min, LTVector &max) = 0; //0x00E4 
	void* FindObjectIntersections; //0x00E8 
char _0x00EC[8];
	virtual LTRESULT FindNamedObjects(const char *pName, BaseObjArray<HOBJECT> &objArray, uint32 *nTotalFound = NULL) = 0; //0x00F4 
	virtual LTRESULT SendToObject(ILTMessage_Read *pMsg, HOBJECT hSender, HOBJECT hSendTo, uint32 flags) = 0; //0x00F8 
	virtual LTRESULT SendToServer(ILTMessage_Read *pMsg, HOBJECT hSender, uint32 flags) = 0; //0x00FC 
	virtual LTRESULT SetObjectSFXMessage(HOBJECT hObject,ILTMessage_Read *pMsg) = 0; //0x0100 
	virtual LTRESULT SendToClient(ILTMessage_Read *pMsg,HCLIENT hSendTo, uint32 flags) = 0; //0x0104 
	virtual LTRESULT SendSFXMessage(ILTMessage_Read *pMsg, uint32 flags) = 0; //0x0108 
	virtual LTRESULT GetClientPing(HCLIENT hClient, float &ping) = 0; //0x010C 
char _0x0110[8];
	virtual LTRESULT GetClientAddr(HCLIENT hClient, uint8 pAddr[4], uint16 *pPort) = 0; //0x0118; //0x0118 
char _0x011C[8];
	virtual LTRESULT GetObjectName(HOBJECT hObject, char *pName,uint32 nameBufSize) = 0; //0x0124 
	void* GetNetFlags; //0x0128 
	void* SetNetFlags; //0x012C 
char _0x0130[4];
	void* GetClassDef; //0x0134 
char _0x0138[4];
	void* GetClassName; //0x013C 
char _0x0140[4];
	void* ThreadLoadFile; //0x0144 
	void* UnloadFile; //0x0148 
	void* GetHPolyObject; //0x014C 
char _0x0150[816];

};//Size=0x0480

class ILTServerPhysics
{
public:
	CLTPhysicsServer* pCLTPhysicsServer; //0x0000 
char _0x0004[1084];

};//Size=0x0440

class CLTPhysicsServer
{
public:
char _0x0000[1088];

};//Size=0x0440

class CLTClient
{
public:
char _0x0000[1088];

};//Size=0x0440
Credits to:
@dreek1 //for reference
ReClass
IDA
and RomelUrot
sir @malfac009 saan po yong offset ng sa L Foot pra sa sk
can I have a question @malfac009 ?
how do you unpacked crossfire.exe ?
for me to able to find the address of CROSSFIRE_ENGINE_CLASS ?
TIA...
Posts 1–5 of 5 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us