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).