objdump -d输出程序集的意思

时间:2021-04-12 02:11:14

I'm trying to figure out what all of the elements of this objdump -d mean.

我想弄清楚这个objdump -d的所有元素是什么意思。

for example i have:

例如我有:

08048b50 <phase_1>:
8048b50:    83 ec 1c                sub    $0x1c,%esp
 8048b53:   c7 44 24 04 68 a2 04    movl   $0x804a268,0x4(%esp)
 8048b5a:   08 
 8048b5b:   8b 44 24 20             mov    0x20(%esp),%eax
 8048b5f:   89 04 24                mov    %eax,(%esp)
 8048b62:   e8 63 04 00 00          call   8048fca <strings_not_equal>
 8048b67:   85 c0                   test   %eax,%eax
 8048b69:   74 05                   je     8048b70 <phase_1+0x20>
 8048b6b:   e8 f5 06 00 00          call   8049265 <explode_bomb>
 8048b70:   83 c4 1c                add    $0x1c,%esp
 8048b73:   c3                      ret    

specifically im not sure what the 1st and center columns are telling me

具体地说,我不知道第一列和中间列告诉了我什么

1 个解决方案

#1


3  

The first column tells you the memory addresses where the code will be located at runtime.

第一列告诉您代码将位于运行时的内存地址。

The second column has the hex version of the executable instruction.

第二列包含可执行指令的十六进制版本。

The third (and forth) columns, have a disassembled version of the second column. i.e. opcode and operands.

第三列(和第四列)具有第二列的分解版本。即操作码和操作数。

#1


3  

The first column tells you the memory addresses where the code will be located at runtime.

第一列告诉您代码将位于运行时的内存地址。

The second column has the hex version of the executable instruction.

第二列包含可执行指令的十六进制版本。

The third (and forth) columns, have a disassembled version of the second column. i.e. opcode and operands.

第三列(和第四列)具有第二列的分解版本。即操作码和操作数。

相关文章