0x00 背景
在linux下安裝一些程序,或者在做pwnable的時候經常出現沒有找到動態庫的情況。
0x01 如何鏈接動態庫
鏈接動態庫通常有五中方法:
- 鏈接時使用靜態庫,gcc編譯時添加參數
- 使用
LD_LIBRARY_PATH
指定搜索路徑,export LD_LIBRARY_PATH=`pwd`
- 編譯時使用
-rpath
指定動態庫的搜索路徑 - 修改
/etc/ld.so.conf
,添加動態庫搜索路徑 - 複製動態庫到系統默認的路徑下,如
/lib
,/usr/lib
0x02 動態庫搜索路徑的優先級
動態庫搜索路徑優先級由高到低排列情況如下:
- 編譯時指定動態庫搜索路徑
- 環境變量
LD_LIBRARY_PATH
中的路徑 - 配置文件
/etc/ld/so.conf
中的路徑 - 系統默認的路徑
lib
等