日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下的elf结构,ELF结构详细分析(1)---elf32_hdr

發布時間:2023/12/14 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下的elf结构,ELF结构详细分析(1)---elf32_hdr 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ELF(Executable and Linkable Format)可執行和可鏈接格式是一種對象文件格式,分為三種類型:

a.可重定位目標文件:包含了適合用來鏈接其他目標文件的代碼和數據,從而創建出可執行或可共享的目標文件

b.可執行目標文件:包含用于執行的程序,該文件規定了exec如何創建一個程序的進程映像

c.共享目標文件:包含用來在兩個上下文之間鏈接的代碼和數據

注:可重定位目標文件和共享目標文件用于程序鏈接,可執行目標文件用于程序執行

因為對于目標文件兩種用途,因此目標文件的組織結構有兩種:一種是用于鏈接的鏈接格式,另一種是用于執行的執行格式.

在詳解這兩種格式之前,先列出ELF文件中常用的數據類型(格式)

這兩種格式中,ELF頭部都位于文件的開始部分,位置固定,描述了該文件的組織情況,下面是它的具體內容

elf32_hdr(一個52個字節):

下面詳細描述其中的內容(不加說明,值全是16進制):

1. e_ident,ident估計是identity的縮寫,身份識別的意思.

這是一個總大小為16字節的數據,每個元素是占一個字節的unsigned char

2. e_type:表示文件屬于下面的哪一種類型

3. e_machine:表示體系結構

4. e_version:目前版本

5. e_entry:程序入口地址

6. e_phoff:程序頭部表的文件偏移,00000000表示沒有程序頭部表

7. e_shoff:節區頭部表的文件偏移

8. e_flags:處理器特定標記

9. e_ehsize:elf頭部長度,值是0034,表示十進制52

10.e_phentsize:程序頭部表(段頭部表)一個表項的大小

11.e_phnum:程序頭部表表項數量

12.e_shentsize:節區頭部表一個表項的大小

13.e_shnum:節區頭部表表項數量

14.e_shstrndx:保存著節名字的節(section)對應的表項在節區頭部表中的索引

總結

以上是生活随笔為你收集整理的linux下的elf结构,ELF结构详细分析(1)---elf32_hdr的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。