什麼是PIE(位置無關可執行檔)

連主體也以位置無關程式碼建置的可執行檔。無論載入何處都能運作,因此可藉由 ASLR 使主體程式碼的位址也隨機化。

日文名稱: PIE(位置独立実行ファイル)

「PIE(位置無關可執行檔)」出現在1領域的1道練習題中(連結器與載入器與執行檔格式等)。

這個名詞所屬的領域: 連結器與載入器與執行檔格式

練習PIE(位置無關可執行檔)的題目

將執行檔建置為PIE(位置獨立執行檔)的主要理由為下列何者?

  1. A為了讓執行檔能在任何作業系統上運作
  2. B為了在執行檔中包含所有函式庫
  3. C為了讓執行檔本體的程式碼也能藉由ASLR,在每次執行時放置於不同的位址
查看答案與解析

正確答案:C. 為了讓執行檔本體的程式碼也能藉由ASLR,在每次執行時放置於不同的位址

以往的執行檔是以載入到固定位址為前提建置的,因此即使使用ASLR,也只能錯開函式庫與堆疊,本體程式碼的位址仍會被攻擊者得知。PIE是將本體也建置為位置獨立程式碼,使其無論載入何處都能運作,因此本體的位址也能隨機化。現在許多Linux發行版都將PIE設為預設。

解析中的「PIE(位置無關可執行檔)」

出現「PIE(位置無關可執行檔)」的題目(1題)

  1. 將執行檔建置為PIE(位置獨立執行檔)的主要理由為下列何者?

相關名詞

ASLR(位址空間配置隨機化) 目的檔(Object file) 共享函式庫(Shared library) 名稱修飾(Name mangling) 位置無關程式碼(Position-independent code) 重定位(Relocation) 弱符號(Weak symbol) 記憶體碎裂(Memory fragmentation) 動態連結(Dynamic linking) 動態連結器(Dynamic linker)

前往名詞解釋列表