6

我已经搜索了很多,但还没有找到从 ELF 可执行文件中提取函数原型、至少参数类型和返回类型的方法。使用 GNU BinUtils 或任何其他方法。

我尝试在 readelf、nm 和 objdump 中使用不同的选项,它们列出了符号和函数名称,但是如何知道函数的参数类型和返回类型呢?

我有一种直觉,应该有办法做到这一点,任何人都可以对此有所了解吗?

主机:Windows 7

目标:用于 PowerPC 架构的 elf

4

1 回答 1

12

假设您的二进制文件是使用调试信息构建的,您可以通过读取 DWARF 调试格式来获取函数类型、参数类型等,这readelf -wi将转储。

如果您的二进制文件是由 IBM 的编译器生成的,则它可能具有(较旧的)STABS 调试信息,您可以使用objdump -g.

如果您的二进制文件没有调试信息,那么您将无法获得您正在寻找的信息——它只是不存在。

于 2013-03-22T20:09:17.337 回答