IDA pro 如何生成函数名?

逆向工程 艾达 反编译 职能 符号 调试符号
2021-06-19 13:28:41

我正在使用 IDA pro 反编译一系列应用程序。这些应用程序共享一个共同的功能,我发现在每次反编译中,每个应用程序都共享相同的功能集。如果二进制文件被剥离,IDA pro 如何计算函数名称?

例如,我在应用程序之间看到的共同函数都是非常抽象的,v404()而且据我所知,它们并非来自任何开源库函数集。

1个回答

我已经看到使用了 4 种命名约定:

  • 反编译 ARM 二进制文件(即:Android JNI 代码)时的 vNNN() - 不确定它是如何编号的,因为它似乎与它们在二进制文件中的位置或地址无关。
  • sub_HHHHHH() 使用名称上的实际地址反编译 x86/64 二进制文件(即:对于 Windows、OSX)
  • _name/__name() 用于 IDA 能够通过其 FLIRT 算法识别的函数
  • 最后是函数的清晰名称,它有足够的关于二进制文件的信息来反转它们最初的命名。