0 ELF简介

ELF简介

可执行与可链接格式(Executable and Linkable Format,ELF),是Linux操作系统上的默认二进制格式

ELF用于可执行文件、对象文件、共享库及核心转储。64位ELF二进制格式与32位是相似的,主要区别在于某些头部字段和其他数据结构的大小和顺序。

类型 实例
可重定位的对象文件(Relocatable file) .o;.a;.ko
可执行的对象文件(Executable file) vi、gdb、及我们用链接器生成的可执行文件、bash shell 程序
可被共享的对象文件(Shared object file) .so
核心转储文件(Core Dump File) 当进程意外终止时,系统可以将该进程的地址空间的内容及终止时的一些其他信息转储到核心转储文件 core dump

64位ELF二进制文件的格式和内容:

image-20220923111646425

ELF二进制文件实际上包含4种类型的组件:

  • ELF 头部(executable header,也称为可执行文件头)、

  • 一系列(可选)程序 头、

  • 多个节、

  • 节对应的各个(可选)节头。