如何从ELF文件中提取函数原型?

6
我一直在搜索,但是还没有找到从ELF可执行文件中提取函数原型的方法,至少是参数类型和返回类型。使用GNU BinUtils或任何其他方法。
我尝试使用readelf、nm和objdump中的不同选项,它们列出了符号和函数名称,但如何知道函数的参数类型和返回类型?
我有一种直觉,应该有一种方法可以做到这一点,有人能解答一下吗?
主机:Windows 7
目标:PowerPC架构的elf
1个回答

12
假设您的二进制文件是使用调试信息构建的,您可以通过读取DWARF调试格式获取函数类型、参数类型等信息,其中readelf -wi会转储这些内容。
如果您的二进制文件是由IBM的编译器生成的,则可能具有(较旧的)STABS调试信息,您可以使用objdump -g来转储它们。
如果您的二进制文件没有调试信息,则您无法获取所需的信息--因为它不存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接