mikrocontroller.net

Forum: PC Hard- und Software Feststellen mit welchem Compiler/und Optionen ein Program comp. wurde


Autor: Daniel -------- (root)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo tuxuser,

wie kann ich nachträglich herausfinden mit welchem Compiler und
mit welchen Optionen ein Program compiliert worden ist?

Ich kenne
file program
so nützlich das ist, gibt es nicht die Compilerversion an.

Ich stelle mir das folgendermassen vor.
Ein Compiler legt eine Section an und verewigt sich dort.
Idealerweise auch mit Aufrufoptionen. Das würde bedeuten, dass
ich nur diese Section finden muss und mit objdump ausgeben.

Google "misleitet" mich bei der Suche :)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein Compiler legt eine Section an und verewigt sich dort.
> Idealerweise auch mit Aufrufoptionen.

Das Dumme daran ist, daß die Compilerhersteller nichts von dieser von 
Dir gerade erfundenen Konvention wissen und sich auch nicht daran 
halten.

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermut mal, das man bei "einigen" Optionen sicherlich Rückschlüsse 
aus dem Objekt-File ziehen kann. Eine vollständige 
Positiv/Negativ-Entscheidung für jede mögliche Option wird bestimmt 
ziemlich aufwendig, wenn das überhaupt möglich ist.

Wozu möchtest Du das denn wissen?

Autor: Thomas K. (muetze1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für einen kleinen Richtungszeig schau mal hier: http://www.peid.info/

Aber wie schon geschrieben, ist das soweit nicht leicht möglich.

PS: Der Link von oben funktioniert nur bei Windows Modulen (DLL, EXE, 
etc)

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann sowas selbst machen, indem man eine Stringkonstante 
entsprechend zusammenbaut und mit einer speziellen Zeichenfolge 
markiert. Die kann man dann im Image suchen.

Wenn man make oder was vergleichbares benutzt, kann man diesen String 
dort zusammenbauen und per -D-Option als define definieren und auf 
diesem Weg in die Stringkonstante bekommen.

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist halt die Frage ob es Daniel darum geht ein Verfahren zu 
"erfinden" oder darum bei einem schon vorhandenen Objektfile diese 
Optionen zu ermitteln? Ich habe die Frage wie im zweiten Fall 
verstanden.

Trotzdem nette Idee von Uhu, finde ich.

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicherlich koennte man das Binary analysieren und bestimmte "Eigenarten" 
finden und so Rueckschluesse auf den verwendeten Compiler (und vllt. 
grob die Version) ziehen (aehnlich wie z.B. nmap das Betribssystem eines 
Hosts und seine Version "erkennen" kann).

Meines Kenntnisstandes nach existiert soetwas aber noch nicht...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.