Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Herausfinden womit eine EXE/DLL erstellt wurde... (https://www.delphipraxis.net/99460-herausfinden-womit-eine-exe-dll-erstellt-wurde.html)

Ares 12. Sep 2007 14:11


Herausfinden womit eine EXE/DLL erstellt wurde...
 
Hallo!

Gibt es eigentlich eine Möglichkeit bei einer fertigen EXE oder DLL herauszufinden mit welcher Programmiersprache diese erstellt wurde? Ich arbeite ausschließlich mit Delphi und mich interessiert bei manchen Programmen einfach womit die wohl gemacht wurden...

Besten Dank
Ares

s-off 12. Sep 2007 14:17

Re: Herausfinden womit eine EXE/DLL erstellt wurde...
 
Hallo.

Ja, kann man. Bspw. mit einem Tool wie diesem.

Ghostwalker 12. Sep 2007 14:20

Re: Herausfinden womit eine EXE/DLL erstellt wurde...
 
Manche Compiler hängen eine Kennung mit ins Kompilat. Das kannst du mit einem Hex-Editor rausfinden. Aber das macht nicht jeder Compiler. Daraus kannst du unter Umständen die Programmiersprache heraus finden.

Aber eine wirklich zuverlässige Methode gibt es nicht.

Olli 12. Sep 2007 23:34

Re: Herausfinden womit eine EXE/DLL erstellt wurde...
 
Delphi-Binaries haben bspw. so ziemlich immer einen ungültigen Datumseintrag im PE-Header, eine Ressource Namens DVCLAL (Delphi VCL Access License?) und eine Linkerversion wie 2.25 ... allerdings kann man all das auch faken. Aber bei normalen Produkten macht dies niemand.

Reinhard Kern 13. Sep 2007 00:04

Re: Herausfinden womit eine EXE/DLL erstellt wurde...
 
Zitat:

Zitat von Ares
Hallo!

Gibt es eigentlich eine Möglichkeit bei einer fertigen EXE oder DLL herauszufinden mit welcher Programmiersprache diese erstellt wurde? Ich arbeite ausschließlich mit Delphi und mich interessiert bei manchen Programmen einfach womit die wohl gemacht wurden...

Besten Dank
Ares

u.a. könnte man das mit einem Virenscanner herausfinden: statt Virensignaturen erstellt man Signaturen aus typischen Sequenzen der Laufzeitbibliothek, die möglichst in jedem Programm vorkommen, z.B. Start-Up-Code.

Es soll eh Leute geben, die Delphi für einen Virus halten.

Gruss Reinhard

blackdrake 13. Sep 2007 07:57

Re: Herausfinden womit eine EXE/DLL erstellt wurde...
 
Hallo.

Tools wie das von s-off genannte sind zu empfehlen. Mit einem HexEditor kann man teilweise "Delphi" oder "C++" ("C++ Runtime") herauslesen. Auch originale CPP-Dateinamen mit Pfad werden in die EXE geschrieben. Es gibt dann auch typische Ressourceneigenschaften wie RCData (Delphi / C++ Builder) oder Dialogs (oftmals Visual C++). VisualBASIC besitzt keine Dialoge als Ressourcen. Das ist ein wenig seltsam.

PS: Bei http://www.heaventools.com/PE_Explor...rce_editor.htm wird DVCLAL als Information für verwendete Compilerversion und SKU beschrieben. Genauere Infos zur Lizenz gibts im DVCLAL meines Wissens nach nicht.

Gruß
blackdrake

Olli 13. Sep 2007 11:08

Re: Herausfinden womit eine EXE/DLL erstellt wurde...
 
Zitat:

Zitat von blackdrake
PS: Bei http://www.heaventools.com/PE_Explor...rce_editor.htm wird DVCLAL als Information für verwendete Compilerversion und SKU beschrieben. Genauere Infos zur Lizenz gibts im DVCLAL meines Wissens nach nicht.

Ähem. Schon. Das ist genau der Teil, der - und das kannst du abhängig von deiner Delphiversion im Source nachprüfen - zur Laufzeit verwendet wird um zu ermitteln, ob das Programm bestimmte (zB nur in der Ent-Version verfügbare) Komponenten auszuführen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz