C++反汇编第三讲,反汇编中识别虚表指针,以及指向的虚函数地址
讲解之前,了解下什么是虚函数,什么是虚表指针,了解下语法,(也算复习了)
开发知识为了不码字了,找了一篇介绍比较好的,这里我扣过来了...首先经过我们调试
1.obj在监视窗口中只有一个成员变量,且初始化为CCCCC (Debug下)
2.看对象的所在的地址中,发现只申请了4个字节空间,用来存放成员变量.
2.2带虚表指针的高级代码
?...在我们构造的时候,会填写虚表指针,然后核心代码就在上面
1.将对象存入一个局部变量保存
2.局部变量中转给eax
3.对eax取内容填写虚表地址. ...总结就是一句话: 取出对象的首4个字节,填写虚表.
那么现在好办了,既然找到了虚表,则可以找到构造,析构,以及虚表中存储的所有虚函数了.
?...总结:
1.识别虚表指针可以在构造中或者析构中查看
2.虚表指针双击过去则可以看到所有的虚函数的地址
3.对虚表指针来个引用,(谁引用我)可以看到所有的构造和析构
三丶识别虚函数的调用