南京大学计算机基础 ELF和可执行文件格式
2024-10-19 09:12:27
1.可重定位目标文件格式
主要是由ELF头,一些节比如.text节,.rodata节,.data节,.bss节等,前面是只读的,后面是可读可写的,加上一个节头表
1.1 ELF头里面主要包含了16字节的标识信息,文件类型,机器类型,节头表偏移,节头表的表项大小以及个数,以及程序的入口地址,就是第一句执行的代码
好像和PE文件差不多的构成。。。不过PE的格式更加复杂了。。。过几天看看撸个PE解析器或者ELF的解析器
1.2.节头表存储着节的名字,访问方式,偏移,以及到虚拟地址的地址。
1.3. 可执行文件的ELF头差别
本质也没差别,只是程序的入口地址改成虚拟地址了,因为可重定位的无法加载,所以程序入口无意义,然后程序头表地址也添加上去了,因为程序头表主要描述的是映射关系,可重定位文件由于不加载,所以就被设置为零了,
链接成可执行文件时,就要添加上去了,同时程序头表,就在ELF头后面
剩下就是映射到虚拟地址里面了
最新文章
- 《Web开发中让盒子居中的几种方法》
- kali-dmitry 域名信息收集
- css实现文字过长省略显示
- Cryptography加密和解密
- Linq to EF 与Linq to Object 使用心得
- XStream将xml文件拼成字符串
- wpf 动画
- iOS、mac开源项目及库(感谢原作者的分享)
- java牛人给新人的几点建议
- 【git学习五】git基础之git分支
- android之服务service
- BAT面试题:请使用递归构建N叉树
- 正交矩阵、EVD、SVD
- SVN就是这么简单
- iview 动态渲染menu时active-name无效的问题
- 内置窗口 pyqt5
- Volley网络通信框架
- oracle 排序 row_number() over(partition by 排序字段)
- final发布评论Ⅱ
- DRM in Android详解--转