温馨提示×

centos反汇编指令输出

小樊
78
2025-04-22 22:26:12
栏目: 智能运维

在CentOS系统中,你可以使用objdump命令来进行反汇编。以下是一些常用的objdump命令及其输出解释:

基本命令格式

objdump [选项] 文件名

常用选项

  • -d--disassemble:反汇编所有段。
  • -D--disassemble-all:反汇编所有段,包括调试信息。
  • -M intel-M att:选择Intel或AT&T语法。
  • -b binary:指定二进制文件。
  • -s--full-contents:显示所有段的内容。
  • -l--line-numbers:显示行号。
  • -S--source:显示源代码(如果可用)。

示例命令及输出解释

反汇编整个文件

objdump -d /path/to/your/binary

输出示例

00000000 <_start>:
   0:   31 ed                   xor    %ebp,%ebp
   2:   5e                      pop    %esi
   3:   89 e1                   mov    %esp,%ecx
   5:   83 e4 f0                and    $0xfffffff0,%esp
   8:   50                      push   %eax
   9:   54                      push   %esp
   a:   52                      push   %edx
   b:   68 20 80 00 00          push   $0x8020
  10:   68 80 20 00 00          push   $0x2080
  15:   50                      push   %eax
  16:   e8 10 ff ff ff          call   1 <_start+0x1>
  1b:   5a                      pop    %edx
  1c:   59                      pop    %ecx
  1d:   5e                      pop    %esi
  1e:   89 ec                   mov    %ebp,%esp
  20:   5d                      pop    %ebp
  21:   c3                      ret    
  • 每行显示一个指令及其对应的机器码。
  • 地址列(如00000000)表示指令的起始地址。
  • 指令列(如xor %ebp,%ebp)显示反汇编后的指令。
  • 其他列可能显示源代码行号、符号信息等。

反汇编特定段

objdump -d -j .text /path/to/your/binary

输出示例

/path/to/your/binary:     file format elf64-x86-64

Disassembly of section .text:

0000000000401136 <function>:
  401136:   55                      push   %rbp
  401137:   48 89 e5                mov    %rsp,%rbp
  40113a:   48 83 ec 10             sub    $0x10,%rsp
  40113e:   89 7d fc                mov    %edi,-0x4(%rbp)
  401141:   89 75 f8                mov    %esi,-0x8(%rbp)
  401144:   8b 45 fc                mov    -0x4(%rbp),%eax
  401147:   8b 55 f8                mov    -0x8(%rbp),%edx
  40114a:   01 d0                   add    %edx,%eax
  40114c:   89 45 f4                mov    %eax,-0xc(%rbp)
  40114f:   8b 45 f4                mov    -0xc(%rbp),%eax
  401152:   c9                      leave  
  401153:   c3                      ret    

注意事项

  • 确保你有足够的权限访问和读取目标文件。
  • 使用objdump时,可能需要安装binutils包,可以通过yum install binutils进行安装。

通过这些命令和输出解释,你可以有效地在CentOS系统上进行反汇编操作并理解其输出结果。

0