zoukankan      html  css  js  c++  java
  • ELF Format 笔记(十四)—— 段内容

    ilocker:关注 Android 安全(新手) QQ: 2597294287

    一个段 (segment) 由一个或多个节 (section) 组成,但这对 android linker 是透明的,linker 在加载程序时没有用到节信息。所以对于一个 so 文件,修改 ELF Header 中和节有关的成员 (e_shoff、e_shentsize、e_shnum) 不会影响程序运行。

    文本段 (也叫代码段) 包含只读指令和数据,通常包含如下这些节:

     

    通常 android so 的第一个 LOAD 段就是文本段:

    数据段包含可写的数据和指令,通常包括如下这些节:

    通常 android so 的第二个 LOAD 段就是数据段:

    .got 和 .plt 节保存的信息用于支援“位置无关代码”,在动态链接的过程中会修改 .got 节。

    .bss 节的类型是 SHT_NOBITS,表示在文件中不占空间。但 .bss 在段的内存映像中是占用空间的,通常位于段的末尾,用于存放未初始化的全局变量,所以数据段的 p_memsz 会比 p_filesz 大一些。

  • 相关阅读:
    layoutSubviews总结
    Vue.js:循环语句
    Vue.js:条件与循环
    Vue.js:模版语法
    Vue.js:起步
    Vue.js-Runoob:目标结构
    Vue.js-Runoob:安装
    Runoob-Vue.js:教程
    Vue.js:template
    培训-Alypay-Cloud:蚂蚁金融云知识点
  • 原文地址:https://www.cnblogs.com/ilocker/p/4992428.html
Copyright © 2011-2022 走看看