C++反汇编第三讲,反汇编中识别虚表指针,以及指向的虚函数地址
讲解之前,了解下什么是虚函数,什么是虚表指针,了解下语法,(也算复习了)
开发知识为了不码字了,找了一篇介绍比较好的,这里我扣过来了...我们发现加了之后会额外多出4个字节空间,而且监视窗口中加了一项虚表指针变量.
构造一下继续观看内存模型.
?
构造之后发现已经初始化了虚表指针,那么我们进去这个地址后查看有什么内容.
?...总结:
1.识别虚表指针可以在构造中或者析构中查看
2.虚表指针双击过去则可以看到所有的虚函数的地址
3.对虚表指针来个引用,(谁引用我)可以看到所有的构造和析构
三丶识别虚函数的调用...熟悉了虚表指针, 通过虚表指针找构造,析构,以及虚表指针指向的虚表找虚函数,那么我们看一下普通成员函数调用和虚函数调用有什么区别.... 1.普通成员函数直接调用Call
2.虚函数会通过虚表指针指向的虚表来间接调用.