GameClientShell

Posts 1–3 of 3 · Page 1 of 1
GameClientShell
hi MPGH, ive been trying to reverse combat arms for a while and atm im trying to call a function from GameClientShell(GCS). Im not exactly sure what the getters return, but i know its something along the lines of ClientInfoMgr/PlayerMgr/SfxMgr/InterfaceMgr. I reversed the class to:
Code:
class GameClientShell
{
public:
	virtual void Function0(); //0x0000 
	virtual void Function1(); //0x0004 
	virtual void Function2(); //0x0008 
	virtual void Function3(); //0x000C 
	virtual void Function4(); //0x0010 
	virtual void Function5(); //0x0014 
	virtual void Function6(); //0x0018 
	virtual void Function7(); //0x001C 
	virtual void Function8(); //0x0020 
	virtual void Function9(); //0x0024 
	virtual void nullsub1(); //0x0028 
	virtual void nullsub2(); //0x002C 
	virtual void nullsub3(); //0x0030 
	virtual void nullsub4(); //0x0034 
	virtual void Function10(); //0x0038 
	virtual void Function11(); //0x003C 
	virtual void Function12(); //0x0040 
	virtual void Function13(); //0x0044 
	virtual void Function14(); //0x0048 
	virtual void Function15(); //0x004C 
	virtual void Function16(); //0x0050 
	virtual void Function17(); //0x0054 
	virtual void Function18(); //0x0058 
	virtual void Function19(); //0x005C 
	virtual void Function20(); //0x0060 
	virtual void Function21(); //0x0064 
	virtual void Function22(); //0x0068 
	virtual void Function23(); //0x006C 
	virtual void Function24(); //0x0070 
	virtual void Function25(); //0x0074 
	virtual void Function26(); //0x0078 
	virtual void Function27(); //0x007C 
	virtual void Function28(); //0x0080 
	virtual void Function29(); //0x0084 
	virtual void Function30(); //0x0088 
	virtual void Function31(); //0x008C 
	virtual void Function32(); //0x0090 
	virtual void Function33(); //0x0094 
	virtual void Function34(); //0x0098 
	virtual void Function35(); //0x009C 
	virtual void Function36(); //0x00A0 
	virtual void Function37(); //0x00A4 
	virtual void Function38(); //0x00A8 
	virtual void Function39(); //0x00AC 
	virtual void Function40(); //0x00B0 
	virtual void Function41(); //0x00B4 
	virtual void Function42(); //0x00B8 
	virtual void Function43(); //0x00BC 
	virtual void Function44(); //0x00C0 
	virtual void Function45(); //0x00C4 
	virtual void Function46(); //0x00C8 
	virtual void * GetSomething0(); //0x00CC 
	virtual void * GetSomething1(); //0x00D0 
	virtual void Function49(); //0x00D4 
	virtual void * GetSomething2(); //0x00D8 
	virtual void * GetSomething3(); //0x00DC 
	virtual void * GetSomething4(); //0x00E0 
	virtual void * GetSomething5(); //0x00E4 
	virtual void Function54(); //0x00E8 
	virtual void Function55(); //0x00EC 
	virtual void Function56(); //0x00F0 
	virtual void Function57(); //0x00F4 
	virtual void Function58(); //0x00F8 
	virtual void * GetSomething6(); //0x00FC 
	virtual void Function60(); //0x0100 
	virtual void Function61(); //0x0104 
 
}; //Size=0x0108
and i am calling it with

Code:
#define ADDR_GCS	0x37916A74
GameClientShell *gcs = (GameClientShell *)ADDR_GCS;
gcs->GetSomething2();
however, it crashes at

Code:
gcs->GetSomething2();
any idea why it would crash?
let me know if you need any more info
P.S my hook is working
you can't do that if you are hooking, you need keep the instance ptr if you are trying call a subroutine that depends of a class(instance)... the pointer instace in most cases must be setted in the first parameter, i don't know what type of function are you trying call...
Are you sure the address is right? You don't even seem to rebase it relative to some dll or module.
Posts 1–3 of 3 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us