在ELF二进制中导入名称

ELF格式在哪里存储导入函数的名称? 总是可以枚举所有的导入名称,比如PE可执行文件?

例如,如果一个二进制文件正在使用printf ,那么是否可以通过二进制本身的静态分析来告诉它呢?

Solutions Collecting From Web of "在ELF二进制中导入名称"

在ELF中,它们被称为未定义的符号。 您可以通过以下方式查看未定义符号的列表:

  • nm -D <file>|grep -w U

  • objdump -T <file>|grep "\*UND\*"

ELF文件不指定哪个符号来自哪个库; 它只是添加一个共享库列表链接到ELF二进制文件,并让链接器找到库中的符号。