Linux中ELF格式文件介绍

SAP S/4HANA BP主数据-CVI模型 SAP BP主数据介绍 ECC系统中的客户、供应商主数据的限制: •一个客户或供应商仅能有一个地址 •客户和供应商没有关联关系(同一个实体公司) •如果一家公司既是供应商也是客户需建立两个主数据(数据冗余) •属性无时间相关性 S4系统中BP优点: •一个BP可以扮演多个角色(个人,客户,供应商)且角色之间数据共享 •时间相关的属性 •统一的数据架构,无数据冗余 •CVI模型可以确保BP和客户/供应商数据同步 SAP BP主数据配置 •配置BP角色/角色类别 •配置BP角. 阅读详情

      一、 ELF简介

       ELF(Executable and Linkable Format)即可执行连接文件格式,是一种比较复杂的文件格式,但其应用广泛。与linux下的其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够了系统相关信息使它能支持不同平台上的交叉编译和交叉链接,可移植性很强.同时它在执行中支持动态链接共享库。 ELF目前是Linux,SVR4和Solaris2.0默认的目标文件格式,目前标准接口委员会TIS已将ELF标准化为一种可移植的目标文件格式,运行于32-bit Intel体系微机上,可与多种操作系统兼容。分析elf文件有助于理解一些重要的系统概念,例如程序的编译和链接,程序的加载和运行等。

      二、3种类型的ELF文件:

      i.  可重定位文件:用户和其他目标文件一起创建可执行文件或者共享目标文件,例如lib*.a文件。 
      ii. 
可执行文件:用于生成进程映像,载入内存执行,例如编译好的可执行文件a.out。 

      iii.共享目标文件:用于和其他共享目标文件或者可重定位文件一起生成elf目标文件或者和执行文件一起创建进程映像,例如lib*.so文件。 

      三、ELF文件作用: 

      ELF文件参与程序的连接(建立一个程序)和程序的执行(运行一个程序),所以可以从不同的角度来看待ELF格式的文件。 
      i.   如果用于编译和链接(可重定位文件),则编译器和链接器将把ELF文件看作是节头表描述的节的集合,程序头表可选。 
      ii.  如果用于加载执行(可执行文件),则加载器则将把ELF文件看作是程序头表描述的段的集合,一个段可能包含多个节,节头表可选。 
      iii. 如果是共享文件,则两者都含有。

      四、ELF文件总体组成:

      从连接的角度和运行的角度,可以分别把目标文件的组成部分做以下划分:

      

      i.   ELF头文件:位于文件最开始处,包含整个文件的结构信息。
      ii.  节(section):是专门用于连接过程而言的,在每个节中包含指令数据、符号数据、重定位数据等等。
      iii. 程序头表:  在运行过程中是必须的,在链接过程中是可选的,因为它的作用是告诉系统如何创建进程的映像。
      iv. 节头表:包含文件中所用节的信息。

     下面看一下Linux内核对ELF头文件的定义,在linux+v2.6.36/include/linux/elf.h 

/* 32-bit ELF base types. */
typedef __u32 Elf32_Addr;
typedef __u16 Elf32_Half;
typedef __u32 Elf32_Off;
typedef __s32 Elf32_Sword;
typedef __u32 Elf32_Word;

#define EI_NIDENT 16

typedef struct elf32_hdr{
    unsigned char e_ident[EI_NIDENT]; //16字节的信息,下文详细解释
    Elf32_Half e_type; //目标文件类型?
    Elf32_Half e_machine; //体系结构类型
    Elf32_Word e_version; //目标文件版本
    Elf32_Addr e_entry; /* Entry point 程序入口的虚拟地址*/
    Elf32_Off e_phoff; //程序头部表的偏移量
    Elf32_Off e_shoff; //节区头部表的偏移量
    Elf32_Word e_flags; //
    Elf32_Half e_ehsize; //ELF头部的大小
    Elf32_Half e_phentsize; //程序头部表的表项大小
    Elf32_Half e_phnum; //程序头部表的数目
    Elf32_Half e_shentsize; //节区头部表的表项大小
    Elf32_Half e_shnum; //节区头部表的数目
    Elf32_Half e_shstrndx; //
}Elf32_Ehdr; //此结构体一共52个字节

我们使用notepad++打开一个ELF文件,可以看到前四个字节为" ELF":

此外,在linux下我们可以使用objdump 和readelf 两个命令 ,查看到ELF文件的各个节段的信息,运行时必要的动态链接库,ELF中的汇编代码等。

YoloV8改进策略:主干网络篇|MobileNetV4主干替换YoloV8的BackBone(独家原创) 今年,轻量级王者MobileNetV4闪亮登场!在我们这篇文章里,我们把MobileNetV4加入到了YoloV8中,替换原有的BackBone。哈哈,你猜怎么着?效果超赞!文章里详细记录了改进过程,给那些正在为创新点子发愁的小伙伴们提供了满满的灵感。嘿,想要发表关于轻量级改进的论文?这篇文章绝对是你的首选参考! 阅读详情

相关推荐

solidworks实体显示线框

solidworks实体莫名其妙显示为有点虚的线框

qq_35858902的博客 1万+

ELF解析工具 —— 使用介绍

ELF解析工具 函数栈大小

alios、linux、rtos等OS技术分析 7万+

2025.1.16——五、LoveSQL1 sqlmap文件类|万能密码

题目来源:BUUCTF[极客大挑战2019]LoveSQL1。

2402_87387800的博客 1066

ELF文件概述

ELF 文件是一种用于存储可执行程序、目标文件、共享库等的标准文件格式,在 Linux 及其他类 Linux 操作系统(如 Unix 等)中广泛应用。它定义了一种规范的结构,使得操作系统能够准确地加载程序并使其在内存中正确执行。简单来说,当我们编写一段代码(比如用 C 语言编写)并经过编译后,生成的可执行文件往往就是以 ELF 格式存在的。它包含了程序的代码段(存放可执行的机器指令)、数据段(存放程序中定义的各种变量等数据)、符号表(记录程序中定义的函数、变量等符号信息,用于链接等操作)等重要部分。

cyy001128的博客 3330

强化学习_06_pytorch-TD3实践(BipedalWalkerHardcore-v3)

DDPG的critic会高估, 从而导致actor策略失败。TD3是增加了三个关键技巧优化DDPG。经过优化后的TD3(Twin Dalayed DDPG 双延迟深度确定性策略梯度算法)适合于具有高维连续动作空间的任务。

RL小站 2690

银河麒麟V10 SP3系统下如何安全安装gcc-toolset-10(附yum仓库避坑指南)

本文详细介绍了在银河麒麟V10 SP3系统中安全部署gcc-toolset-10的完整方案。核心在于通过配置默认禁用的yum仓库(如EPKL仓库)并配合--enablerepo参数进行精准安装,有效规避依赖冲突风险,实现与系统默认GCC 7.3的稳定共存。文章还提供了多版本环境切换、系统维护及故障排查的实用指南,确保操作的可控与可逆。

h0i1j2k3l的博客 589

Windows上浏览ELF文件

Linux下如果想要浏览ELF文件,可以用objdump来做,但是Windows上没有这个工具,如果为了用objdump,要么装个虚拟机,要么启用linux kernel on windows,无论哪个,都挺麻烦。这里介绍一个方便实用的浏览ELF文件的小工具,具体来说,它是Windows上神级第三方资源浏览器Total Commander(以下简称TC)的一个插件。 关于Total Commander,简单来说,如果你受够了Windows自带的资源浏览器,Total Commander绝对是最好的替代。具体

松石立雪 9573

用AI科研绘图全新升级!借助谷歌新发布模型Nano Banana pro实测一键绘制机制图与技术路线图,直接告别文字乱码与低画质

之前有同仁反馈,用Nano Banana画科研插图的时候,要么文字部分容易乱码,要么抓不住关键内容,画出来的效果反复修改后,还是达不到理想的效果。终于在Gemini 3发布没几天,万众期待的大香蕉模型也成功升级到了Pro版本,官方名称叫“Gemini 3 Pro Image”,实际上也就是我们说的Nano Banana 2。这次的Nano Banana Pro模型,不仅可以直出4K高清图,还能自定义比例,推理能力和中文文字的稳定性也得到了提升。

智能AI让学术科研更容易 1887

Ubuntu18.04下gcc工具的常用命令,编译详细过程和ELF文件的了解

在Linux 系统(Ubuntu环境下)GCC工具的定义和简介,经常使用的一些常用命令及GCC工具编译的详细过程和一个实例演训,还有ELF文件格式的初步了解。

qq_53144725的博客 1451

基于深度学习的农作物病虫害检测识别系统:YOLOv8 + UI界面 + 数据集

该系统的目标是使用YOLOv8模型自动检测农作物的病虫害,并通过UI界面提供实时反馈。用户可以通过上传图像,系统会输出图像中是否存在病虫害以及具体种类。数据集准备与处理:收集并准备包含农作物病虫害图像的数据集,并进行标注和数据增强。YOLOv8模型训练:使用YOLOv8训练农作物病虫害检测模型。UI界面设计与开发:开发一个用户友好的界面,支持上传图像并展示检测结果。系统测试与优化:评估模型的准确性、实时性,并对系统进行优化。

YOLO 883

最新Python爬虫实战(入门爬虫篇)——案例1:某瓣网站Top250图片数据采集(附上完整爬虫代码)

本次案例通过Python爬虫技术实现了某瓣Top250电影封面的批量下载。代码采用模块化设计,函数实现cookies的自动解析,简化了配置流程,涵盖请求、解析、存储的完整流程。学习重点包括:抓包工具定位数据源、正则表达式匹配图片链接、模拟请求头绕过反爬机制、以及自动化文件管理。需要注意控制请求频率并遵守网站使用规范,适用于入门爬虫实践。

努力让自己发光,对的人才能迎着光而来 16万+

ELF文件详解

一、ELF概述 1、ELF的定义 ELF(Executable and Linkable Format)文件是一种目标文件格式,常见的ELF格式文件包括:可执行文件、可重定位文件(.o)、共享目标文件(.so)、核心转储文件等。 ELF主要用于Linux平台,Windows下是PE/COFF格式。 2、ELF文件的结构 一个完整的ELF文件一般会包括如下几个内容:ELF头、Section头、Segment头和Section。 其中由Section头组成的集合称为Section头表,...

PeakJin的博客 2万+

【漏洞复现】爱数云盘 Usrm_GetAllUsers 未授权访问漏洞

爱数 AnyShare存在未授权漏洞,未授权的攻击者可以通过该漏洞获取用户名信息。

qq_67810151的博客 3121

linux中elf文件的作用,Linux中ELF格式文件介绍

一、 ELF简介ELF(Executable and Linkable Format)即可执行连接文件格式,是一种比较复杂的文件格式,但其应用广泛。与linux下的其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够了系统相关信息使它能支持不同平台上的交叉编译和交叉链接,可移植性很强.同时它在执行中支持动态链接共享库。 ELF目前是Linux,S...

weixin_39863616的博客 1401

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux中ELF格式文件介绍,linux中ELF格式文件介绍

ELF格式即可执行连接文件格式,是一种比较复杂的文件格式。但应用广泛,和其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够的系统相关信息使它能够支持不同平台上的交叉编译和交叉链接ELF格式文件的分类,组成,作用,以及其中包含的内容,常用的elf操作工具分类a)可重定位的对象文件(Relocatable file):这是由汇编器汇编生成的.o文件...

weixin_33800074的博客 351

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

linux elf文件格式,简单介绍一下Linux中ELF格式文件

ELF(Executable and Linkable Format)即可执行连接文件格式,是一种比较复杂的文件格式,但其应用广泛。与linux下的其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够了系统相关信息使它能支持不同平台上的交叉编译和交叉链接,可移植性很强.同时它在执行中支持动态链接共享库。通过本文,可以大致了解Linux系统中ELF...

weixin_34683262的博客 575

linux文件类型elf,linux中ELF格式文件介绍

ELF格式即可执行连接文件格式,是一种比较复杂的文件格式。但应用广泛,和其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够的系统相关信息使它能够支持不同平台上的交叉编译和交叉链接ELF格式文件的分类,组成,作用,以及其中包含的内容,常用的elf操作工具分类a)可重定位的对象文件(Relocatable file):这是由汇编器汇编生成的.o文件...

weixin_31915631的博客 242
上一篇: Linux操作系统中进程内存分配解析
下一篇: mkdir创建多级目录
飛雪一刀
博客等级 码龄19年 18粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值