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

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

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

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

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

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

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

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

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

最新文章

  1. 《Web开发中让盒子居中的几种方法》
  2. kali-dmitry 域名信息收集
  3. css实现文字过长省略显示
  4. Cryptography加密和解密
  5. Linq to EF 与Linq to Object 使用心得
  6. XStream将xml文件拼成字符串
  7. wpf 动画
  8. iOS、mac开源项目及库(感谢原作者的分享)
  9. java牛人给新人的几点建议
  10. 【git学习五】git基础之git分支
  11. android之服务service
  12. BAT面试题:请使用递归构建N叉树
  13. 正交矩阵、EVD、SVD
  14. SVN就是这么简单
  15. iview 动态渲染menu时active-name无效的问题
  16. 内置窗口 pyqt5
  17. Volley网络通信框架
  18. oracle 排序 row_number() over(partition by 排序字段)
  19. final发布评论Ⅱ
  20. DRM in Android详解--转

热门文章

  1. kylin的rowkey优化之调整rowkey顺序
  2. 源码安装nginx env
  3. MYSQL导入/迁移后事件不执行
  4. 20192113 2020-2021-2 《Python程序设计》实验三报告
  5. Go语言的GOPATH详解
  6. Java设计模式(1:软件架构设计七大原则及开闭原则详解)
  7. 主成分分析法(PCA)原理和步骤
  8. RGB-D相机视觉SLAM
  9. MinkowskiEngine语义分割
  10. Xilinx Zynq FPGA Boards板