没有合适的资源?快使用搜索试试~ 我知道了~
每天一个IDA小技巧(五)C++基本特性1
需积分: 0 0 下载量 22 浏览量
2022-08-03
13:46:45
上传
评论
收藏 201KB PDF 举报
温馨提示
试读
5页
每天一个IDA小技巧(五)C++基本特性1
资源详情
资源评论
资源推荐
C类是C结构体向对象的扩展,因此,在结束数据结构的讨论时,我们有必要介绍
下已编译的C代码的各种特性。牢固掌握C++语的基础知识,对于你解已编译
C++代码将有裨益。在源代码层次上完全掌握继承和多态等向对象的概念会
常困难。尝试在汇编语层次上深这些概念,但却解它们在源代码层次上的
意义,毫疑问,你会陷困境。
this指针
this可以看成是传递到所有静态成员函数的第个隐藏参数,Microsoft Visual
C++thiscall调约定,并将this传递到ECX寄存中。GNU g++编译则把this
看做是静态成员函数的第个(最左边)参数,并在调该函数之前将于调
函数的对象的地址作为最后项压栈中。
从逆向程的度看,在调函数之前,将个地址转移到ECX寄存中可能意味
着两件事情。先,该件使Visual C++编译;其次,该函数是个成员函数。
如果同个地址被传递给两个或多函数,我们可以得到结论,这些函数全都属于
同个类层次结构。
另外,如果发现个函数向其他函数传递this指针,则这些函数可能和传递this的函
数属于同个类。
虚函数
虚函数是指在声明前使关键字virtual的函数,如 virtual void func(),作是允许
在派类中重新定义与基类同名的函数,并且可以通过基类指针或引来访问基类
和派类中的同名函数。
纯虚函数,在虚函数后加“=0”,如 virtual void func()=0,类似于Java中的abstract
法,类必须实现。
如果类或者祖先类中函数func()为虚函数,则类及后代类中,函数func()是否加
virtual关键字,都将是虚函数。
虚函数是C++中于实现多态的机制。核念就是通过基类访问派类定义的函
数。
虚表
Alien的星球:六七七
XU美伢
- 粉丝: 22
- 资源: 341
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0