objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它还有其他作用,下面以ELF格式可执行文件test为例详细介绍:

objdump -f test

显示test的文件头信息

objdump -d test

反汇编test中的需要执行指令的那些section

objdump -D test

与-d类似,但反汇编test中的所有section

objdump -h test

显示test的Section Header信息

objdump -x test

显示test的全部Header信息

objdump -s test

除了显示test的全部Header信息,还显示他们对应的十六进制文件代码

举例:

将C源代码和反汇编出来的指令对照:

1.

编译成目标文件(要加-g选项)

gcc -g -o test.c

2.

输出C源代码和反汇编出来的指令对照的格式

objdump -S test.o

如下:

如何对任意一个二进制文件进行反汇编?

我们可以这样做:

objdump -D -b binary -m i386 a.bin

-D表示对全部文件进行反汇编,-b表示二进制,-m表示指令集架构,a.bin就是我们要反汇编的二进制文件

objdump -m可以查看更多支持的指令集架构,如i386:x86-64,i8086等

另外上面的所有objdump命令的参数同样适用于arm-linux-objdump。

同时我们也可以指定big-endian或little-endian(-EB或-EL),我们可以指定从某一个位置开始反汇编等。所以objdump命令是非常强大的!

objdump命令的使用相关推荐

  1. 【Linux】一步一步学Linux——objdump命令(254)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 objdump命令是用查看目标文件或者可执行的目标文件的构 ...

  2. linux 反汇编目标文件,用于查看目标文件或可执行文件的组成信息的命令:objdump命令...

    1.功能简介 objdump 命令是 GNU Binutils 二进制工具集的一员,用于查看目标文件或可执行文件的组成信息,以可读的形式打印二进制文件的内容. 2.命令格式 objdump[OPTIO ...

  3. objdump命令详解

    objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具. 选项 --archive-headers -a 显示档案库的成员信息,类似ls -l将lib*.a的信息列出. -b bfd ...

  4. Linux 命令(57)—— objdump 命令

    文章目录 1.功能简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.功能简介 objdump 命令是 GNU Binutils 二进制工具集的一员,用于查看目标文件或可执行文件的组成信息, ...

  5. linux objdump 函数,objdump命令

    objdump命令是用查看目标文件或者可执行的目标文件的构成的GCC工具. 选项--archive-headers -a 显示档案库的成员信息,类似ls -l将lib*.a的信息列出. -b bfdn ...

  6. linux objdump命令,Linux objdump命令

    一.简介 objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具. 二.选项 三.实例 1)显示文件头信息 objdump -f test 2)显示Section Header信息 ...

  7. Linux objdump命令(反汇编、查看符号)

    文章目录 概述 参数 实例 objdump反汇编用法示例 参考 概述 objdump可以干什么? objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了 ...

  8. objdump命令解析

    转载于:http://man.linuxde.net/objdump objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具. 选项 –archive-headers -a 显示档案 ...

  9. Linux:objdump命令解析

    objdump objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息. 参数选项: --archive-headers ...

最新文章

  1. 图解Istio原理和实践--云平台技术栈18
  2. mysql 范围内日期列表,mysql – 将日期列表条件中的日期转换为日期范围列表
  3. Paper之BigGAN:ICLR 2019最新论文《LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS》(未完待续)
  4. 20应用统计考研复试要点(part12)--应用多元分析
  5. 一文读懂 Copyleft 开源许可证
  6. 红旗linux怎么更新,红旗linux7.0下自动更新firefox
  7. java学习之基本类型
  8. iOS 11.3 显示:Apple ID 或将实现微信式扫码登陆
  9. Qt Pro语法总结
  10. 静静期待 Windows 7 的到来
  11. 工作室流量卡如何做才能不封号?
  12. 深入剖析线程同步工具CountDownLatch原理
  13. sql server 2012 KB2716442安装错误解决方案(错误代码 0x84B20001)
  14. Confluence: A Robust Non-IoU Alternative to Non-Maxima Suppression in Object Detection 论文阅读翻译
  15. Nginx 安装与部署配置以及Nginx和uWSGI开机自启
  16. Javase day06_汇总
  17. 台式电脑由哪些部件组成,有哪些配件组成?
  18. 微信浏览器字体调整 PHP,微信h5禁止微信内置浏览器调整字体大小-爬坑
  19. 如何预期计算cuda kernel代码的性能水平
  20. HTML生成word文档

热门文章

  1. 深入理解ElasticSearch(八)索引管理
  2. 放弃android系列结局得出结论
  3. Ubuntu安装jdk-7u80-linux-i586
  4. 智慧物流可视化,能否解决购物节后的爆仓危机?
  5. java快递100接口开发_java swing开发的一个抓取快递100查询接口的小工具
  6. android 备份整个手机,借助 TWRP,让你的 Android 手机也有「一键 Ghost」式的全面备份...
  7. yuzu最新安装使用教程
  8. shell脚本中命名管道
  9. Noise2Noise: 实验总结——测试简记【去高斯噪声、去文本噪声】
  10. Ubuntu Linux安装PyQt5并配置Qt Designer