zoukankan      html  css  js  c++  java
  • 南京大学计算机基础 ELF和可执行文件格式

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    解决Qt creator无法输入中文
    JSP 问题总结
    oracle锁与死锁概念,阻塞产生的原因以及解决方案
    QT学习记录
    使用函数式接口
    使用函数式接口来传递行为
    Prototype(原型)
    Singleton(单例)
    Factory
    Template
  • 原文地址:https://www.cnblogs.com/YenKoc/p/13122376.html
Copyright © 2011-2022 走看看