Übersicht
readelf stellt die verschiedenen Komponenten einer ELF-Datei in einem für Menschen lesbaren Format dar. Es ist ein unverzichtbares Werkzeug für Entwickler und Systemadministratoren, um die Struktur von Binärdateien zu verstehen und zu debuggen.
Hauptfunktionen
Dies sind die Kerninformationstypen, die readelf bereitstellt.
- Überprüfung der ELF-Header-Informationen
- Überprüfung der Sektions-Header-Informationen
- Analyse der Symboltabelle
- Anzeige dynamischer Linkerinformationen
- Überprüfung der Relokationsinformationen
- Überprüfung der Programm-Header-Informationen (Segmente)
Wichtige Optionen
readelf bietet eine Vielzahl von Optionen zur Untersuchung bestimmter Teile von ELF-Dateien.
Auswahl des Informationstyps
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`readelf` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Zeigt, wie Sie mit readelf verschiedene Informationen aus ELF-Dateien extrahieren können.
ELF-Header-Informationen anzeigen
readelf -h /bin/ls
Zeigt die ELF-Header-Informationen der ausführbaren Datei /bin/ls an.
Sektions-Header-Informationen anzeigen
readelf -S /bin/bash
Zeigt alle Sektions-Header-Informationen der ausführbaren Datei /bin/bash an.
Symboltabellen-Informationen anzeigen
readelf -s /lib/x86_64-linux-gnu/libc.so.6
Zeigt die Symboltabellen-Informationen der gemeinsam genutzten Bibliothek libc.so.6 an. (Der Pfad kann je nach System variieren.)
Alle Informationen anzeigen
readelf -a /usr/bin/vim
Zeigt alle ELF-bezogenen Informationen für die ausführbare Datei /usr/bin/vim an.
Tipps & Hinweise
Nützliche Tipps und zu beachtende Punkte bei der Verwendung von readelf.
Anwendbare Dateien
readelf kann nicht nur auf ausführbare Dateien, sondern auch auf alle ELF-formatierten Dateien wie `.o` (Objektdateien), `.so` (gemeinsam genutzte Bibliotheken) und `.a` (Archive) angewendet werden.
- Ausführbare Dateien (z. B. /bin/ls)
- Gemeinsam genutzte Bibliotheken (z. B. /lib/x86_64-linux-gnu/libc.so.6)
- Objektdateien (z. B. .o-Dateien, die nach der Kompilierung erstellt werden)
Vergleich mit anderen Werkzeugen
Unterschiede zu anderen Dienstprogrammen zur Analyse von ELF-Dateien.
- objdump: Bietet detailliertere Low-Level-Informationen, einschließlich Assemblercode, und ist nützlich für die Disassemblierung von Binärdateien.
- nm: Konzentriert sich hauptsächlich auf Symbolinformationen (Funktionen, Variablen) und zeigt den Typ und die Adresse von Symbolen prägnant an.
- ldd: Zeigt die Liste der dynamischen Bibliotheken an, von denen eine ausführbare Datei oder eine gemeinsam genutzte Bibliothek abhängt.