使用Objdump进行目标文件的反汇编和文件布局的简要分析

来源:互联网 发布:易保网络是外包公司吗 编辑:程序博客网 时间:2024/05/16 17:19

一、源代码文件如下图




二、使用file命令查看文件类型

分析:编译后的目标文件类型为ELF-X86类型




三、使用objdump –d 进行反汇编

分析:

1、  目标文件类型为ELF-X86

2、  <mian>下面的callq包含重定位项,也就是2个函数的入口地址




四、objdump –hrt 查看目标文件布局图

分析:

1、.bss 没有初始化和初始化为0的全局变量(bss类型的全局变量只占内存空间,而不占文件空间)

2、.data 很明显就是数据段,里面存放着数据。(如果数据为0,为了优化考虑,编译器会把他当作bss处理)。data段存放初始化过的(非0)的全局变量。data类型的全局变量占用文件空间,运行时占用内存空间。

3、rodata 只读数据段,他是多个进程间共享的,这样可以提高空间利用率。

4、段-size:

.text 7b

.data 04

.bss 0

.rodata 1e






0 0
原创粉丝点击