I'm also need some help getting at a class.
From the Jupiter Source:
Code:
class CGameButeMgr
{
...
char* m_pCryptKey;
...
};
I want the m_pCryptKey, which is the encryption key used on the attribute files.
Now the CGlobalClientMgr, has the variable: CClientButeMgr* m_pClientButeMgr, and CClientButeMgr is a child class of CGameButeMgr.
So if one had access to the CGlobalClientMgr, it should just be as simple as:
Code:
globalClientMgr->m_pClientButeMgr->m_pCryptKey
// ignoring the fact that it is a protected variable for now.
I have a simple DLL that injects and can write a string of text to a file on a key press, so all I should need is the address of the encryption key.
I but don't know much about hacking. What I've gather so from browsing the forum:
Code:
#define CGlobalClientMgr 0x375F2240
from
here [06/27] (old address?)
So using this address I should be to create a class pointer using some like this no?:
Code:
// Class signature
class CGlobalClientMgr
{
public :
CGlobalClientMgr( );
~CGlobalClientMgr();
void fnc1( );
void fnc2( );
protected :
virtual void fnc3();
private :
CClientButeMgr* m_pClientButeMgr;
void* var1;
void* var2;
void* var3;
void* var4;
};
class CClientButeMgr
// CClientButeMgr signature...
CGlobalClientMgr *globalMgr = (CGlobalClientMgr*)0x375F2240;
CClientButeMgr *buteMgr = globalMgr->m_pClientButeMgr;
char *key = buteMgr->m_pCryptKey;
Or have I misunderstood how class signatures and address's work. (It's been a long time since I messed around with ASM).
Thanks for any help.