![]() |
Programm mit Passwort schützen
Hallo Zusammen,
es ist eine ganze Weile her, seitdem ich das letzte Mal hier war. Mein Programm ist nun fertig und funktioniert wunderbar. Mein Chef bat mich, das ganze noch mit einem Passwort zu schützen, u.U. will er die Software weiterverkaufen. Um die rechtlichen Rahmenbedingungen kümmert er sich selber. Ich habe nur den Auftrag. Schön wäre es natürlich, das Programm so zu gestalten, dass eine Liezens erworben werden muss und das Programm mit einem Server kommuniziert. Das führt aber mal wieder zu weit und wäre für den Server zudem ein Sicherheitsrisiko. Das Programm mit nur einem PW zu schützten, wäre auch blöd, dann würde es ja einfach weitergegeben werden. Ich habe mich mal ein bisschen Kund gemacht, konnte aber leider diesen Sachverhalt nicht für mich sinnvoll lösen. Hat vielleicht jemand eine Idee, wie ich das Umsetzten kann? Viele Grüße! |
AW: Programm mit Passwort schützen
Kundenspezifische Lizenzdatei?
|
AW: Programm mit Passwort schützen
Zitat:
|
AW: Programm mit Passwort schützen
Da hat dein Chef eine sehr tiefes Fass aufgemacht. Und was da erst drin ist ... oben ist es noch klar und je tiefer du tauchst desto trüber und dicker wird es. :-D
Du kannst mal googeln nach Dongle, Lizenzserver |
AW: Programm mit Passwort schützen
Zitat:
Wie wäre es mit einem CD-Roling? Es muss nur kopiersicher sein und dann könnte ich frei die einzelnen Passwörter vergeben. |
AW: Programm mit Passwort schützen
Früher gab es das mal bei Shareware, dass man das Programm installieren konnte und wenn man das Lizensieren wollte, hat das einen Code generiert, basierend auf irgendwelchen Angaben des Benutzers oder des Rechners und dann wurde bei Verkäufer mit diesem Code die Lizenz generiert, für diesen Kunden. Das Ganze konnte per Email abgewickelt werden.
|
AW: Programm mit Passwort schützen
Eine Kundenspezifische Lizenzdatei kann man recht gut mit der RSA Signierung implementieren.
Die TMS Komponenten können dies. Natürlich braucht Dein chef dann ein kleines Utility um die Kundendaten entsprechend zu signieren. |
AW: Programm mit Passwort schützen
Du kannst dir mal die Freeware "TurboPower OnGuard" ansehen. Ich verwende eine abgeleitete Version in meinen eigenen Projekten. Die Quellen findest du
![]() ![]() Bis bald... Thomas |
AW: Programm mit Passwort schützen
Zum inbetriebnehmen des Programms muss es lizensiert werden.
Der Lizenznehmer gibt Firmenname und Lizenznummer ein um es zu installieren. Der Firmenname ist in der Lizenznummer kodiert (per hash funktion), nur wenn der Firmenname zur Lizennummer passt funktioniert die Anwendung. Der Firmenname wird an prominenter Stelle in der Software angezeigt (Splash window, Fenster Caption, Im Bereichtskopf , usw.) Brauchst nur noch ein Programm das aus dem Firmennamen eine Lizenznummer generiert und beide Einträge in der Kunden Datenbank sichert, für spätere Verfolgung von Lizenzverletzungen. Das Programm sollte einen Hinweis enthalten wo man anrufen oder Emailen kann um support zu erhalten! Wenn ein User nicht weiß, dass eine Software von einer befreundeten Firma kopiert ist, kann es sein das sie nach support verlangt...dann fällt das auf. Gab auch mal Händler die hunderte Kunden bedient haben mit ihrer eigenen Lizenz...die haben die nur zu demozwecken installiert und vergessen sie zu entfernen... Um dem vorzubeugen, evtl einen ein Demo-Datum mit in der Lizenz kodieren. Dann kann man Demo und Volllizenzen unterscheiden und man hat ein instrument für den Vertrieb. |
AW: Programm mit Passwort schützen
Puh, so ein großes Fass wollte ich jetzt in der Tat nicht aufmachen.
Das Problem sehe ich in der Wartung. Wenn ich hier durch bin, dann will ich nicht ständig angerufen werden, weil irgendwas nicht funktioniert. Deswegen dachte ich ja an einen CD-Roling. Wenn überhaupt verkauft/verschenkt er 100 x das Programm. |
AW: Programm mit Passwort schützen
Es gibt auch Varianten mit einem Hardwareschlüssel, wie z.B. einem kleinen USB-Stick, anstatt einer Serial/Lizenzdatei.
![]() ![]() Ist das Passwort nur für den sicheren Start, oder reicht eine Lizenzprüfung bei Installation? * also z.B. bei Installation wird ein Key aus Hardware, Passwort und/oder Lizenz generiert, der wird gespeichert (Registry oder Datei) und beim Start wird nur noch geprüft, ob der gespeicherte Key zum aktuellen Hardware-Key gültig ist. * alternativ kann man diesen Key auch ohne Hardware berechnen, aber dann kann man auch den einmal berechneten Key kopieren und der Raubkopie Sicherheitskopie des Installers beilegen und weitergeben Du hast auch erstmal grundsätzlich mehrere Möglichkeiten * [OK ist blöd] festes Passwort, ohne Abhängigkeiten (also Passwort immer und überall gleich) * Passwort wird berechnet (oder kommt von extern, z.B. in Lizenzdatei verschlüsselt gespeichert) und wird bei Programmstart abgefragt * * z.B. Passwort ist in einem Lizenz-Key (Serial-Number) oder einer Lizenz-Datei verschlüsselt (bzw. Diese wird zur Berechnung des Passwortes benutzt) * * oder Passwort wird aus einem Hardware-Key generiert (CPU-ID, HDD-Serial, oder wer weiß was sonst noch) * Key wird berechnet (oder kommt von extern) und wird bei Programmstart gegen die Hardware geprüft * Lizenz-Dateien könnte man weitergeben (könnte aber eventuell auffallen, wenn Kunde X eine Lizenz nutzt, die "Kunde Z" heißt) * oder man könnte einen Hardware-Key generieren lassen, zu euch übermitteln, und damit die Lizenzdatei oder eine Serial generieren * beim Hardware-Key aufpassen, denn wird der PC getauscht, upgegraded oder repaiert, dann kann/wird sich der berechnete Key ändern (siehe letzter Absatz) und man braucht eine neue Lizenzdatei * und dann kommt noch dazu, wie "sicher" es sein soll ... falls jemand versucht die Prüfung im Programm zu patchen/deaktivieren oder das Passwort auszulesen (bzw. abgucken wie es berechnet wird) Hast du ein
Delphi-Quellcode:
oder
if not LizenzIstOK then Exit;
Delphi-Quellcode:
, dann reicht es oft aus nur ein Bit zu ändern,
if PasswortDialog <> 'geheimes passwort' then Exit;
und schon entsteht ein
Delphi-Quellcode:
:stupid:
if {not} LizenzIstOK then exit;
* * darum gibt es auch "viele" billige/teure Passwort-/Lizenzschutzkomponenten Und bedenkt bitte auch, wie "wichtig" diese Software für einen (legalen) Käufer in 40 Jahren noch sein könnte. Ich hatte vor einer Weile eine Software in den Händen, welche eine "uralte" Hardware steuert. (aus Nostalgie und als Backup aufgehoben, wenn/falls die moderne Maschine nicht will) Der Hersteller/Programmierer gestorben, dessen Frau hatte alle Unterlagen inzwischen entsorgt, auch die gefundenen Nachbesitzer der Nachbesitzer der Firma und auch ein paar Vertriebler waren nicht mehr auffindbar und wenn doch, dann hatten sie nichts mehr. Die Serials waren an einen Hardware-Key gebunden und der Steuer-PC musste ersetzt werden. (mehrere Serials, je für einen gekauften Teil/Module in der/den EXEen) Software mit aus Hardware-Key generierter Serial, über eine fremde kommerzielle SerialPrüfKomponente, deren Firma aber auch nicht mehr existierte. Zum Glück sind wir an eine Vertriebler-CD gekommen, wo eine passwortgeschützte Serial-Generator-EXE mit drauf war, deren Passwort aber niemand mehr kannte, aber wo glücklicher Weise die Passwort-Prüfung echt schlampig gemacht wurde. (das Passwort wurde für die Serialgenerierung benutzt, also ließ sich nicht auskommentieren, aber am Anfang wurde es Zeichen für Zeichen mit Hardcodierten einzelnen Chars verglichen, damit das Passwort nicht als Ganzes in der EXE steht) In diesem Fall wurden die Passwörter/Serials nur zur Freischaltung von Modulen benutzt, da alles immer in der EXE drin ist, auch wenn etwas nicht gekauft wurde, denn ohne Hardware wäre diese Sorftware eh nutzlos und die Hardware lässt sich nicht so "leicht" kopieren. (daher auch oben siehe "dongle") Witzig: Auch das Hauptmodul mit Serial, was man aber eh immer braucht, also wo es garnicht möglich ist, dass man es nicht gekauft hätte. |
AW: Programm mit Passwort schützen
Zitat:
![]() Gruß, Andreas |
AW: Programm mit Passwort schützen
Wie wäre es denn mit einer Überprüfung, ob das richtige Medium eingelegt ist? Es braucht keinen großen Schutz, ich glaube kaum, dass jemand sich da so viel Mühe macht. und wenn doch, dann hat er halt eine Kopie. Das heißt ja nicht, dass gleich der "Markt" damit überschwemmt wird.
|
AW: Programm mit Passwort schützen
Also diese Dongles sind so, dass darauf ein Mikroprozessor ist, welcher eine Verschlüsselung macht.
Entweder um damit einfach/billig einen SerialKey/Lizenzdaten zu prüfen oder z.B. Programmcode/Daten sind verschlüsselt und kurz vor Ausführung wird das darüber entschlüsselt. Im Prinzip gibt es auch programmierbare Dongles, da kann man "wichtigen" Programmcode/Berechnungen/Daten direkt in den Dongle einbauen, welches sich dann praktisch auch nicht (einfach) kopieren lässt. Aber ja, man kann auch vom USB-Stick/CD/Festplatte die Serial auslesen, sie für den Installer verwenden und dort darauf prüfen. * bei USB-Stick die Serial der Hardware (der USB-Schnittselle/Firmware) * die Serial der Partition bzs. von einer CD, die kann kopiert werden, aber im einfachten/billigsten Fall "kann" man auch Diese nehmen Und ja, es geht mit viel oder wenig Aufwand Vieles zu machen. Kommt halt drauf an wie "sehr" man etwas schützen will/muss. An irgendeine Hardware gebunden, da lässt es sich einfacher schützen, da Diese (meistens) nicht einfach kopiert werden kann. Ansonsten kann man bei
Delphi-Quellcode:
anfangen und muß einen immer größeren/komplexeren Aufwand betreiben, je mehr man verzweifelt versuchen will es zu schützen. (effektiv ist aber praktisch ALLES knackbar, mit entsprechend ausreichend Aufwand/Zeit)
if PasswortDialog <> 'geheimes passwort' then Exit;
Im Falle der oben erwähnten Software wurde schon vor mir zuerst versucht die komplette Festplatte zu kopieren, also installiertes Programm inkl. Win95 und der Treiber, da Anfangs nichtmal mehr ein funktionierender Installer vorlag ... CD war teilweise nicht mehr lesbar, in vielen CD-Laufwerken. Aber da die Serials an die Hardware des PCs gebunden waren, anstatt an die Hardware der Maschiene, lief es natürlich nicht, auf dem neuen PC. |
AW: Programm mit Passwort schützen
Das mit der Hardware liest sich nicht schlecht. Der Aufwand zum Schützten muss wirklich nicht so weit ausgelegt werden. Im Grunde muss nur verhindert werden, dass das Ding wie eine Minecraft.exe weitergereicht wird :)
|
AW: Programm mit Passwort schützen
Vielleicht sollte man ein oder zwei Schritte zurücktreten, und sich das Ganze genauer angucken.
Um was für eine Software handelt es sich? Ist es eine Massensoftware wie MS Office oder Photoshop, dann lohnt es sich in den Schutz zu investieren. Was ist da sbesondere an dieser Software? Sie ist begeht, also erden Keys auch im Internet weitergegeben. Kommen wir aber zu einen kleinen Software, die nur paar Dutzend Furmen nutzen werden. Solche Keys findet man nicht im Internet, weil sich kaum einer interessiert. Warum sollte einer in einem Warez-Board Software oder Keys für das korrekte justieren einer Glühbirne, in einer Arbeitsumgebung anbieten? Solche Software interessiert keinen, höhstens paar Firmen. Worauf ich hinauswill - ist der perfekte Schutz tatsächlich nötig? Der perfekte Schutz ist nur für Massensoftware wichtig. Keine Firma setzt einen Hacker für paar Stunden an einen Software, um die zu hacken, wenn die Software einen bruchteil davon kostet. |
AW: Programm mit Passwort schützen
Die "billigste" Variante:
* HardwarKey berechnen (z.B. ID/Serial von CPU/MainBoard/... zuammenfassen und als Hash darstellen > CRC32 oder z.B. die ersten X Zeichen eines MD5) * * oder z.B. die SID des Windows-Benutzers oder die ID/ProduktKey des Windows als HardwareKey SoftwareKey verwenden * Kunde sagt euch den Key und ihr könnt den mit einem Key neu verschlüsseln (etwas anhängen und neuer Hash erstellt) ... das ist dann die Serial für die Installation * Bei Programmstart wird wieder der HardwarKey berechnet, mit dem "geheimen" Zusatz neu gehasht und das Ergebnis wird mit der gespeicherten Serial verglichen Das kann auch der Installer automatisch machen, also HardwareKey mit den Kundenlogindaten zu eurem Server und der rückt dann entsprechend den CheckKey/Serial raus und speichert ihn, welchen dann das Programm beim Start mit dem HardwareKey vergleichen kann. (hier müsste dann in euren Server noch was rein, was z.B. die Installationen zählt und bei zuviel sperrt ... siehe Delphiinstallationen, da ist auch nach X-Mal erstmal Schluss) |
AW: Programm mit Passwort schützen
Zitat:
Ich glaube ich mache das so, ich erstelle eine Demoversion die für alle frei ist und dann noch eine Version die auf einem Harddrive ist. Das kostet zwar mehr, aber bei den wenigen Kopien die benötigt werden ist das verkraftbar. Nun meine Frage, wie kann ich sicherstellen, dass auch wirklich meine CD eingelegt ist und nicht eine Kopie? Danke für den ganzen Input! |
AW: Programm mit Passwort schützen
Zitat:
|
AW: Programm mit Passwort schützen
Zitat:
Aber in 2021 ist das ein Ausschlußkriterium für eine Software. |
AW: Programm mit Passwort schützen
Zitat:
|
AW: Programm mit Passwort schützen
Bin der Meinung das TArtLicense einen Blick Wert ist.
![]() PS: Und wenn man philosophieren Möchte, soll man gerade eine Diskussion per neuem Thread aufmachen. Wovon sollen die Brötchen kommen, wäre ein guter Titel. Viele Grüße in die Runde |
AW: Programm mit Passwort schützen
Bau nichts eigenes, kauf lieber was.
Ich nutze Themida, die haben aber noch WinLicence: ![]() Nachteil, wird durch den Debug-Schutz oft als Virus erkannt. |
AW: Programm mit Passwort schützen
Zitat:
|
AW: Programm mit Passwort schützen
Das da
![]() sollte das auch können, hab aber keine Erfahrung damit - außer, dass die TP Sachen alle gut waren. |
AW: Programm mit Passwort schützen
Also es gibt eine ganze Reihe von Möglichkeiten :)
Am besten gefällt mir jedoch meine Idee mit der CD. Ich muss dazu sagen, es ist eine Statiksoftware, nahezu jeder CAD-Rechner hat ein entsprechendes Laufwerk. Es gibt fast gar keinen Anspruch auf Sicherheit. Die Leute die die Software benutzen sind alle nicht dazu in der Lage so etwas zu kopieren (meine Einschätzung). |
AW: Programm mit Passwort schützen
Zitat:
Würde ich heute ein SW mit einem Schütz über CD bekommen würde ich mich fragen ob ich nicht möglichst schnell was anderes suche sollte ... Zitat:
Ein CD ist "sowas von 2000". |
AW: Programm mit Passwort schützen
Zitat:
Zitat:
|
AW: Programm mit Passwort schützen
Zitat:
Aufwand und Nutzen? |
AW: Programm mit Passwort schützen
Zitat:
Habe den Link nicht gleich gefunden, gibt es auch neu(er) :wink: ![]() Grüße in die Runde Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 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 by Thomas Breitkreuz