GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿podemos obtener información del compilador de un binario Elf?

¿Hay alguna posibilidad de saber cómo se construyó un binario, bajo Linux? (y otro Unix)

Compilador, versión, tiempo, banderas, etc…

Miré readelf y no pude encontrar mucho, pero podría haber otras formas de analizar el código binario/sección, etc...

¿Algo que sepas cómo extraer?

Respuesta aceptada:

No existe una manera universal, pero puede hacer una suposición bien fundamentada buscando cosas que solo haya hecho un compilador.

GCC es el más fácil; escribe un .comment sección que contiene la cadena de versión de GCC (la misma cadena que obtiene si ejecuta gcc --version ). No sé si hay una forma de mostrarlo con readelf , pero con objdump es:

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

Me acabo de dar cuenta de que ignoré el resto de tu pregunta. Las banderas generalmente no se guardan en ningún lado; probablemente estarían en una sección de comentarios, pero nunca he visto que se haga eso. Hay un lugar en el encabezado COFF para una marca de tiempo, pero no hay equivalente en ELF, por lo que tampoco creo que el tiempo de compilación esté disponible


Linux
  1. dmidecode:obtenga información del hardware del sistema en Linux

  2. Cómo obtener información de HBA de canal de fibra de Linux SOSreport

  3. Usé Ctrl-Alt-F6 en Linux y no puedo recuperar mi pantalla

  4. Ejecutar un archivo binario plano bajo Linux

  5. Obtenga el número entero del techo del número en Linux (BASH)

Obtener información de la CPU en Linux

Wikit:obtenga resúmenes de Wikipedia desde la línea de comandos en Linux

Cómo obtener noticias al instante desde la línea de comandos en Linux

Cómo obtener información sobre otros usuarios de Linux

Obtener información sobre un comando con tipo de comando en Linux

Comando lshw de Linux:obtener información de hardware de Linux