linux二进制分析笔记-ELF程序头

本文详细介绍了ELF程序头的作用,包括PT_LOAD、PT_DYNAMIC、PT_NOTE、PT_INTERP和PT_PHDR各段的含义及内容。通过分析,揭示了动态链接、内存布局和程序解释器的相关知识,特别是对PT_LOAD段中text段和data段的解析,以及PT_DYNAMIC段在动态链接过程中的关键角色。
摘要由CSDN通过智能技术生成

我的个人博客:www.saoguang.top

ELF程序头

  1. 作用:ELF程序头描述了磁盘上可执行文件的内存布局以及如何映射到内存中
  2. 位置:ELF头重的e_phoff(程序头表偏移)得到程序头表。
  3. 查看:查看ELF文件信息 $ readelf elf_file

PT_LOAD段

  1. 一个可执行文件,至少有一个PT_LOAD段
  2. 一个需要动态链接的ELF可执行文件,通常包含以下两个可装载的段
    1. 存放程序代码的text段。
    2. 存放全局变量和动态链接信息的data段。

PT_DYNAMIC(动态段)

  1. 内容包括
    • 运行时需要链接的共享库列表
    • 全局偏移表(GOT)的地址
    • 重定位条目的相关信息
    • 等等

PT_NOTE段

  1. 内容可能包括:供应商或者系统相关附加信息
    • 一致性的检查
    • 兼容性的检查
  2. 一般来说,没用,因为,并不是必需的

PT_INTERP段

  1. 存放,以null为终止符的字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值