13.IDA-显示正确的函数名称(去掉c++后缀命名)

随便看一段IDA的反汇编:
13.IDA-显示正确的函数名称(去掉c++后缀命名)
文章图片

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

图左就是C++的后缀命名法,图右是正常的函数名字
【13.IDA-显示正确的函数名称(去掉c++后缀命名)】为了显示正常的函数名字,使用Options?Demangled Names
13.IDA-显示正确的函数名称(去掉c++后缀命名)
文章图片

比如,我们选中Names,反汇编将显示为:
13.IDA-显示正确的函数名称(去掉c++后缀命名)
文章图片


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

    推荐阅读