Executable and Linkable Format
From Just Solve the File Format Problem
(Difference between revisions)
(created page) |
(Add File command to Software, which can be used to identify the type of executable.) |
||
(19 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | ''' | + | {{FormatInfo |
+ | |formattype=electronic | ||
+ | |subcat=Executables | ||
+ | |pronom={{PRONOM|fmt/688}}, {{PRONOM|fmt/689}}, {{PRONOM|fmt/690}}, {{PRONOM|fmt/691}} | ||
+ | |kaitai struct=elf | ||
+ | |extensions={{noext}}, {{ext|elf}}, {{ext|o}}, {{ext|ko}}, {{ext|so}}, {{ext|mod}} | ||
+ | }} | ||
+ | '''Executable and Linkable Format''' ('''ELF''') is a file format used for executables, shared (dynamically linked) libraries, object code and [[core dump]]s. | ||
− | [ | + | [[Wikipedia:Executable and Linkable Format|The Wikipedia article]] has a long list of links to various specifications. |
+ | |||
+ | == Format info == | ||
+ | * [http://imgur.com/a/MtQZv#0 Graphic showing header structure] | ||
+ | * {{manpage|5|elf}} | ||
+ | |||
+ | == Software == | ||
+ | * [https://www.gnu.org/software/binutils/ GNU Binutils] → objdump | ||
+ | * [https://www.gnu.org/software/binutils/ GNU Binutils] → nm (used for reading symbols) | ||
+ | * [https://www.gnu.org/software/libc/ GNU C Library] → ldd (prints shared object dependencies) | ||
+ | * [https://www.gnu.org/software/binutils/ GNU Binutils] → readelf | ||
+ | * [[File command]] (could also be used to identify the type of executable) | ||
+ | * elfdump (Available in certain *BSD flavors<ref>[https://forums.freebsd.org/threads/type-o-files-how-does-one-edit.40500/post-224795 Post #8 by kpa of "Type *.o files. How does one edit?" - FreeBSD forums]</ref><ref>[https://sourceforge.net/projects/elfdump/ elfdump - SourceForge project page]</ref> and Solaris<ref>[https://docs.oracle.com/cd/E23823_01/html/816-5165/elfdump-1.html Synopsis - man pages section 1: User Commands - Oracle Docs]</ref>) | ||
+ | |||
+ | == Sample files == | ||
+ | === <code>.so</code> or shared object === | ||
+ | See [https://discmaster.textfiles.com/search?mode=deep&extension=so&family=executable&format=elf Search results for extension "so", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com] for a huge list of sample files. | ||
+ | |||
+ | === <code>.ko</code> or kernel object === | ||
+ | See [https://discmaster.textfiles.com/search?mode=deep&extension=ko&family=executable&format=elf Search results for extension "ko", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com] for a huge list of sample files. | ||
+ | |||
+ | == Links == | ||
+ | * [[Wikipedia: Executable and Linkable Format]] | ||
+ | ** [[Wikipedia: DWARF|Debugging With Arbitrary Record Formats (DWARF) on Wikipedia]] - a debugging data format that was designed along with Executable and Linkable Format (ELF) | ||
+ | * [https://github.com/corkami/pics/blob/master/ELF101.png ELF101 - a Linux executable walkthrough] | ||
+ | * [https://onedrive.live.com/view.aspx?resid=EBE7DEDA70D06DA0!107&app=PowerPoint&authkey=!AD-O3oq3Ung7pzk Hacking GCN via OpenGL (it's got an ELF in it)] | ||
+ | * [http://www.cirosantilli.com/elf-hello-world/ ELF Hello World Tutorial] | ||
+ | |||
+ | == References == | ||
+ | <references/> |
Latest revision as of 00:39, 10 August 2025
Executable and Linkable Format (ELF) is a file format used for executables, shared (dynamically linked) libraries, object code and core dumps.
The Wikipedia article has a long list of links to various specifications.
Contents[hide] |
[edit] Format info
[edit] Software
- GNU Binutils → objdump
- GNU Binutils → nm (used for reading symbols)
- GNU C Library → ldd (prints shared object dependencies)
- GNU Binutils → readelf
- File command (could also be used to identify the type of executable)
- elfdump (Available in certain *BSD flavors[1][2] and Solaris[3])
[edit] Sample files
[edit]
See Search results for extension "so", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com for a huge list of sample files.
[edit] .ko
or kernel object
See Search results for extension "ko", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com for a huge list of sample files.
[edit] Links
- Wikipedia: Executable and Linkable Format
- Debugging With Arbitrary Record Formats (DWARF) on Wikipedia - a debugging data format that was designed along with Executable and Linkable Format (ELF)
- ELF101 - a Linux executable walkthrough
- Hacking GCN via OpenGL (it's got an ELF in it)
- ELF Hello World Tutorial