objdump 和 readelf 常用命令总结,再有用到的会补充~


objdump

反汇编目标文件的命令


  1. objdump -f test
  1. 显示 test 的文件头信息
objdump -d test
  1. 反汇编 test 中的需要执行指令的那些段(-endian={EB|EL} )
objdump -D test
  1. 反汇编 test 中的所有段
objdump -h test
  1. 显示 test 的 Section Header 信息
objdump -x test
  1. 显示 test 的全部 Header 信息
objdump -s test
  1. 除了显示 test 的全部 Header 信息,还显示他们对应的十六进制文件代码
objdump -d -j .plt test
  1. 查看可以利用的 plt 函数(-j 仅仅显示指定名称为 name 的 section 的信息)
objdump -R test
  1. 查看 got 表
objdump -a test
  1. 显示库的成员信息

readelf


查看 ELF 文件的详细信息


readelf -h test
  1. 显示 elf 文件开始的文件头信息.
readelf -a test
  1. 显示全部信息, 等价于 -h -l -S -s -r -d -V -A -I.
readelf -l test
  1. 显示程序头信息。
readelf -S test
  1. 显示节头信息。
    readelf -g test
  1. 显示节组信息。
readelf -s test
  1. 显示符号表段中的项(如果有的话)。
readelf -A test
  1. 显示 CPU 构架信息。

段表是 ELF 文件中除了文件头以外最重要的结构。虽然用 objdump -h 命令也可以查看 ELF 文件中包含的段,但是只能查看关键的段,readelf -S 命令查看详细的段表结构。
https://www.jianshu.com/p/8050ce9e0c72