Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi-Version in finaler Exe ermittelbar? (https://www.delphipraxis.net/162916-delphi-version-finaler-exe-ermittelbar.html)

Roaster 9. Sep 2011 11:51

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?

himitsu 9. Sep 2011 11:57

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.

Roaster 9. Sep 2011 12:06

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.

himitsu 9. Sep 2011 12:15

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.

s.h.a.r.k 9. Sep 2011 12:34

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.

Hier solltest du ein wenig was darüber finden.

CCRDude 9. Sep 2011 13:55

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 QC-Ticket hier wurde das aber gefixt, und man konnte den Header natülich auch flexibel selber patchen). Sowas wie dieses Kriterium geben in Kombination ebenfalls Aufschluß darüber, daß es sich um ein Delphi-Programm handelt.

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.

Horst0815 9. Sep 2011 15:38

AW: Delphi-Version in finaler Exe ermittelbar?
 
Findest du in den Ressourcen unter RC_Data ->DVCLAL
und sieht so aus

Zitat:

// <SIGNATURE>

- Licence is valid
- Delphi Client/Server Suite (Enterprise)

marcoX 9. Sep 2011 21:17

AW: Delphi-Version in finaler Exe ermittelbar?
 
http://blog.onkeysoft.com/tag/dvclal/

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).

Delphi-Laie 10. Sep 2011 10:57

AW: Delphi-Version in finaler Exe ermittelbar?
 
Zitat:

Zitat von marcoX (Beitrag 1123052)
http://blog.onkeysoft.com/tag/dvclal/

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).

Genau das scheint die eigentliche Motivation der ursprünglichen Fragestellung zu sein: Kann man es riskieren, eine illegal benutzte Delphiversion (oder eine legale, die kommerzielle Verwendung ausschließt) kommerziell zu verwenden?

mkinzler 10. Sep 2011 11:02

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!

EWeiss 10. Sep 2011 11:35

AW: Delphi-Version in finaler Exe ermittelbar?
 
Zitat:

Für eine ehrliche Haut sollte sich die Frage nicht stellen, ob man den "Betrug", anhand bestimmter Merkmale in der Exe, feststellen kann.
snip..
Ich glaube das es dem Thread ersteller auch gar nicht darum ging/geht einen Betrug zu begehen.. das ist eine Unterstellung!

gruss

Delphi-Laie 10. Sep 2011 16:35

AW: Delphi-Version in finaler Exe ermittelbar?
 
Warum schnittest Du gerade folgendes aus:

Zitat:

Zitat von EWeiss (Beitrag 1123128)
Denke diese zensura ist nur unter Delphi zu finden.
Mir ist sonst keine Developerumgebung bekannt die so etwas nötig hätte!

?

Ich erlaube mir mal die Gegenfrage: Welcher Produzent teurer Software müht sich heutzutage denn nicht damit ab, illegale Kopien wenigstens zu erschweren?!

jaenicke 10. Sep 2011 17:18

AW: Delphi-Version in finaler Exe ermittelbar?
 
Prinzipiell spricht auch nichts dagegen, aber ein Problem war, dass bei einer älteren mit Delphi 2006 Enterprise geschriebenen Anwendung plötzlich angezeigt wurde, dass ein Feature nicht lizenziert sei...
Da ist diese Prüfung leider schief gegangen. Wenn das nicht in Tests bemerkt worden wäre, hätte das sicher einen guten Eindruck beim Kunden gemacht...

Wie dem auch sei:
Man kann die Compilerversion mit etwas Aufwand zumindest dann auf jeden Fall feststellen, wenn man weiß, dass es eine Delphi-Anwendung ist. Denn da findet man unabhängig von der Kennzeichnung über den generierten Assemblercode genügend Hinweise. Die Editionen lassen sich auch unterscheiden, vorausgesetzt es wurden Features benutzt, bei denen sich die Editionen unterscheiden.

EWeiss 11. Sep 2011 02:52

AW: Delphi-Version in finaler Exe ermittelbar?
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1123163)
Warum schnittest Du gerade folgendes aus:

Zitat:

Zitat von EWeiss (Beitrag 1123128)
Denke diese zensura ist nur unter Delphi zu finden.
Mir ist sonst keine Developerumgebung bekannt die so etwas nötig hätte!

?

Ich erlaube mir mal die Gegenfrage: Welcher Produzent teurer Software müht sich heutzutage denn nicht damit ab, illegale Kopien wenigstens zu erschweren?!

Weil mir danach war und ich unnötigen ärger vermeiden wollte.

nici 11. Sep 2011 19:57

AW: Delphi-Version in finaler Exe ermittelbar?
 
Liste der Anhänge anzeigen (Anzahl: 1)
ob jetzt die Serial direkt auslesbar ist, weiß ich nicht genau.

Aber bei mit der selben IDE Versoin compilierten (& gelinkten) Projekten (damals die 7) mit je einer unterschiedlichen Delphi-Serial ergaben sich auch 2 binär verschiene EXE-Dateien, wenn ich mich recht erinnere. ...

da ist gut möglich, daß da spezifische Benutzerinformationen mit einflossen.
Hab die 7er z.Zt. nicht mehr installiert, - kann das daher nicht prüfen.


Aber vielleicht tauscht hier gerade nochmal einer ein zipgebackuptes Delphi Projekt (leere Form, mit 1 Button) gleicher IDE Version ... mit einem andern Forenmitglied (mit dahre logischerweise unterschiedlicher Serial ... ne ?! oder? :) )
und vergleicht das Resultat.

angehängt ein solches Leerprojekt.

Daniel 11. Sep 2011 20:03

AW: Delphi-Version in finaler Exe ermittelbar?
 
Was auf jeden Fall mit in die EXE geht ist der Zeitstempel zum Moment der Kompilierung. Allein dies bewirkt, dass zwei EXE-Dateien des gleichen Projektes binäre Unterschiede aufweisen.

In Sachen Seriennummer sind mir keine belastbaren Hinweise bekannt.

nici 11. Sep 2011 20:06

AW: Delphi-Version in finaler Exe ermittelbar?
 
OK, das wird's gewesen sein ...

irgendwas war damals unterschiedlich.
(Das war, als ich von der eigenen auf die common-Serial umgestiegen war.... lang her ..)

MEissing 11. Sep 2011 20:07

AW: Delphi-Version in finaler Exe ermittelbar?
 
...mir auch nichts bekannt :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 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