readelf 查看 ELF 文件信息

发布时间: 更新时间: 总字数:675 阅读时间:2m 作者:IP:上海 网址

readelf 用来查看 ELF(excutable and linking format) 格式文件的信息

介绍

  • ELF文件可分为三种:
    • 可重定位对象文件(Relocatable File)
      • Linux下的 .o 文件,Windows 的 .obj 文件
    • 可执行对象文件(Excutable File)
    • 可被共享的对象文件(Shared Object File)
      • Linux下的 .a.so 文件,Windows 的 .dll 文件
    • 核心转储文件(Core Dump File)
  • ELF Header 前16个字节为 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
    • 前 4 个字节为 ELF 文件的魔数,固定的格式
    • 第 5 个字节为 0x02 代表的是 64 位 ELF,如果是 32 位的话,该字节为 0x01
    • 第 6 个字节为字节序,0x01little endian0x02big endian
    • 第 7 个字节为 ELF 文件的主版本号,后面 9 个字节一般为 0
    • 第 18 个字符标识为架构?x86 or arm

help

readelf --help ...

常用命令

# 查看 header 头信息
readelf -h core-xxx

# 符号表 中的信息只包括全局变量和函数名
readelf -s

# 查看 ELF 文件依赖的动态文件
readelf -d /usr/bin/mysql

# 查看链接信息
readelf -s /usr/bin/mysql

扩展

ELF 文件也可以使用 objdump 查看

本文总阅读量 次 本站总访问量 次 本站总访客数