class A
{
public:
virtual void print()
{
printf("this is a\n");
}
};
void MyHook()
{
printf("被hook了");
}
int main()
{
A *a = new A();
DWORD *pVtaddr = (DWORD *)*(DWORD *)a;
DWORD dwOldPro = 0;
VirtualProtect(pVtaddr, 4, PAGE_READWRITE, &dwOldPro);
*pVtaddr = (DWORD)MyHook;
a->print();
return 0;
}