码迷,mamicode.com
首页 > 其他好文 > 详细

南京大学计算机基础 ELF和可执行文件格式

时间:2020-06-14 01:08:37      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:png   loading   设置   load   oda   机器   bss   类型   添加   

1.可重定位目标文件格式

主要是由ELF头,一些节比如.text节,.rodata节,.data节,.bss节等,前面是只读的,后面是可读可写的,加上一个节头表

1.1 ELF头里面主要包含了16字节的标识信息,文件类型,机器类型,节头表偏移,节头表的表项大小以及个数,以及程序的入口地址,就是第一句执行的代码

技术图片

 

 好像和PE文件差不多的构成。。。不过PE的格式更加复杂了。。。过几天看看撸个PE解析器或者ELF的解析器

1.2.节头表存储着节的名字,访问方式,偏移,以及到虚拟地址的地址。

技术图片

 

 

 

技术图片

 

1.3. 可执行文件的ELF头差别

本质也没差别,只是程序的入口地址改成虚拟地址了,因为可重定位的无法加载,所以程序入口无意义,然后程序头表地址也添加上去了,因为程序头表主要描述的是映射关系,可重定位文件由于不加载,所以就被设置为零了,

链接成可执行文件时,就要添加上去了,同时程序头表,就在ELF头后面

技术图片

 

 剩下就是映射到虚拟地址里面了

 

南京大学计算机基础 ELF和可执行文件格式

标签:png   loading   设置   load   oda   机器   bss   类型   添加   

原文地址:https://www.cnblogs.com/YenKoc/p/13122376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!