ELF文件结构详解
来源:互联网 发布:喝酒的好处知乎 编辑:程序博客网 时间:2024/05/29 17:43
ELF文件介绍
在linux下,由汇编程序和链接编辑器生成的是目标文件为ELF(Excutable and Linking Format)格式,它们共分为四种类型:
- 可重定位文件(Relocatable File)
- 可执行文件(Executable File)
- 共享目标文件(Shared Object File)
- 核心转储文件(Core Dump File)
文件类型可以通过file命令进行查看
ELF文件头
ELF文件头位于ELF文件的起始位置,它包含整个文件的静态信息,可以通过readelf命令进行查看,ELF文件头结构以及相关参数定义在/usr/include/elf.h中,分为32位和64位两种版本,分别为Elf32_Ehdr和Elf_64_Ehdr,它们绝大多数内容都是一样的,结构如下所示:
typedef struct {Elf32_Half e_type;//Elf文件类型 Elf32_Half e_machine;//ELF文件的CPU平台属性 Elf32_Word e_version;//ELF版本信息 Elf32_Addr e_entry;//入口地址 Elf32_Off e_phoff;//程序头表的文件偏移(以字节为单位)。如果文件没有程序头表,则此成员值为零。 Elf32_Off e_shoff;//节头表的文件偏移(以字节为单位)。如果文件没有节头表,则此成员值为零。 Elf32_Word e_flags;//与文件关联的特定于处理器的标志。标志名称采用 EF_machine_flag 形式。 Elf32_Half e_ehsize;//ELF 头的大小(以字节为单位) Elf32_Half e_phentsize;//文件的程序头表中某一项的大小(以字节为单位)。所有项的大小都相同 Elf32_Half e_phnum;//程序头表中的项数。 Elf32_Half e_shentsize;//节头的大小(以字节为单位)。节头是节头表中的一项。所有项的大小都相同 Elf32_Half e_shnum;//节头表中的项数 Elf32_Half e_shstrndx;//与节名称字符串表关联的项的节头表索引。} Elf32_Ehdr;
1 0
- ELF文件结构详解
- ELF文件结构描述
- ELF文件结构
- elf文件结构描述
- ELF 文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构描述
- ELF文件头结构
- ELF文件结构
- ELF目标文件结构
- Elf文件图形详解
- Elf文件图形详解
- Elf文件图形详解
- elf文件详解
- Java 内存区域和GC机制
- caffe之均值文件
- 同步类容器和并发类容器的应用
- 爬虫框架Scrapy之Item Pipeline
- 在Java中使用Date的一些提示
- ELF文件结构详解
- FreeMarker Error : left-hand operand: Expected a hash, but this evaluated to a sequence
- python单元测试常用方法
- JQ笔记(jquery + ajax 入门)
- 论文总结(二)—图像复原
- PAT A除以B
- Unity3D笔记(一)基础知识学习笔记
- codeforces 782B The Meeting Place Cannot Be Changed
- 使用matlab实现简单的遗传算法(一)