我正在尝试转储由 ELF 文件 ( /usr/bin/ls
)导入的共享库的完整路径
使用readelf --dyn-syms /usr/bin/ls
我得到库的名称,但不是它们在文件系统上的位置:
101: 0000000000000000 0 FUNC GLOBAL DEFAULT UND [...]@LIBSELINUX_1.0 (4)
使用objdump -T /usr/bin/ls
我可以获得更多信息(包括函数名称):
0000000000000000 DF *UND* 0000000000000000 (LIBSELINUX_1.0) getfilecon
这是有用的信息,但我怎样才能在磁盘上提取库的位置?我可以运行该文件并查看它通过 . 打开的内容lsof
,但是有什么方法可以在不运行该文件的情况下执行此操作吗?
这
ldd
是为了:这可能包含比 显示的库更多的内容
readelf
,因为它也将处理传递依赖项。