GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Können wir Compiler-Informationen aus einer Elf-Binärdatei erhalten?

Gibt es eine Chance zu wissen, wie eine Binärdatei unter Linux erstellt wurde? (und/oder andere Unix)

Compiler, Version, Zeit, Flags etc…

Ich habe mir readelf angeschaut und konnte nicht viel finden, aber es könnte andere Möglichkeiten geben, den Binärcode/Abschnitt usw. zu analysieren…

Weißt du irgendetwas, wie man extrahiert?

Akzeptierte Antwort:

Es gibt keinen universellen Weg, aber Sie können eine fundierte Vermutung anstellen, indem Sie nach Dingen suchen, die nur von einem Compiler erledigt werden.

GCC ist am einfachsten; es schreibt einen .comment Abschnitt, der die GCC-Versionszeichenfolge enthält (die gleiche Zeichenfolge, die Sie erhalten, wenn Sie gcc --version ausführen ). Ich weiß nicht, ob es eine Möglichkeit gibt, es mit readelf anzuzeigen , aber mit objdump es ist:

objdump -s --section .comment /path/binary

Mir ist gerade aufgefallen, dass ich den Rest Ihrer Frage ignoriert habe. Flags werden im Allgemeinen nirgendwo gespeichert; Sie wären höchstwahrscheinlich in einem Kommentarbereich, aber ich habe das noch nie gesehen. Es gibt einen Platz im COFF-Header für einen Zeitstempel, aber es gibt kein Äquivalent in ELF, also glaube ich nicht, dass die Kompilierzeit auch verfügbar ist


Linux
  1. dmidecode:Informationen zur Systemhardware unter Linux abrufen

  2. So erhalten Sie Fibre-Channel-HBA-Informationen von Linux SOSreport

  3. Gibt es eine Möglichkeit, gcc dazu zu bringen, rohe Binärdateien auszugeben?

  4. Wie bekomme ich eine Netzmaske von Bash?

  5. Wie kann ich eine Binärdatei aus einer .py-Datei erhalten?

Erhalten Sie CPU-Informationen unter Linux

Wikit – Holen Sie sich Wikipedia-Zusammenfassungen von der Befehlszeile in Linux

So erhalten Sie Nachrichten sofort von der Befehlszeile in Linux

So erhalten Sie Informationen über andere Linux-Benutzer

Erhalten Sie Informationen über einen Befehl mit Type Command in Linux

Linux-lshw-Befehl – ​​Holen Sie sich Linux-Hardware-Informationen