确定 Linux 二进制文件的直接共享对象依赖关系?

问题描述

您可以使用readelf探索 ELF 标头。readelf -d将直接依赖项列为NEEDED部分。

 $ readelf -d elfbin

Dynamic section at offset 0xe30 contains 22 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libssl.so.1.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000c (INIT)               0x400520
 0x000000000000000d (FINI)               0x400758
 ...

解决方法

如何轻松找出 ELF 格式的 Linux 二进制文件的直接共享对象依赖项?

我知道 ldd 工具,但这似乎输出了二进制文件的所有依赖项,包括二进制文件所依赖的任何共享对象的依赖项。