Frage

Da eine ausführbare Datei, die von C kompiliert wird auf Solaris läuft, ist es möglich, zu bestimmen, welche Compiler verwendet wurde, die zugehörige unvollständig ausführbare Datei zu kompilieren?

Ich kann nichts sehen, wenn entweder die Saiten oder den Datei-Befehl und Magie scheint nicht etwas Bestimmtes enthalten.

Sie Compiler im Allgemeinen einen Fingerabdruck in ihren ausführbaren Ausgabedateien setzen?

prost,

War es hilfreich?

Lösung

Wenn die ausführbare Datei nicht entfernt wird, versuchen Sie / usr / ccs / bin mcs-p Dies wird zeigen, in der Regel den Compiler, Linker und alle Header-Dateien verwendet,

Andere Tipps

Ja IDA ist für diese. Es verwendet eine Technologie namens FLIRT .

PEiD den Trick. Es funktioniert in der Regel einfach toll. Offensichtlich PEiD ist ein Windows-Tool, aber es sollte keine Rolle spielen und sollten Sie (manchmal sogar bestimmte Versionsinformationen) Compiler zeigen

Erstellen kleinen Test apps mit jedem Compiler Sie versuchen zu identifizieren. Schauen Sie sich die Ergebnisse in einem Hex-Editor, und versuchen, Muster zu finden. Es könnte sich wirklich offensichtlich sein - zum Beispiel der „Reiche“ Signaturen aus Microsofts Linker.

Nicht gestrippt:

$ cc -O hello.c

$ file a.out

a.out: ELF 32-Bit-MSB ausführbare SPARC32PLUS Version 1, V8 + Required, dynamisch gelinkt, nicht gestrippt

$ strings -a a.out | grep cc

/opt/solarisstudio12.3/prod/bin/cc -O hello.c

$ dwarfdump -i a.out | grep compile_o

DW_AT_SUN_compile_options Xa; O; R = Sun C 5.12 SunOS_sparc-Patch 148917-07 2013.10.18; Back-End, roh; cd;

Stripped:

$ Streifen a.out

$ file a.out

a.out: ELF 32-Bit-MSB ausführbare SPARC32PLUS Version 1, V8 + Required, dynamisch gelinkt, gestrippt

$ strings -a a.out | grep cc

(keine)

Visual Studio und GCC folgen in der Regel unterschiedliche Startroutinen (das Haupt nennen). Dass vielleicht ein Hinweis. Ich weiß nicht, über andere though. Für dlls, denken kann, nicht von etwas ähnlichem aus der Spitze von meinem Kopf.

Compiler in der Regel ihren eigenen persönlichen „Signatur“ als Nur-Text in den kompilierten Dateien hinzufügen. Sie können ein Tool verwenden, wie Saiten den Klartext abtasten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top