Executable and Linkable Format
From Just Solve the File Format Problem
(Difference between revisions)
(Provide links to sample files available on discmaster.textfiles.com. Provide more software used for analyzing ELF files and references. Add Wikipedia page on DWARF in links.) |
(Add File command to Software, which can be used to identify the type of executable.) |
||
Line 19: | Line 19: | ||
* [https://www.gnu.org/software/libc/ GNU C Library] → ldd (prints shared object dependencies) | * [https://www.gnu.org/software/libc/ GNU C Library] → ldd (prints shared object dependencies) | ||
* [https://www.gnu.org/software/binutils/ GNU Binutils] → readelf | * [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>) | * 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>) | ||
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 |
[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