随便看一段IDA的反汇编: 

è¿éåå¾çæè¿°

C++编译器用于区分重载函数的机制。为了给重载函数生成唯一的名称,编译器用其他字符来修饰函数名称

图左就是C++的后缀命名法,图右是正常的函数名字

为了显示正常的函数名字,使用Options▶Demangled Names (选项 -> 解码名称)

è¿éåå¾çæè¿°

比如,我们选中Names,反汇编将显示为: 

è¿éåå¾çæè¿°

如果一个二进制文件使用了后缀命名,IDA的取消改编功能会立即展示函数的参数类型和返回类型。相反,如果函数并未使用后缀命名,你必须花费大量时间分析,从而确定函数的签名。 
当然,一般的C++都是后缀命名,所以在切换成Names后,我们能立即看到operator new(int)这样的完整定义

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐