什么时候在 ELF 文件中使用 ELFCLASSNONE?

When is ELFCLASSNONE used in an ELF file?

我正在学习 ELF。文件 class 可以是 ELFCLASS32ELFCLASS64ELFCLASSNONE 之一。

但是,我找不到 ELFCLASSNONE 的任何示例用法。

它有什么用?什么时候 ?它真的用在任何地方吗?

Is it actually used anywhere ?

没有

(仅用于检测无效的ELF文件。)

Used where?

验证 ELF 文件有效性的任何地方。这是来自 Linux 内核工具的 example

even there, ELFCLASSNONE is not used.

不知道 ELF header readelf 的哪些部分在得出 .bashrc 不是 ELF 文件的结论之前进行了检查.它可能查看了 ei_ident[EI_CLASS] 并将该值与 ELFCLASSNONE 进行了比较(尽管可能没有)。

如果您复制例如/bin/date,然后将 0 字节写入副本的第 5 个字节 (EI_IDENT == 4) 以破坏它,然后在该副本上 运行 readelf -h,您可能会得到一个 "invalid ELF class" 或类似信息。