-
-
[原创]一图看懂C++虚函数的动态绑定
-
2021-12-31 16:34 25825
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | class Person { public: Person() : age( 30 ) { } virtual void print () { printf( "The person‘s age = %d\n" , age); } protected: int age; }; class Teacher : public Person { public: virtual void print () { printf( "The teacher's age = %d\n" , age); } }; class Student : public Person { public: virtual void print () { printf( "The student age = %d\n" , age); } }; Person * createRole() { new Teacher; return new Student; } |
当基类对象的虚表有多个对象的成员函数的时候,只需要查看具体虚函数反汇编call的eax值就可以判断出虚基类的真实对象身份。
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。
最后于 2021-12-31 16:39
被_THINCT编辑
,原因:
赞赏
他的文章
[转帖]WinDbg使用笔记
2223
看原图