在c程序中反汇编部分

时间:2013-07-04 09:39:41

标签: c objdump disassembly

我写了一个非常基本的Hello World程序来了解各个部分。使用objdump后,我得到了所有部分。我正在使用ubuntu 12.04

在输出中我发现它是这样的:

  
      
  1. 反汇编部分.init

  2.   
  3. 反汇编.plt

  4.   
  5. 反汇编.text

  6.   
  7. __ do_global_dtors_aux

  8.   
  9. 反汇编.fini

  10.   

我想知道这些部分是什么?他们存储了哪些数据?特别.plt.fini。关于.init.text我可以猜到,但其他人呢?

3 个答案:

答案 0 :(得分:5)

你应该谷歌:here is the first result。了解有关ELF格式的更多信息是一个良好的开端。

关于.init.finiit's here

Here is a list of the ELF sections,简要说明。

答案 1 :(得分:0)

From this handy page

  

我想提到的下一部分是.plt部分。这包含在我们调用共享库中的函数时使用的跳转表。

from this page

  

调用.fini

     

本节包含有助于进程终止代码的可执行指令。也就是说,当程序正常退出时,系统会安排执行本节中的代码。

答案 2 :(得分:0)

您可能会发现这个简短的教程很有帮助。它还包含相关文献的链接。

“链接器揭秘,第1部分”:http://www.rtos.be/?p=2166

我希望它有所帮助。

费尔南多