Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie kann ich eine unverkennbare Seriennummer vergeben? (https://www.delphipraxis.net/65431-wie-kann-ich-eine-unverkennbare-seriennummer-vergeben.html)

Aurus 16. Mär 2006 14:24


Wie kann ich eine unverkennbare Seriennummer vergeben?
 
Hallo

Ich möchte in mein Programm einen Zeichencode in die Exe einbinden.
Also z.b. 1000 Zeichen die durch einen Zufallsgenerator erstellt werden.

Jedemal wenn ich den Code compiliere sind die 1000 Zeichen anders und in den ersten 50 zeichen schreibe ich dann einen geheime Kundennummer rein so kann ich wenn ein Programm auftaucht jedes Programm genau identifizieren da ein Hacker mit Hexeditor ja auch nicht weiss wo im Code die Seriennummer steht.

Wie kann ich bewerkstelligen dass jedesmal wenn ich compilieren ein Block mit 1000 Zeichen mit Zufallsgenerator erstellt und eingebunden wird.

Anders ausgedrückt:Jedesmal wenn ich den Code Compiliere wird die Exe nicht genau identisch sein mit der die ich vorher erstellt habe.

Ich hoffe es gibt einen einfach Lösung? Ein Superprogrammierer bin ich nicht.


Gruss

Aurus

Corpsman 16. Mär 2006 15:01

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
Hi,

Also was du da anprichts hört sich für mich auf jedenfall kompliziert an.

So Spontan fallen mir 3 Lösungen ein.

1. Du schreibst dir ein anderes Programm das deine Exe File derart umbaut das du deine Shifrierten Codefragmente einbauen kannst. Dieses würde sich dann auch ganz leicht bewerkstelligen lasse. ( Das weis ich weil ich so was in der Art schon geschrieben hab )

Nachteil du müstest es im Nachhinein machen, also erst Compilieren und dann tool drüberlaufenlassen.

2. Wäre es auch denkbar wenn du ne Serial ins Programm einbaust.

So was habe ich auch schon Programmiert. das heist dann Tserialnr und ist unter TserialNR zum Download beireit.

Du machst dir ne String Konstante ala

Delphi-Quellcode:
..
Const Bla = 'String der nachher genau so in der Exe wieder zu finden ist.';
..
Dieser wird dann auf alle Fälle auch mit in die Exe Compiliert. Allerdings must du den von hand ändern bevor du neu Compilierst.

Ich hoffe das hilft dir weiter.

Aurus 16. Mär 2006 15:30

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
Hi Corpsman

Ist sicher ein Ansatz nur leider ein bischen umständlich.


Gruss

Aurus

Die Muhkuh 16. Mär 2006 15:42

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
Zitat:

Zitat von Corpsman
2. Wäre es auch denkbar wenn du ne Serial ins Programm einbaust.

So was habe ich auch schon Programmiert. das heist dann Tserialnr und ist unter TserialNR zum Download beireit.

Du machst dir ne String Konstante ala

Delphi-Quellcode:
..
Const Bla = 'String der nachher genau so in der Exe wieder zu finden ist.';
..

Is dann Bla die Serial?

Sharky 16. Mär 2006 19:23

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
Hmmm...


was spricht denn dagegen den "String" in eine *.RES zu packen und diese in das Programm zu linken?

Daniel Schuhmann 16. Mär 2006 19:27

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
In einer Ressourcendatei findest Du ihn leichter, somit wäre der "Angriffspunkt" schneller klar. Ein zufällig im Code vorkommender String (der dann natürlich kein String in dem Sinne sein dürfte sondern viel mehr eine eher zufällige Ansammlung von Bytewerten) ist da wesentlich schwerer als Quelle für irgendwelche Kopierschutzmaßnahmen auszumachen.

brechi 16. Mär 2006 19:31

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
Nicht wirklich:

Bekomm ich 2 verschiedene Versionen in die Hand, schau ich mri den Unterschied einfach an.

Hab ich nur eine Crypte ich diese, und der Threadersteller wird mit seinen Kenntnissen dann bestimmt in dem Code nicht mehr rausfinden, welcher String es war.

Aurus 16. Mär 2006 20:52

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
Ja schon aber wenn mehrer 1000 Bytes anders sind kommt derjenige nicht unbedingt auf die idee wo nun die Kundennummer wirklihc ist. Er müsste ebenfalls alle Bytes genau so anpassen.

Corpsman 17. Mär 2006 10:56

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
@aurus

Also mir stellt sich langsam die Frage was für ne Mörder Anwendung du schreibst, das du da so nen Mega Aufwand betreiben willst das File gegen kopieren zu sichern.

Wenn du wirklich nicht so der Held beim Proggen bist( ist nicht böse gemeint, du hast das selbst so geschrieben ) ist es Fragwürdig ob du es schaffst ein Proggy zu schreiben das sich jemand der das auch haben will nicht einfach geschwindt selbst schreibt.

Corpsman 17. Mär 2006 10:59

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
@spider

Ja das Bla ist dann der String der den Schlüssel hat. Allerdings ist da das 3. Verloren gegangen.

Meinet TserianNR Kombo braucht zwar auch nen Schlüssel dieser wird aber Codiert in der Exe gespeichert, da man den sonst auch ganz einfach rausparsen könnte.

Aurus 17. Mär 2006 17:00

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
@Corpsman

Also ich schreibe in meinen Augen recht akzeptable Anwendungen. Denoch bin ich in gewissen Bereichen kein Profi.

Ich schreibe keinen Mörderanwendung(möchte nicht sagen was für ein Programm).Aber mein Kundenkreis ist relativ klein und das Raubkopieren ist dort extrem häufig anzutreffen.

Wenn ich es nicht schützen kann, dann kann ich es gleich lassen solche Programme zu erstellen und zu verkaufen da es für mich nicht mehr rentabel sein wird.

Corpsman 17. Mär 2006 17:14

Re: Wie kann ich eine unverkennbare Seriennummer vergeben?
 
@aurus

Nun mein Kundenkreis ist auch sehr klein.

Um mich vor Raubkopieen zu schützen habe ich die Seriennumer Version genommen.

Da ich einen Support nur anbiete unter angabe der Seriennummer.

Jeder der ein Problem hat das ich lösen soll mus so seinen namen und seine Serial angeben. Stimmen die nicht überrein so weis ich das der oder die ne Raubkopie hat( und da die Serials sehr komplex sind und die bisher noch keiner knacken konnte weis ich auch genau wer da seine Serial hergegeben hat und dauf den kann ich dann losgehen).

Die Variante wie du sie vorschlägst impliziert das du die Möglichkeit hast auf deren Rechner zu zugreifen.

Und wenn ich das Teil Raubkopiert hätte würde ich dich als Programmierer eh net an meinen Rechner lassen.

Sorry wenn es so rüberkam als traute ich dir keine Programmierkenntnisse zu. Das woltle ich nicht.


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