|
据说他是这样发布不影响UI的选择单位的
FUNCPTR(GAME, SendPacket, VOID __fastcall, (cPacket* pcPacket, DWORD dwZero), 0x53FA60),
class cPacket
{
private:
virtual VOID Function1() { } // 0x00
virtual VOID Function2() { } // 0x04
virtual VOID Function3() { } // 0x08
virtual VOID Function4() { } // 0x0C
virtual VOID Function5() { } // 0x10
virtual VOID Function6() { } // 0x14
virtual VOID Function7() { } // 0x18
BYTE* pPacket;//0x04
DWORD _1;//0x08 - zero
DWORD _2;//0x0C - ?
DWORD dwSize;//0x10
DWORD _3;//0x14, -1
public:
VOID SendPacket(VOID);
VOID SetPacket(BYTE* pPacket, DWORD dwSize);
BYTE* GetPacket(VOID);
DWORD GetPacketSize(VOID);
cPacket(BYTE* pPacket, DWORD dwSizr);
};
<DecnicX> you got to initialize the virtual table i think
ASMPTR(GAME, cPacketTable, 0x935D54)
cPacket::cPacket(BYTE* pPacket, DWORD dwSize)
{
this->pPacket = pPacket;
this->dwSize = dwSize;
this->_1 = 0;
this->_2 = 0;
this->_3 = -1;
memcpy(this, &GAME_cPacketTable, sizeof(DWORD));
} |
|