Android在NDK开发工具中提供了objdump,用来帮助开发者查看编译后目标文件的组成结构和具体内容。

常用的有以下几个功能选项:

1)-a或者--archive-headers

这个参数起到的作用和ar命令相似,用来看一个.a静态库文件中包含了哪些目标文件。

2)-f或者--file-headers

输出目标ELF文件头中包含的信息,例如:

表明这是个ELF文件,支持处理器指令集是armv5te,等等。总体来说,信息量有限。

3)-h或者--[section-]headers

输出目标文件中节表(Section Table)中所包含的所有节头(Section Header)的信息,例如:

可以看到,这个文件共有18个有效节区。从中,我们可以了解到每个节区的名字,大小,和文件头的偏移位置,对齐属性,以及其它的一些属性。

4)-x或者--all-headers

显示目标文件的所有头的信息,包括ELF文件头、程序头(Program Header)和节头(Section Header)。除了这些头之外,还包括动态节区(Dynamic Section)和符号表(Symbol Table)内的信息。例如:

5)-d或者--disassemble

反汇编目标ELF文件中包含可执行指令的哪些节区中的内容,例如:

如果有汇编语言的功底,就可以通过这个命令来探究目标文件中每个函数的实现逻辑,非常的方便。

6)-D或者--disassemble-all

-D与前面的-d类似,唯一的不同是,用-D会反汇编目标ELF文件中的所有内容,而前面的-d只会反汇编可执行代码的部分。

7)-s或者--full-contents

显示目标文件每个节区的二进制完整内容,对应的会显示该内容在目标文件中的偏移位置,还有将内容转换成ASCII码的形式,例如:

8)-S或者--source

混合显示源码和汇编代码,如果编译目标文件的时候指定了-g参数的话,效果会非常明显。否则,和-d参数没有什么区别,事实上-S参数默认包含了-d参数。

9)-t或者--syms

输出目标文件的符号表(Symbol Table),即目标ELF文件中名字叫做.symtab节内的内容。

10)-T或者--dynamic-syms

输出目标文件的动态符号表(Dynamic Symbol Table),即目标ELF文件中名字叫做.dynsym节内的内容,例如:

通过这张表内的信息,可以看出由本ELF文件中导出的符号,和需要从别的动态库中导入的符号。如果第三列显示“*UND*”表明这个符号在本ELF文件中未定义,也就是说这个符号要从别的动态库中导入,其它的情况表明这个符号由本ELF文件中定义。

11)-r或者--reloc

显示目标文件的静态重定位入口。

12)-R或者--dynamic-reloc

显示目标文件的动态重定位入口,例如:

这个参数仅仅对于动态目标文件有意义,比如动态库文件(.so)。

13)-j或者--section=

表示只显示名字为“NAME”节区中的内容。

android objdump 用法,ELF文件查看利器之objdump用法相关推荐

  1. ELF文件查看利器之readelf和objdump用法

    Android在NDK开发工具中提供了readelf,用来帮助开发者查看编译后目标文件的组成结构和具体内容. 常用的有以下几个功能选项: 1)-h或者--file-header 显示在ELF文件头里包 ...

  2. linux elf 文件查看工具 readelf

    Android在NDK开发工具中提供了readelf,用来帮助开发者查看编译后目标文件的组成结构和具体内容. 常用的有以下几个功能选项: 1)-h或者--file-header 显示在ELF文件头里包 ...

  3. android pdf 插件,Pdf文件查看 android原生插件

    更新记录 1.0.7(2021-05-10) 1.修复若干bug 2.优化用户体验 1.0.6(2021-03-31) 1.全新UI设计 2.增加目录设置功能 3.增加全屏切换功能 4.增加跳转功能 ...

  4. objdump指令 elf文件转成lst文件

    arm-none-eabi-objdump --source --all-headers --demangle --file-headers --line-numbers --wide "m ...

  5. ELF文件和BIN文件

    文件的内容: 1. BIN文件是 raw binary 文件,这种文件只包含机器码. 2. ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等. 所以ELF文件 ...

  6. 【计算机】ELF文件和BIN文件

    原文:http://blog.chinaunix.net/uid-24148050-id-362928.html 红色为个人注解. 文件的内容: 1. BIN文件是 raw binary 文件,这种文 ...

  7. 【Android 逆向】ELF 文件格式 ( 安装 010 Editor 二进制查看工具的 ELF.bt 插件模板 | 安装 ELF.bt 模板 | 打开 ELF 文件 )

    文章目录 一.搜索并下载 ELF.bt 模板 二.安装 ELF.bt 模板 三.打开 ELF 文件 一.搜索并下载 ELF.bt 模板 进入 010 Editor 工具的插件模板下载页面 http:/ ...

  8. android.cat 镜像,Android开发利器之pidcat安装方式

    介绍pidcat: pidcat 是Android届JakeWharton大神开发的一款命令行工具,堪称Android开发利器,它能方便Android程序猿捕获日志,过滤日志,定位程序问题,超级好用. ...

  9. Android so(ELF) 文件解析

    文章目录 前言 生成 so 文件 相关工具 objdump readelf 整体结构图 头部结构 段表结构 字符串表结构 程序表结构 符号表结构 重定位表结构 其他结构 解析代码 打开 ELF 文件 ...

最新文章

  1. 结构事物 java uml,UML考试试题及答案7讲解
  2. 2.12.ECMAScript--运算符
  3. Linux项目自动化构建工具 make/Makefile
  4. HashTable 源码解读
  5. HTTP、HTTPS、SSL、TLS之间的关系
  6. Linux系统管理-(12)-网络配置IP命令
  7. java保存图片进度条_java 进度条常用方法
  8. SNS源码大集合--转载ITPUB
  9. 结对编程-李晓彤+凌嘉文
  10. 代理是什么及如何使用
  11. 简约资源教程分享网模板,emlog模板
  12. [励志][经验]《异类》 -- 格拉德威尔(美)
  13. 移动硬盘如何分区?易我分区大师帮你搞定!
  14. 外贸企业电子邮箱哪个好?外贸邮箱怎么选择?
  15. 可恶的as3.0,下载一个所谓的绿色flash cs5,竟然提示JAVA运行时环境初始化错误,请重新安flash
  16. ABAPDEMOCALLTRANSACTION使用_SAP刘梦_新浪博客
  17. 数据库系统工程师任职要求
  18. PO接收、检验、入库、退货-Interface+API-请求和在线完成
  19. 我的Java培训经历
  20. windows c++程序在崩溃时自动生成dump

热门文章

  1. 20144306《网络对抗》CAL_MSF基础运用
  2. Python标示符和关键字
  3. C#之CAD二次开发 (11) 文本对象
  4. 跟我一起写 Makefile-陈浩
  5. 【金猿技术展】慧安金科反洗钱可疑案宗识别技术——自动全方位提取洗钱行为关联信号...
  6. valueOf()方法详解
  7. 《Autosar从入门到精通-实战篇》总目录_培训教程持续更新中...
  8. ElementUI table实现复杂表格
  9. ezdml 支付mysql 吗_数据库表设计工具EZDML使用教程
  10. 过拟合详解:监督学习中不准确的“常识”