ELF文件之三——使用链接脚本-2个函数

Posted yanhc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELF文件之三——使用链接脚本-2个函数相关的知识,希望对你有一定的参考价值。

main.c

技术图片
int main()
{
    return 0;
}

int add()
{
    return 0;
}
View Code

 

main.o的比较

与之二相比,section header offset由0x90变为0xA4,增加0x14,即add函数的大小

需要注意的是,后面section header所有节的偏移都相应偏移0x14

技术图片

 readelf输出,text变为x28

技术图片

symbol table增加add,数值为0x0000 0014,即增加了偏移;到elf文件时会再加上入口地址偏移。

技术图片

main.elf的比较

section header offset增加0x14,

program header里项目1的大小由0x14变为0x28,项目2的偏移由88变为9c增加14

技术图片

 

以上是关于ELF文件之三——使用链接脚本-2个函数的主要内容,如果未能解决你的问题,请参考以下文章

ELF文件之六——使用链接脚本-2个函数-data-bss-temp

链接脚本和可执行文件

链接脚本和可执行文件

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

使用链接描述文件制作 ELF 文件,在节之间没有零初始化块

ELF文件之二——使用链接脚本