objdump与readelf的区别

objdump  objdump是以一种可阅读的格式让你更多地了解二进制文件带有的信息的工具。objdump借助BFD,更加通用一些, 可以应付不同文件格式,它提供反汇编的功能。  由于本项目中所要解析的是在ARM平台下可执行的ELF文件,gcc自带的objdump工具不支持arm平台下的编译文件。因此需要构建linux下交叉编译环境,在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种:arm-linux-*和arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib。两类交叉编译环境的构建比较繁琐,一般用户可以下载构建好的交叉编译工具,这样用户可以直接使用对应的arm-linux-objdump或arm-elf-objdump查看相应ELF 文件的可读反汇编结果。使用者可以通过arm-*-objdump –D *.elf 直接查看反汇编的结果:


readelf  另一个常用的查看工具是readelf,readelf则并不借助BFD,而是直接读取ELF格式文件的信息,得到的信息也略细致一些。通过指令readelf –a *.elf用户可以看到文件的具体结构和内容对照。   Figure 5.Readelf执行结果  由图可见,readelf将ELF文件信息按照字节顺序将一些重要的信息以可读的形式显示出来。但是readelf本身不具备反汇编的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值