1

我正在阅读 Kernighan 和 Pike 所著的有些过时(尽管仍然很好)的“The Unix Programming Environment”。在第 46 页,在“文件”程序的描述中,该程序猜测文件的文件类型,作者声称可执行文件在开始时由八进制位“410”标记,即对程序的 od 调用将产生

000000 000410 .....etc
.... etc 

.

但是,当我在现代安装中对可执行文件调用 od 时,它们不以 000410 开头。但是,它们似乎都以以下字节串开头(我 od'd 两个 C 程序和一个 haskell 程序)

0000000 042577 043114 000402 000001 000000 000000 000000 000000
0000020 000002 000076 000001 .... 

之后文件不同。

我想知道我是否确实找到了在 ubuntu 中充当“这是一个可执行文件”字节的字节序列,以及为什么今天的字节开始事物约定不同。

谢谢

4

1 回答 1

1

您的书描述了COFF可执行文件。如今,大多数 Linux 发行版都使用ELF文件。

于 2013-05-23T01:25:53.297 回答