GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:possiamo ottenere informazioni sul compilatore da un binario elfo?

C'è qualche possibilità di sapere come è stato creato un binario, sotto Linux? (e/o altro Unix)

Compilatore, versione, ora, flag ecc...

Ho guardato readelf e non sono riuscito a trovare molto, ma potrebbero esserci altri modi per analizzare il codice binario/sezione ecc...

Qualcosa che sai come estrarre?

Risposta accettata:

Non esiste un modo universale, ma puoi fare un'ipotesi plausibile cercando le cose fatte solo da un compilatore.

GCC è il più semplice; scrive un .comment sezione che contiene la stringa della versione di GCC (la stessa stringa che ottieni se esegui gcc --version ). Non so se c'è un modo per visualizzarlo con readelf , ma con objdump è:

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

Mi sono appena reso conto di aver ignorato il resto della tua domanda. Le bandiere generalmente non vengono salvate da nessuna parte; molto probabilmente sarebbero in una sezione di commenti, ma non l'ho mai visto fatto. C'è un punto nell'intestazione COFF per un timestamp, ma non c'è un equivalente in ELF, quindi non credo che sia disponibile nemmeno il tempo di compilazione


Linux
  1. Come ottenere informazioni HBA Fibre Channel da Linux SOSreport

  2. Ho usato Ctrl-Alt-F6 in Linux e non riesco a riavere il mio schermo

  3. Esecuzione di un file binario piatto sotto Linux

  4. Ottieni il numero intero massimo dal numero in Linux (BASH)

  5. Come posso ottenere informazioni sul contenitore Docker Linux dall'interno del contenitore stesso?

Ottieni informazioni sulla CPU su Linux

Wikit:ottieni i riepiloghi di Wikipedia dalla riga di comando in Linux

Come ottenere notizie istantaneamente dalla riga di comando in Linux

Come ottenere informazioni su altri utenti Linux

Ottieni informazioni su un comando con Type Command in Linux

Comando Linux lshw:ottieni informazioni sull'hardware di Linux