歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux之ELF魔數解析

Linux之ELF魔數解析

日期:2017/2/28 14:55:00   编辑:Linux教程

在Linux系統下,我們通常可以使用readelf命令來查看ELF文件信息。例如:

ELF文件有32位版本以及64版本之分,32位版本的結構體信息如下:

上面這些結構跟剛才輸出的kill0這個文件的elf信息基本一一對應,不同的是,Elf32_Ehdr中的e_ident對應了readelf輸出中的“Class”,"Data","Version","OS/ABI","ABI Version"。

而我們所要說的ELF魔數指的就是第一幅圖中畫線的數字。

最開始的四個字節是所有ELF文件都必須相同的標識符,分別為0x7F,0x45,0x4c,0x46,第一個字節對應ASCII字符裡面的DEL控制符,後面三個字節剛好是ELF這三個字節的ASCII碼。這四個字節稱為ELF的魔數。幾乎所有的可執行文件格式的最開始的幾個字節都是魔數。這種魔數用來確認文件的類型,操作系統在加載可執行文件的時候會確認魔數是否正確。

Copyright © Linux教程網 All Rights Reserved