C++反汇编第三讲,反汇编中识别虚表指针,以及指向的虚函数地址
讲解之前,了解下什么是虚函数,什么是虚表指针,了解下语法,(也算复习了)
开发知识为了不码字了,找了一篇介绍比较好的,这里我扣过来了...,虚表可以看做是一个数组
2.3虚表中存储的是虚函数的地址....二丶熟悉反汇编中虚表指针,以及还原
既然上面我们熟悉了内存模型,也熟悉了虚函数的原理,那么我们从反汇编的角度下看一下.
例子是我们加了虚函数的例子
Debug下的反汇编
?...总结就是一句话: 取出对象的首4个字节,填写虚表.
那么现在好办了,既然找到了虚表,则可以找到构造,析构,以及虚表中存储的所有虚函数了.
?...总结:
1.识别虚表指针可以在构造中或者析构中查看
2.虚表指针双击过去则可以看到所有的虚函数的地址
3.对虚表指针来个引用,(谁引用我)可以看到所有的构造和析构
三丶识别虚函数的调用