Ldd (Unix)
Ldd(List Dynamic Dependencies,意译为列出动态库依赖关系)是一款在类Unix系统的实用工具,负责在命令行内输出程序或共享库所依赖的函数库。[1]此工具由罗兰·麦克格拉斯及乌尔里希·德雷佩尔开发。[2] Ldd在指定的程序缺少部分函数库的情况下将无法显示结果。
安全性
编辑ldd是一个将指定程序作为参数传入的命令行脚本,用户不应该使用其打开不受信的函数库。ldd的手册页建议用户在打开不受信的二进制文件时使用objdump及grep实用工具:
user@home ~/ $ objdump -p /path/program | grep NEEDED
用法
编辑user@home ~/ $ ldd /usr/bin/mp3blaster
linux-vdso.so.1 => (0x00007fff8fdff000)
libsidplay.so.1 => /usr/lib/libsidplay.so.1 (0x00007f4ea98ec000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00007f4ea96e4000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f4ea94b6000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007f4ea9273000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f4ea9056000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f4ea8d41000)
libm.so.6 => /lib/libm.so.6 (0x00007f4ea8abe000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f4ea88a7000)
libc.so.6 => /lib/libc.so.6 (0x00007f4ea8523000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f4ea831c000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f4ea8118000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4ea9b59000)
参考文献
编辑- ^ ldd(1) – Linux man page. die.net. [December 28, 2011]. (原始内容存档于2022-05-06).
- ^ ldd Source Code. stuff.mit.edu. [March 26, 2014]. (原始内容存档于2016-10-13).