Dies ist der Befehlsscan, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
scanelf – User-Space-Dienstprogramm zum Scannen von ELF-Dateien
ZUSAMMENFASSUNG
scanelf [Optionen] Elfen or Verzeichnisse
BESCHREIBUNG
scanelf ist ein User-Space-Dienstprogramm zum schnellen Scannen bestimmter ELFs, Verzeichnisse oder allgemeiner Systeme
Wege für verschiedene Informationen. Dazu können ELF-Typen, ihre PaX-Markierungen, TEXTRELs,
etc. ..
OPTIONAL
-A, --Archiv
Archive durchsuchen (.a-Dateien)
-a, --alle
Drucken Sie alle nützlichen/einfachen Informationen aus
-B, --nobanner
Kopfzeile nicht anzeigen
-b, --binden
Symbolbindungsinformationen drucken (faul oder jetzt)
-D, --endian
ELF-Endianness drucken (groß/klein/...)
-E, --e-Typ E-TYP
Nur ELF-Dateien drucken, die dem angegebenen E-Typ entsprechen (wie ET_DYN, ET_EXEC usw.)
-e, --Header
GNU_STACK-Markierungen drucken
-F, --Format FORMAT
Verwenden Sie das angegebene Format für die Ausgabe; siehe die FORMAT Abschnitt für weitere Informationen
-f, --aus FILE
Eingabestream aus dem angegebenen Dateinamen lesen
-g, --gmatch
Verwenden Sie strncmp, um Bibliotheken abzugleichen (verwenden Sie mit -N). Oder regexp mit Symbolübereinstimmung
-h, --help
Kondensierte Nutzung anzeigen und beenden
-I, --osabi
Drucken Sie OSABI
-i, --interp
Drucken Sie die Interpreterinformationen (.interp/PT_INTERP)
-k, --Sektion SEKTION
Finden Sie ELFs mit dem angegebenen Abschnitt. Kann zur Übereinstimmung mehrmals angegeben werden
mehrere Abschnitte gleichzeitig. Sehen SEKTION PASSEND for more info
-L, --ldcache
ld.so.cache-Informationen nutzen (verwenden mit -r/-n)
-l, --ldpath
Scannen Sie alle Verzeichnisse in /etc/ld.so.conf
-M, - Bits BITS
Nur ELF-Dateien drucken, die den angegebenen numerischen Bits entsprechen (z. B. 32/64).
-m, --montieren
Mountpunkte nicht rekursiv überqueren
-N, --lib SONAME
Finden Sie ELFs, die den angegebenen SONAME benötigen. Kann zur Übereinstimmung mehrmals angegeben werden
mehrere SONAMEs gleichzeitig. Sehen SONAME PASSEND for more info
-n, --erforderlich
Druckbibliotheken, mit denen das ELF verknüpft ist (DT_NEEDED)
-O, --dauerwelle PERMS
Drucken Sie nur ELF-Dateien mit übereinstimmenden angegebenen Oktalbits (z. B. 755).
-o, --Datei FILE
Ausgabestream in den angegebenen Dateinamen schreiben
-p, --Weg
Scannen Sie alle Verzeichnisse in der PATH-Umgebung
-q, --ruhig
Nur „schlechte“ Dinge ausgeben
-R, - rekursiv
Verzeichnisse rekursiv durchsuchen
-r, --rPfad
Im ELF codierte Laufpfade drucken (DT_RPATH/DT_RUNPATH)
-S, --Soname
Geben Sie den Namen der gemeinsam genutzten Bibliothek des ELF aus (DT_SONAME).
-s, --Symbol SYMBOL
Suchen Sie das angegebene Symbol. sehen SYMBOL PASSEND für weitere Infos
-T, --textrels
Finden Sie die Ursache von TEXTRELs über objdump
-t, --textrel
Drucken Sie TEXTREL-Informationen
-V, --Version
Druckversion und beenden
-v, - ausführlich
Seien Sie ausführlich (kann mehr als einmal verwendet werden)
-X, --Fix
Versuchen Sie, schlechte Dinge zu „reparieren“ (verwenden Sie mit -r/-e)
-x, --pax
PaX-Markierungen drucken
-Y, --eabi
EABI drucken (wichtig nur für einige Architekturen)
-y, - Symlink
Keine Symlinks scannen
-Z, --Größe GRÖßE
ELF-Dateigröße drucken
-z, --setpax FLAGGEN
Setzt EI_PAX/PT_PAX_FLAGS auf angegebene Flags (verwenden mit -Xx)
--use-ldpath
Verwenden Sie die ld.so.conf-Pfade, um den vollständigen Pfad zu Bibliotheken zu finden (verwenden Sie sie in Verbindung mit
--erforderlich).
--Wurzel PATH
Durchsuchen Sie stattdessen den angegebenen Stammbaum /. Im Allgemeinen gepaart mit Optionen wie -l oder
-P. Dies behandelt implizit alle in der Befehlszeile angegebenen Pfade als relativ zum
root, lassen Sie es also unbedingt weg, wenn Sie explizit ELFs auflisten.
FORMAT
Der Format-String ähnelt einem printf-String insofern, als es sich um einen Literal-String mit Flags handelt
unterschiedliche Informationen anfordern. Sie könnten beispielsweise eine Formatzeichenfolge verwenden und erwarten
die folgenden Ergebnisse.
# scanelf -BF "Datei %f braucht %n; funky Zeit" / bin / bash
Datei-Bash benötigt libncurses.so.5,libdl.so.2,libc.so.6; abgefahrene Zeit
Beachten Sie, dass bei Verwendung einer Formatzeichenfolge im Allgemeinen informationsbezogene Flags
weggelassen. Mit anderen Worten, Sie möchten nicht versuchen, die NEEDED-Ausgabe (-n) und versuche es
Geben Sie gleichzeitig eine Formatausgabe an, da sich diese Operationen gegenseitig ausschließen. Jeder
Das informationsbezogene Flag hat einen äquivalenten Konvertierungsspezifizierer, also verwenden Sie stattdessen diese. Du
können natürlich weiterhin nicht informationsbezogene Flags verwenden (wie z - ausführlich).
Es gibt drei Zeichen, die Konvertierungsspezifizierer einführen.
· % - durch info ersetzen
· # - stilles boolesches Match
· + - ausführliche Übereinstimmung
Und es gibt eine Reihe von Konvertierungsspezifizierern. Wir versuchen, den Bezeichner mit abzugleichen
entsprechende Option.
· a - Maschinentyp (EM).
· b - Flags binden
· e - Programmkopfzeilen
· D -endian
· I -Osabi
· Y - eabi
· F - langer Dateiname
· f - kurzer Dateiname
· i - interp
· k - Sektion
· M - EI-Klasse
· N - spezifiziert benötigt
· n - benötigte Bibliotheken
· p - Dateiname (minus Suche)
· o - e-Typ
· O - Dauerwellen
· r - Laufwege
· S - SONAME
· s - Symbol
· T - alle Texte
· t - Textrel-Status
· x - Pax-Flaggen
SYMBOL PASSEND
Die angegebene Zeichenfolge hat die Form [%[Modifikatoren]%][[+-] Name>][,[.....]].
Besitzt das Symbol Name leer ist, werden alle Symbole gefunden.
Besitzt das Symbol Name ist ein Globus ("*"), dann werden alle Symbole in einem Debug-Format ausgegeben. Tun Sie das nicht
Verlassen Sie sich auf die Struktur dieser Ausgabe, da sie sich ändert, wann immer wir Lust dazu haben.
Wenn das erste Zeichen des Symbolnamens ein Pluszeichen ist ("+"), dann stimmen nur definierte Symbole überein. Wenn
es ist ein Minus ("-"), stimmen nur mit undefinierten Symbolen überein. Wenn wir „definiert“ sagen, meinen wir die
Das Symbol ist im ELF definiert und verfügt nicht über eine externe Referenz.
Modifikatoren zwischen den Prozentzeichen einfügen ("%") ermöglicht detailliertere Filter.
Es gibt Gruppen von Modifikatoren. Wenn Sie kein Mitglied einer Gruppe angeben, werden alle eingegeben
Diese Gruppe passt zusammen.
· STT Gruppe (Symboltyp)
· n - STT_NOTYPE
· o - STT_OBJECT
· f - STT_FUNC
· F - STT_FILE
· STB Gruppe (Symbolbindung)
· l - STB_LOCAL
· g - STB_GLOBAL
· w - STB_WEAK
· STV Gruppe (Sichtbarkeit des Symbols)
· p - STV_DEFAULT
· i - STV_INTERNAL
· h - STV_HIDDEN
· P - STV_PROTECTED
· SHN Gruppe (Abschnittsüberschrift)
· d - definiert
· u - SHN_UNDEF
· a - SHN_ABS
· c - SHN_COMMON
Sie können nach mehreren Symbolen gleichzeitig suchen, indem Sie ein Komma (",") zu trennen
verschiedene Suchanfragen. Jedes übereinstimmende Symbol wird angezeigt, während nicht übereinstimmende Symbole angezeigt werden
wird nicht.
ELF ETYPEN
Sie können Ihre Suche eingrenzen, indem Sie den ELF-Objektdateityp (ETYPE) angeben. Die Kommandozeile
Die Option nimmt den numerischen Wert und/oder den symbolischen Typ an. Mehrere Werte können durch Komma übergeben werden
getrennt. Beispiel -E ET_EXEC,ET_DYN,1
Hier ist die normale Liste, die Ihnen zur Verfügung steht. Es steht Ihnen selbstverständlich frei, welche anzugeben
numerischen Wert, den Sie möchten.
· 0 - ET_NONE - unbekannter Typ
· 1 - ET_REL - verschiebbare Datei
· 2 - ET_EXEC - ausführbare Datei
· 3 - ET_DYN - Gemeinsames Objekt
· 4 - ET_CORE - Kerndatei
ELF BITS
Sie können Ihre Suche auch eingrenzen, indem Sie die ELF-Bitgröße angeben. Geben Sie erneut die Zahl an
Wert oder die symbolische Definition.
· 32 - ELFCLASS32 - 32-Bit-ELFs
· 64 - ELFCLASS64 - 64-Bit-ELFs
SEKTION PASSEND
A ! Präfix zeigt nur ELFs an, die nicht über den angegebenen Abschnitt verfügen.
ERFORDERLICH SONAME PASSEND
A ! Präfix zeigt nur ELFs an, die nicht von der angegebenen Bibliothek abhängen.
HOMEPAGE
http://hardened.gentoo.org/pax-utils.xml
REPORTING Fehler
Bitte geben Sie so viele Informationen wie möglich an (unter Verwendung aller verfügbaren Debugging-Optionen) und
Fehlerberichte an die Betreuer senden (siehe die AUTOREN Sektion). Bitte verwenden Sie die Gentoo
bugzilla bei http://bugs.gentoo.org/ wenn möglich.
Nutzen Sie scanelf online über die Dienste von onworks.net