Öncelikli Not: KONU HAKKINDA TÜRKÇE KAYNAK OLMAMASI SEBEBİYLE OKUYACAĞINIZ HERŞEY YABANCI KAYNAKLIDIR BU SEBEPLE TARAFIMCA ÇEVRİLİP ANLAŞILMASI İÇİN SADELEŞTİRİLMİŞTİR.GEREKLİ KAYNAKÇAYI KONU SONUNDA BULABİLİRSİNİZ.KESİNLİKLE ALINTI YOKTUR
İSİMİNİN AÇILIMI NEDİR?
Açılımı: Tam adı Executable and Linkable Format Filedir.
ELF DOSYASI NEDİR PEKİ?
Önceden "Genişletilebilir Bağlantı Biçimi" olan Yürütülebilir (ELF) sistem dosyası; programları, ve paylaşılan kütüphaneleri depolayabilir. ELF biçimi, Unıx tabanlı sistemlerde kullanılan varsayılan (default) bir dosya türüdür
WİKİPEDİA AÇIKLAMASI:
Bilgi işlemde, Yürütülebilir ve Bağlanabilir Biçim (eski adıyla Genişletilebilir Bağlantı Biçimi olarak adlandırılan ELF) yürütülebilir dosyalar, nesne kodu, paylaşılan kütüphaneler ve çekirdek dökümler için ortak bir standart dosya biçimidir.İlk olarak Sistem V Sürüm 4 (SVR4), [2] adlı Unix işletim sistemi sürümünün uygulama ikili arabirimi (ABI) belirtiminde ve daha sonra Araç Arabirim Standardı'nda [1] hızlı bir şekilde kabul edildi. Unix sistemleri. 1999 yılında, 86open projesi tarafından x86 işlemcilerdeki Unix ve Unix benzeri sistemler için standart ikili dosya biçimi olarak seçildi.Tasarım gereği ELF formatı esnek, genişletilebilir ve çapraz platformdur. Örneğin, farklı endianness'leri ve adres boyutlarını destekler, böylece herhangi bir merkezi işlem ünitesini (CPU) veya komut seti mimarisini hariç tutmaz. Bu, birçok farklı işletim sistemi tarafından birçok farklı donanım platformunda benimsenmesini sağlamıştır.
Kaynak:https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
Elf Dosyası Linuxda Nasıl Okunur?
Kod:
readelf
Kod:
elfdump
Kod:
objdump
KONU İLE İLGİLİ ANLAMAK İÇİN YABANCI KAYNAKLI RESİMLER
DOSYA DÜZENİ
Her ELF dosyası bir ELF başlığından oluşur ve bunu dosya verileri izler. Veriler şunları içerebilir:
- Sıfır veya daha fazla bellek bölümünü tanımlayan program başlık tablosu
- Sıfır veya daha fazla bölümü açıklayan bölüm başlığı tablosu
- Program üstbilgi tablosundaki veya bölüm üstbilgisi tablosundaki girdiler tarafından yazılan veriler
ELF Dosyasının Yapısı
Linux terminalinde, man elf komutu size bir ELF dosyasının yapısı hakkında kullanışlı bir özet sunar:
Yukarıdaki açıklamadan da görebileceğiniz gibi, bir ELF dosyası iki bölümden oluşur - bir ELF başlığı ve dosya verileri. Dosya verileri bölümü, sıfır veya daha fazla bölümü tanımlayan bir program başlık tablosundan, sıfır veya daha fazla bölümü tanımlayan bir bölüm başlık tablosundan, ardından program başlık tablosundan girdiler tarafından bulunulan verilerden ve bölüm başlık tablosundan oluşabilir.
Her bölüm dosyanın çalışma zamanı yürütülmesi için gerekli bilgileri içerirken, bölümler bağlantı oluşturma ve yer değiştirme için önemli veriler içerir.
Kaynakça:
https://elinux.org/Executable_and_Linkable_Format_(ELF)
https://linuxhint.com/understanding_elf_file_format/
https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
http://www.skyfree.org/linux/references/ELF_Format.pdf
Umarım faydalı olmuştur
@ch_arli41
Son düzenleme:
