Ermitteln Sie den Compiler, der für die EXE-Datei verwendet wird

18

Gibt es eine Möglichkeit, den Compiler zu erkennen (oder zu verbergen), mit dem eine ausführbare Datei erstellt wurde?

Remus Rigo
quelle

Antworten:

12

PEiD ist ziemlich gut

PEiD erkennt die meisten gängigen Packer, Cryptors und Compiler für PE-Dateien. Derzeit können mehr als 600 verschiedene Signaturen in PE-Dateien erkannt werden.

PEiD ist in einigen Aspekten etwas Besonderes im Vergleich zu anderen Identifikatoren, die es bereits gibt!

  1. Es hat eine hervorragende GUI und die Oberfläche ist sehr intuitiv und einfach.
  2. Erkennungsraten gehören zu den besten, die von anderen Identifikatoren angegeben werden.
  3. Spezielle Scan-Modi für die erweiterte Erkennung geänderter und unbekannter Dateien.
  4. Shell-Integration, Befehlszeilenunterstützung, Immer im Vordergrund und Drag'n'Drop-Funktionen.
  5. Mehrere Datei- und Verzeichnisscans mit Rekursion.
  6. Task Viewer und Controller.
  7. Plugin Interface mit Plugins wie Generic OEP Finder und Krypto ANALyzer.
  8. Zusätzliche Scan-Techniken für noch bessere Erkennungsergebnisse.
  9. Heuristische Scanoptionen.
  10. Neue PE-Details, Import-, Export- und TLS-Viewer
  11. Neu eingebauter Schnellzerleger.
  12. Neu eingebauter Hex Viewer.
  13. Externe Signaturschnittstelle, die vom Benutzer aktualisiert werden kann.
Sathyajith Bhat
quelle
4
"PEiD erkennt die gängigsten [...] Compiler für PE-Dateien." das sagt die readme - eigentlich sagt sie nicht, wie man das erreicht
mbx 18.08.11
@Sathya Hinweis, der enthaltene Link ist jetzt tot.
DuckMaestro
@DuckMaestro aktualisiert mit einem alternativen Link
Sathyajith Bhat
Wenn der Compiler nicht erkannt werden kann, wird so etwas wie Nothing found [Overlay] * angezeigt - was verwirrend ist, wenn Sie das Tool zum ersten Mal verwenden.
mbx
"Die Website enthält schädliche Programme" - Google Chrome. Hier ist ein besserer Link.
Ben N
8

Probieren Sie die * nix Utility Strings aus . Verwenden strings -a foo.exe sollte einen Haufen von Ergebnissen erzeugen. Zu einer Datei umleiten und in Ihrem Lieblingseditor untersuchen. Möglicherweise wird eine Zeile angezeigt, die einen bestimmten Compiler direkt impliziert, z. B. Borland C ++ - Copyright 2002 Borland Corporation . Möglicherweise können Sie nur Zeilen finden, die implizieren, dass ein bestimmter Compiler verwendet wurde, z. B. in einem Include-Pfad oder was auch immer.

Strings ist auch für Windows als Teil von Cygwin oder als Teil des Microsoft Sysinternals-Pakets verfügbar .

DaveParillo
quelle
Es zeigt mir nicht den Compilernamen nur einige DLL-Namen Projekt
Eduardo Xavier
1

Nicht kostenlos, aber IDA Pro hat eine sehr schöne Compilererkennung. Das ist natürlich nicht die Hauptfunktion, aber ein nettes Extra.

Henno
quelle
0

Wenn Sie einen Weg finden, das erste Dutzend Bytes der EXE-Datei in einem Hex-Dump mit entsprechenden angezeigten ASCII-Zeichen zu untersuchen, geben diese normalerweise den verwendeten Compiler an.

Pavium
quelle
1
Ich habe mich gefragt, ob jemand oder eine andere Software herausfinden kann, ob die EXE-Datei mit einer bestimmten Compiler-Edition (Visual Studio 2010 Professional oder Enterprise oder Express) erstellt wurde
Remus Rigo
Dies ist normalerweise nicht wahr. Der erste Teil einer PE-Datei ist der DOS-Stub, bei dem es sich normalerweise um ein Programm handelt, das so etwas wie "Dieses Programm kann nicht im DOS-Modus ausgeführt werden" ausgibt.
Lesderid
-1

Mit dem "Abhängigkeits-Walker" können Sie überprüfen, mit welcher Laufzeitbibliothek er verknüpft ist. MSVCP100 ist Microsoft Visual C ++ 2010 x86

user509763
quelle