首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ELF文件中附加任意数据是否违反ELF规范?

在ELF文件中附加任意数据是否违反ELF规范?
EN

Stack Overflow用户
提问于 2012-04-11 13:03:15
回答 2查看 2.7K关注 0票数 6

我想将一些信息添加到ELF文件中,但理想情况下,需要这样做,即程序可以轻松地读取这些信息,而无需理解ELF或使用标准语言库之外的工具。我想简单地将这些数据附加到ELF文件的末尾(使用某种哨兵来指示数据的开始,这样读取程序就可以向后查找哨兵),但我想确保这不会首先违反ELF规范。我不感兴趣的是,一个特定的加载程序是否能很好地处理这些附加的数据;我想知道ELF规范本身是否保证了任何东西,这样我就可以知道不同的ELF兼容加载器会对它感到满意。

我看到以前有人问过这样的问题,但要么假设附加的问题是可以的,要么没有直接的答复:

据我所知,ELF规范在这里:

  • http://www.muppetlabs.com/~breadbox/software/ELF.txt

我无法通过一些搜索来确定我想要的属性是否明确地被该规范所允许。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-11 13:36:21

规范并没有真正说明任何关于它的内容,因此人们可能会认为“拥有跟踪数据是一种未定义的行为”。另一方面,ELF规范非常清楚它的期望:“节和段没有指定的顺序。只有ELF标头在文件中有固定的位置。“,这给了足够的空间以这样或那样的方式嵌入数据,使用一个节,或者不使用一个,这就是未引用的数据!

这种“数据自由”至少在20世纪80年代末就被利用了;考虑一下“自解压缩档案”,其中一个通用的解包代码存根在尾随的数据部分被释放。

事实上,您甚至可以在非可执行数据格式(如RIFF和PNG )中找到这种隐式特性。当然,并非所有格式都允许这样做;尤其是那些将数据定义为运行到EOF的格式,而不是存储在某个标头中的固定长度的数据。(考虑ZIP:追加数据是不可能的,但前提是,这就是导致EXE被解压缩程序和操作系统都读取的原因。)

使用这样的未引用数据有一个缺点:当读取和保存文件时,可能会丢失这些数据。

票数 7
EN

Stack Overflow用户

发布于 2012-04-11 18:44:28

可以在ELF文件中添加额外的数据(因为您可以向ELF添加新的段和新的部分),但是您应该有(或改进)工具来处理“改进”的ELF,这可能是一个很大的负担。不要忘记很好地记录您正在做的事情(如果可能的话,可以在一个可自由访问的文档中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10106447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档