Linux如何搜索動態庫

0x00 背景

在linux下安裝一些程序,或者在做pwnable的時候經常出現沒有找到動態庫的情況。

0x01 如何鏈接動態庫

鏈接動態庫通常有五中方法:

  1. 鏈接時使用靜態庫,gcc編譯時添加參數
  2. 使用LD_LIBRARY_PATH指定搜索路徑, export LD_LIBRARY_PATH=`pwd`
  3. 編譯時使用-rpath指定動態庫的搜索路徑
  4. 修改/etc/ld.so.conf,添加動態庫搜索路徑
  5. 複製動態庫到系統默認的路徑下,如/lib/usr/lib

0x02 動態庫搜索路徑的優先級

動態庫搜索路徑優先級由高到低排列情況如下:

  1. 編譯時指定動態庫搜索路徑
  2. 環境變量LD_LIBRARY_PATH中的路徑
  3. 配置文件/etc/ld/so.conf中的路徑
  4. 系統默認的路徑lib
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章