![]() |
Delphi-Version in finaler Exe ermittelbar?
Hi,
gibt es eine Möglichkeit die verwendete Delphi-Version (Pro, Std, Ent, Arc, Starter, SSL) usw. in der compilierten Exe und/oder in den erzeugten BPLs festzustellen? Wird dorthinhein sowas wie ein Version-String, Produktnummer oder Serialnummer (wohl eher nicht) oder dergleichen reincompiliert? |
AW: Delphi-Version in finaler Exe ermittelbar?
Die Versionsnummer ist z.B. die Konstannte
Delphi-Quellcode:
.
CompilerVersion
SSL kann man nicht prüfen ... das ist einfach nur eine Architect/Enterprise/Professional. Und das andere ... schau mal in die Resourcen ... da gab es irgeneine Resource, wo die drinsteckt. (ich glaub DCirgendwas) In der Unit System (oder so) sollte sich irgendwo verstecken, wie man die Lizenz prüft, denn diese Funktionen rufen auch z.B. DataSnap und Co auf, um zu prüfen, ob sie lizenziert/erlaubt sind. |
AW: Delphi-Version in finaler Exe ermittelbar?
OK, dass man das über die Sourcen prüfen kann ist mir schon klar. Mich interessiert eher die finale Exe, der man nicht unbedingt ansieht mit was sie erstellt worden ist.
Die Ressourcen sind schon mal ein guter Tipp, denke aber die interessanten Teile sind wohl eher verschlüsselt. Ich frage mich oft, mit welcher Delphi Version das ein oder andere Programm erstellt worden ist, bspw. MediaMonkey, SyncBack usw. Manchmal sieht man es an den beim Compilieren nicht ausgetauschten Delphi-Icons andererseits eben nicht, deshalb die Frage nach den finalen Exe/Bpl. |
AW: Delphi-Version in finaler Exe ermittelbar?
nicht ansehen ... aber genauso prüft Emba auch ... sie schauen welcher Wert in der Resource enthalten ist und entscheiden dann darüber ob etwas erlaubt ist oder nicht.
|
AW: Delphi-Version in finaler Exe ermittelbar?
Es gibt für so etwas extra Programme, die das ermitteln. Wobei ich nicht meine Hand dafür ins Feuer legen würde, ob die Erkennung zu 100% funktioniert. Wenn der Compiler spuren hinterlässt, dann ists möglich, sonst eben nicht. Und ich kann leider nicht sagen, wie viele Compiler sowas machen.
![]() |
AW: Delphi-Version in finaler Exe ermittelbar?
Die Spuren würde ich in erster Linie nicht beim Compiler, sondern beim Linker suchen. Der hinterlässt zum Beispiel eine Linker-Version im PE32 Optional Header. Sowas kombiniert man mit anderen Daten, etwa der Eigenschaft, daß "alle" Delphi-Programme im PE Header den gleichen Timestamp tragen, der an sich ebenfalls ein gutes Kriterium ist (nach meinem
![]() ![]() Ansonsten wird die RTL Spuren hinterlassen - wer die RTL nicht neukompiliert (also der Durchschnittsfall) wird immer die gleichen Unit-Binärdaten einbinden. Die muss man halt ggfls. flexibel suchen (nach dem Binärpart von System.pas z.B.), und die wird in jedem Release leicht unterschiedlich sein. |
AW: Delphi-Version in finaler Exe ermittelbar?
Findest du in den Ressourcen unter RC_Data ->DVCLAL
und sieht so aus Zitat:
|
AW: Delphi-Version in finaler Exe ermittelbar?
![]() Interessieren würde es mich schon, was sonst noch so alles reincompiliert wird. Ob z.B. Embacadero an der kompilierten EXE sehen kann, wenn eine Firma eine "Raubkopie" oder so etwas verwendet von Delphi im kommerziellen Bereich (was zwar dämlich ist, aber ja immer mal wieder vorkommen kann wenn der Chef ein "Gauner" ist). |
AW: Delphi-Version in finaler Exe ermittelbar?
Zitat:
|
AW: Delphi-Version in finaler Exe ermittelbar?
Ohne eine entsprechend lizenzierte Version einer Entwicklungsoberfläche darf man keine mit ihr erstellten Programme veröffentlichen.
Für eine ehrliche Haut sollte sich die Frage nicht stellen, ob man den "Betrug", anhand bestimmter Merkmale in der Exe, feststellen kann. Wer etwas duzrch seine Programmiertätigkeit verdient, sollte auch die Programmiertätigkeit anderer, die hierfür notwendig ist durch die Lizenzierung honorieren! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz