objdump -H 显示如下:

一般常用的是

objdump -x 显示文件头信息

objdump -d 反汇编代码段代码

objdump -D 反汇编所有代码

  

用法:objdump <选项> <文件>
显示来自目标 <文件> 的信息。
至少必须给出以下选项之一:
-a, --archive-headers Display archive header information
-f, --file-headers Display the contents of the overall file header
-p, --private-headers Display object format specific file header contents
-P, --private=OPT,OPT... Display object format specific contents
-h, --[section-]headers Display the contents of the section headers
-x, --all-headers Display the contents of all headers          显示头信息
-d, --disassemble Display assembler contents of executable sections  显示代码段代码
-D, --disassemble-all Display assembler contents of all sections      显示所有段代码
-S, --source Intermix source code with disassembly        
-s, --full-contents Display the full contents of all sections requested   
-g, --debugging Display debug information in object file
-e, --debugging-tags Display debug information using ctags style
-G, --stabs Display (in raw form) any STABS info in the file
-W[lLiaprmfFsoRt] or
--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,
=frames-interp,=str,=loc,=Ranges,=pubtypes,
=gdb_index,=trace_info,=trace_abbrev,=trace_aranges,
=addr,=cu_index]
Display DWARF info in the file
-t, --syms Display the contents of the symbol table(s)
-T, --dynamic-syms Display the contents of the dynamic symbol table
-r, --reloc Display the relocation entries in the file
-R, --dynamic-reloc Display the dynamic relocation entries in the file
@<file> Read options from <file>
-v, --version Display this program's version number
-i, --info List object formats and architectures supported
-H, --help Display this information 以下选项是可选的:
-b, --target=BFDNAME 将标的目标文件格式指定为 BFDNAME
-m, --architecture=MACHINE 将标的体系结构指定为 MACHINE
-j, --section=NAME 只显示 NAME 节的信息
-M, --disassembler-options=OPT 将文本传递到 OPT 反汇编程序
-EB --endian=big 反汇编时假定高位字节在前
-EL --endian=little 反汇编时假定低位字节在前
--file-start-context 从文件的起点引入上下文 (带有 -S)
-l, --line-numbers 在输出中给出行号和文件名
-C, --demangle[=STYLE] 对修饰过的 (mangled) 符号名进行解码
如果给出了 STYLE,STYLE 可能为“auto”、“gnu”、
“lucid”、“arm”、“hp”、“edg”或“gnu-new-abi”
-w, --wide 以多于 列的宽度对输出进行格式化
-z, --disassemble-zeroes 反汇编时不要跳过为零的块
--start-address=ADDR 只有进程数据的地址 >= ADDR
--stop-address=ADDR 只有进程数据的地址 <= ADDR
--prefix-addresses 同反汇编代码并列显示完整的地址
--[no-]show-raw-insn 同符号反汇编并列显示十六进制值
--adjust-vma=OFFSET 为所有显示的节地址增加 OFFSET --dwarf-depth=N Do not display DIEs at depth N or greater
--dwarf-start=N Display DIEs starting with N, at the same depth
or deeper
--dwarf-check Make additional dwarf internal consistency checks. objdump:支持的目标: elf64-x86- elf32-i386 elf32-iamcu elf32-x86- a.out-i386-linux pei-i386 pei-x86- elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex
objdump:支持的体系结构: i386 i386:x86- i386:x64- i8086 i386:intel i386:x86-:intel i386:x64-:intel i386:nacl i386:x86-:nacl i386:x64-:nacl iamcu iamcu:intel l1om l1om:intel k1om k1om:intel plugin 下列 i386/x86- 特定的反汇编器选项在使用 -M 开关时可用(使用逗号分隔多个选项):
x86- Disassemble in 64bit mode
i386 Disassemble in 32bit mode
i8086 在 位模式下反汇编
att 用 AT&T 语法显示指令
intel 用 Intel 语法显示指令
att-mnemonic
Display instruction in AT&T mnemonic
intel-mnemonic
Display instruction in Intel mnemonic
addr64 假定 位地址大小
addr32 假定 位地址大小
addr16 假定 位地址大小
data32 假定 位数据大小
data16 假定 位数据大小
suffix 在 AT&T 语法中始终显示指令后缀
amd64 Display instruction in AMD64 ISA
intel64 Display instruction in Intel64 ISA

objdump 分析的更多相关文章

  1. android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析

    学习 android 逆向分析过程中,需要学习 Arm 指令,不可避免要编写一些 test code 并分析其指令,这是这篇文档的背景. 在目前 android 提供的开发环境里,如果要编写 c / ...

  2. 玩转Hook——Android权限管理功能探讨(二)

    距离我上一篇研究ptrace的随笔http://www.cnblogs.com/zealotrouge/p/3544147.html已经过去半年了,最近不忙的时候抽空继续研究了下.同样,参考了Prad ...

  3. 在 Windows 下用 TDM-GCC(MinGW)开发 DLL 涉及到数据同步锁及 DLL 初始化终止化函数的问题

    在 Windows 下用 TDM-GCC(MinGW)开发 DLL 如果要用到数据同步锁,理论上可以采用 Windows API 提供的临界区实现(需要用到的函数有 InitializeCritica ...

  4. Linux/Windows 实用工具简记

    以下只是开发中可能用的比较多的工具,另外还有其他很多未曾提及的实用工具.Linux篇: 1.链接过程的调试:主要用于查看构建过程:如链接时加载的动态库以及运行时加载动态库过程的调试 支持LD_DEBU ...

  5. 利用backtrace和objdump进行分析挂掉的程序

    转自:http://blog.csdn.net/hanchaoman/article/details/5583457 汇编不懂,先把方法记下来. glibc为我们提供了此类能够dump栈内容的函数簇, ...

  6. OBJ文件格式分析工具: objdump, nm,ar

    首先简要阐述关于gcc.glibc和 binutils模块之间的关系 一.关于gcc.glibc和binutils模块之间的关系 1.gcc(gnu collect compiler)是一组编译工具的 ...

  7. android 底层log分析 内存及backtrace tombstone/crash

    Build fingerprint: 'XXXXXXXXX'pid: 1658, tid: 13086  >>> system_server <<<signal 1 ...

  8. linux内核分析课程笔记(二)

    运行一个精简的操作系统内核 存储程序计算机是几乎所有计算机的基础逻辑框架. 堆栈是计算机中非常基础的东西,在最早计算机没有高级语言时,在高级语言出现之前,我们没有函数的概念.但高级语言出现后有了函数调 ...

  9. 实践2.4 ELF文件格式分析

    实践2.4 ELF文件格式分析 1.ELF文件头 查看/usr/include/elf.h文件: #define EI_NIDENT (16) typedef struct { unsigned ch ...

随机推荐

  1. 【转】Linux下如何清除系统日志

    使用过Windows的人都知道,在使用windows系统的过程中系统会变得越来越慢.而对于Windows下饱受诟病的各种垃圾文件都需要自己想办法删除,不然系统将会变得越来越大,越来越迟钝!window ...

  2. win10下安装USB-Blaster哈希值错误

    插入usb-blaster后,无法安装驱动,一直显示感叹号,更新驱动后显示“文件的哈希值不在指定的目录”这样的错误提示,解决方法如下:1.Windows键+ R,输入shutdown.exe /r / ...

  3. Xcode 7如何 免费 真机调试iOS应用

    运行Xcode后,点击菜单中的Preferences…进入Accounts标签,这里选择添加Apple ID: 在弹出的对话框中登入你的Apple ID,没有的话去注册一个就是了,登录成功后会看到下面 ...

  4. matlab初学之roundn和round

    文章出处: http://evaevazhuxun.blog.sohu.com/154543859.html http://blog.sina.com.cn/s/blog_a4034b2801012o ...

  5. java异常架构图 和几个面试题

    1.java异常架构图 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被 ...

  6. UART接口基本知识

    Universal asynchronous transciever即同一异步收发器,也就是我们平时所说的串口,是一种最简单,最基本的通信接口. 通信接口按照不同的标准有不同的分类,常见的有同步或异步 ...

  7. Tabbed Activity的使用(Fragment)

    1,首先file -> new -> Activity -> Tabbed Activity 2,创建完成后,发现会自动的创建一大堆代码,大部分我们是不需要关心的,关于页面切换的代码 ...

  8. cassandra 公司内分享 ppt

    在公司内分享的cassandra ppt http://files.cnblogs.com/files/yuhan-TB/cassandra.pptx

  9. JDom2的Xpath使用

    /** * XPath获取属性值 * @param root * @param xPath * @return */ public static String getXPathAttributeVal ...

  10. VS2010,Qt插件安装使用

    用了几次的QtCreateor,不习惯. 果断换回VS 基本步骤: 1.安装VS2010 2.安装Qt Creator5 3.安装Qt插件 qt-vs-addin-1.2.2-opensource 就 ...