Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> ELF Format 筆記(十四)—— 段內容,elfformat

ELF Format 筆記(十四)—— 段內容,elfformat

編輯:關於android開發

ELF Format 筆記(十四)—— 段內容,elfformat


ilocker:關注 Android 安全(新手) QQ: 2597294287

一個段 (segment) 由一個或多個節 (section) 組成,但這對 android linker 是透明的,linker 在加載程序時沒有用到節信息。所以對於一個 so 文件,修改 ELF Header 中和節有關的成員 (e_shoff、e_shentsize、e_shnum) 不會影響程序運行。

文本段 (也叫代碼段) 包含只讀指令和數據,通常包含如下這些節:

 

通常 android so 的第一個 LOAD 段就是文本段:

數據段包含可寫的數據和指令,通常包括如下這些節:

通常 android so 的第二個 LOAD 段就是數據段:

.got 和 .plt 節保存的信息用於支援“位置無關代碼”,在動態鏈接的過程中會修改 .got 節。

.bss 節的類型是 SHT_NOBITS,表示在文件中不占空間。但 .bss 在段的內存映像中是占用空間的,通常位於段的末尾,用於存放未初始化的全局變量,所以數據段的 p_memsz 會比 p_filesz 大一些。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved