博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ELF文件格式分析
阅读量:6148 次
发布时间:2019-06-21

本文共 1218 字,大约阅读时间需要 4 分钟。

 

ELF文件有三种类型:

  • 可重定位文件:也就是通常称的目标文件,后缀为.o。
  • 共享文件:也就是通常称的库文件,后缀为.so。
  • 可执行文件:本文主要讨论的文件格式,总的来说,可执行文件的格式与上述两种文件的格式之间的区别主要在于观察的角度不同:一种称为连接视图(Linking View),一种称为执行视图(Execution View)。

elf文件的格式可以通过readelf命令读取出来

-a

--all 显示全部信息,等价于 -h -l -S -s -r -d -V -A -I.

-h

--file-header 显示elf文件开始的文件头信息.

-l

--program-headers 

--segments 显示程序头(段头)信息(如果有的话)。

-S

--section-headers 

--sections 显示节头信息(如果有的话)。

-g

--section-groups 显示节组信息(如果有的话)。

-t

--section-details 显示节的详细信息(-S的)。

-s

--syms       

--symbols 显示符号表段中的项(如果有的话)。

-e

--headers 显示全部头信息,等价于: -h -l -S

-n

--notes 显示note段(内核注释)的信息。

-r

--relocs 显示可重定位段的信息。

-u

--unwind 显示unwind段信息。当前只支持IA64 ELF的unwind段信息。

-d

--dynamic 显示动态段的信息。

-V

--version-info 显示版本段的信息。

-A

--arch-specific 显示CPU构架信息。

-D

--use-dynamic 使用动态段中的符号表显示符号,而不是使用符号段。

-x <number or name>

--hex-dump=<number or name> 以16进制方式显示指定段内内容。number指定段表中段的索引,或字符串指定文件中的段名。

-w[liaprmfFsoR] or

--debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]

显示调试段中指定的内容。

-I

--histogram 显示符号的时候,显示bucket list长度的柱状图。

-v

--version 显示readelf的版本信息。

-H

--help 显示readelf所支持的命令行选项。

-W

--wide 宽行输出。 

 http://linux.chinaunix.net/doc/system/2005-01-13/777.shtml

转载于:https://www.cnblogs.com/justinyo/archive/2013/03/08/2950765.html

你可能感兴趣的文章
从AI医疗到量子计算,亚洲研究院如何成为微软发展的生命力?
查看>>
Red Hat与微软合作,将致力于构建企业级Linux版.NET
查看>>
Rust 1.27支持SIMD
查看>>
如何用度量影响敏捷环境
查看>>
未来的C#之覆写放宽
查看>>
GitHub GraphQL API已正式可用
查看>>
GitHub:我们为什么会弃用jQuery?
查看>>
苹果Q1财报出炉:手机收入下滑15%,服务收入增长19%
查看>>
用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识
查看>>
Pandas时间序列
查看>>
开发者论坛一周精粹(第四十八期) ICP经营许可证办理流程
查看>>
基于Go的websocket消息服务
查看>>
流计算独享模式正式邀测
查看>>
hibernate笔记--缓存机制之 二级缓存(sessionFactory)和查询缓存
查看>>
Ceph,TFS,FastDFS,MogileFS,MooseFS,GlusterFS 对比
查看>>
无人机协助科研人员探寻珍稀植物,仅需20分钟
查看>>
CPU和内存 程序(线程)关系
查看>>
Maven属性(properties)标签的使用
查看>>
5月7日云栖精选夜读丨如何用阿里云快速构建游戏发行技术体系
查看>>
工业强基 - 头条新闻
查看>>