GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bisakah Kita Mendapatkan Informasi Kompilator Dari Biner Elf?

Apakah ada peluang untuk mengetahui bagaimana biner dibangun, di bawah Linux? (dan atau Unix lainnya)

Kompiler, versi, waktu, bendera, dll…

Saya melihat readelf dan tidak dapat menemukan banyak, tetapi mungkin ada cara lain untuk menganalisis kode/bagian biner dll...

Ada yang tahu cara mengekstrak?

Jawaban yang Diterima:

Tidak ada cara universal, tetapi Anda dapat membuat tebakan dengan mencari hal-hal yang hanya dilakukan oleh satu kompiler.

GCC adalah yang termudah; ia menulis .comment bagian yang berisi string versi GCC (string yang sama yang Anda dapatkan jika Anda menjalankan gcc --version ). Saya tidak tahu apakah ada cara untuk menampilkannya dengan readelf , tetapi dengan objdump ini:

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

Saya baru menyadari bahwa saya mengabaikan sisa pertanyaan Anda. Bendera umumnya tidak disimpan di mana pun; kemungkinan besar mereka akan berada di bagian komentar, tetapi saya belum pernah melihatnya selesai. Ada tempat di header COFF untuk cap waktu, tetapi tidak ada yang setara di ELF, jadi saya rasa waktu kompilasi juga tidak tersedia


Linux
  1. Cara mendapatkan informasi Fibre Channel HBA dari Linux SOSreport

  2. Menggunakan Ctrl-Alt-F6 di Linux, dan tidak bisa mengembalikan layar saya

  3. Menjalankan file biner datar di Linux

  1. Dapatkan bilangan bulat langit-langit dari angka di linux (BASH)

  2. Bagaimana saya bisa mendapatkan informasi wadah Docker Linux dari dalam wadah itu sendiri?

  3. Bagaimana cara mendapatkan nama host dari IP (Linux)?

  1. Apakah ada cara untuk mendapatkan gcc untuk menghasilkan biner mentah?

  2. Bagaimana saya bisa menghapus jenkins sepenuhnya dari linux

  3. Bisakah saya mem-boot Linux dari VHD?