#include using namespace std; class A { public: virtual void f() { cout << "In f\n"; } }; void exploit() { cout << "In exploit\n"; } void callf(A *a) { a->f(); } int main() { A a; #if 1 int vtable[1] = { (int) exploit }; * (int **)&a = vtable; #endif callf(&a); }