某大神分享出来的一段代码 研究好几天没看明白 求助 想学习他的写法
struct CECGame //sizeof 0xB00
{
DWORD dwVFTable; //0x00
DWORD *pA3DEngine; //0x04
DWORD *pUnkObj1; //0x08 //+4 HWND
DWORD *pA3DLight1; //0x0C
DWORD *pA3DLight2; //0x10
DWORD *pCECViewport; //0x14
DWORD dw_unk1; //0x18
DWORD dw_unk2; //0x1C
DWORD dwCECConfigsVFTable; //0x20
struct CECGameRun *pCECGameRun; //0x24
DWORD *pUnkObj2; //0x28
DWORD *pCECRTDebug; //0x30
};
结构体的相互包含
struct CECGame *f_GetCECGame()
{
struct CECGame *pCECGame = (struct CECGame *)(*(DWORD*)pGameAddr);
return pCECGame;
}
struct CECGameRun * f_GetCECGameRun()
{
struct CECGame *pCECGame = f_GetCECGame();
struct CECGameRun * pCECGameRun = pCECGame->pCECGameRun;
return pCECGameRun;
}
pCECGame->pCECGameRun 这个是怎么赋值的变量 比如他在结构体中的偏移是0xB 但是实际应该是0x17B
偏移不是应该用+号吗?