I've been trying for a while now to get my head around V-Tables, V-Table patching, etc, i understand what V-Tables are and why they are used (At least i think i do).
But how do i find them in IDA? I'm using IDA Pro 7.0, and i created a test program with two classes.
class ClassA
{
public:
ClassA();
~ClassA();
virtual void Test();
};
And..
class ClassB : public ClassA
{
public:
ClassB();
~ClassB();
void Test() override;
};
The definition for the Test
function in both cases is a simple cout
to the console.
And in main.cpp
int main()
{
ClassB* BClass = new ClassB();
while (1)
{
BClass->Test();
Sleep(1000);
}
delete BClass;
return 0;
}
I was trying to follow this explanation, but it seems as if the data isn't structured the same way in his version of IDA.
After clicking on the class in the Class Informer window, i'm taken to IDA View-A, and this is what i see.
At this point i'm a bit lost, as i'm not really sure how to find or follow pointers in IDA.