readelf】的更多相关文章

使用arm-linux-gcc编译的可执行文件可能会无法在开发板上执行,并提示:-/bin/sh xxx not found 解决办法: 在主机上使用readelf -d xxx 来查看该程序所需要的动态库,比如 [root@localhost key_device]# readelf -d app Dynamic section at offset 0xf10 contains 25 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared…
其实问题的本质是对elf格式的理解问题,因为是查看so库的符号表发现的问题. 事情起因是这样的,由于我的一个程序编译的时候出现了undefined reference to “XXX”的错误,需要链接特定的so库,发现用nm [file]找不到“XXX”函数符号,结果用readelf -s [file] 就找到了.其实问题是我对so理解的不深刻. 一般来说,对于一个so库有两个符号表,一个是“正常的”(在.symtab和.strtab节中).一个是动态的(.dynsym和.dynstr节中).如…
GCC编译出来的object(目标文件)getPon.o,在链接时(ld)报了一个错误说找不到一个函数(undefined reference to identifier devCtl_getEtherLanHostStatus),可是在源代码明明是有这一个函数.只不过被"#ifdef "宏个括起来了,最可能的原因就是这个宏没有开,函数没有被编译进去.怎样确认这一点哪?就用上readelf命令了,Linux下的可执行文件格式是"ELF32"或者是"ELF6…
-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的)…
ELF文件包括: (1)可重定位的目标文件 (2)可执行的目标文件 (3)可被共享的目标文件 可以用file命令来看目标文件是否是ELF文件 在linux下,用readelf来看ELF头部或者其它各section的内容,用objdump来对指定的内容(.text, .data等)进行反汇编. 但是mac os X下没有这两个命令,可以用brew来安装,brew update && brew install binutils,然后用greadelf和gobjdump.…
1.3.18 readelf:elf 文件格式分析工具 这个工具和 objdump 命令提供的功能类似,但是它显示的信息更为具体,并且它不依赖 BFD 库( BFD 库是一个 GNU 项目,它的目标就是希望通过一种统一的接口来处理不同的目标文件): ELF 文件类型 ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西.以及都以什么样的格式去放这些东西.它自最早在 System V 系统上…
一.简介 readelf用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息.这里的elf-file(s)就表示那些被检查的文件.可以支持32位,64位的elf格式文件,也支持包含elf文件的文档(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的"静态库"文件).  这个程序和objdump提供的功能类似,但是它显示的信息更为具体,并且它不依赖BFD库(BFD库是一个GNU项目,它的目标就是希望通过一种统一的接口来处理不同的目…
readelf:Linux 下专门针对 ELF 文件格式的解析器: 0. binutils GNU Binutils gnu binutils 一套二进制工具的集合,主要包含:ld(gnu linker).as(gnu assembler),此外还包括: addr2line:Converts addresses into filenames and line numbers. ar:A utility for creating, modifying and extracting from arc…
大多数情况下,linux环境上默认可能都装有readelf,但是也有少数情况可能没有装,我自己用的ubuntu的linux虚拟机就没有装readelf.readelf本身是一个分析elf很好用的工具. Ubuntu下,apt-get install readelf 系统会告诉你,根本就没有. 原来,readelf是包含在GNU的binutils工具包里了.现在就知道怎么安装了 apt-get install binutils 或者,在GNU官网上下载安装包,下载网址 http://ftp.gnu…
By francis_hao    Feb 14,2017 显示ELF文件的信息 用法概述 readelf和objdump类似,不过,readelf会显示更详细的信息,而且独立于BFD库,因此当BFD库出问题时readelf不会受影响.   选项解释 -d --dynamic 显示正文的动态部分,可用于显示程序依赖的动态库 -s --symbols --syms 显示符号表,包含但不限于 函数名 变量名-- -h --file-header 显示在文件开始处的ELF头信息,包含但不限于 魔数 大…