文章目录
一、ELF 文件类型 ( 动态库文件 )
二、ELF 文件对应 CPU 架构
三、ELF 目标文件版本
四、可执行程序起始地址
一、ELF 文件类型 ( 动态库文件 )
ELF 文件头 第 16 ~ 17 字节 : ELF 文件类型 , 动态库文件 / 可执行文件 / 静态库文件 / 链接文件 ; 03 00 表示该 ELF 文件是动态库文件 ;
03 00 小端格式 , 低位在低地址 , 值为 3 ;
二、ELF 文件对应 CPU 架构
ELF 文件头 第 18 ~ 19 字节 : ELF 文件对应的 CPU 架构体系 , x86 / arm / mips ; 03 00 表示该 ELF 文件对应的 CPU 架构师 x86 架构 ;
03 00 小端格式 , 低位在低地址 , 值为 3 ;
三、ELF 目标文件版本
ELF 文件头 第 20 ~ 23 字节 : 目标文件版本 ; 默认值 1 ;
01 00 00 00 小端格式 , 低位在低地址 , 值为 1 ;
四、可执行程序起始地址
ELF 文件头 第 24 ~ 27 字节 : 如果 ELF 是可执行文件 , 应该从哪个地址开始执行代码 ; 该值在可执行 ELF 文件中才有意义 , 动态库文件没有意义 ;
00 00 00 00 小端格式 , 低位在低地址 , 值为 0 ;
当前解析的 ELF 文件是动态库文件 , 该值没有实际意义 , 设置 0 默认值 ;
动态库并不能独立执行 , 需要由外部加载执行 ;