(Portabel) rechnereindeutige Hardwareinfos erhalten?
-
Eisflamme schrieb:
SeppJs Cracker würde vermutlich den Splashscreen wegjumpen.
SeppJs Cracker würde alles hinbekommen. SeppJ sagt nichts anderes als seldon auch:
seldon schrieb:
Das macht die Software nicht unkopierbar, aber unkopierbare Software ist schlicht nicht machbar, selbst wenn man seine Kunden nerven will.
Eisflamme schrieb:
Aber seldon, die 30 Tage Nutzung könnte man nun wirklich zu einfach überlisten, das würde auch der Durchschnittsbenutzer hinbekommen. Wie kann ich das ohne Server regeln? WinRAR kauft auch keiner.
WinRAR kauft keiner, weil man den Dialog, dass man das Programm nun kaufen muss, simpel mit den X im Fenster wegklicken kann. Wenn sie das X im Fenster entfernen würden, sehe das bereits deutlich anders aus, da bin ich mir recht sicher.
Aber es würde wahrscheinlich einfach dazu führen, dass mehr Leute z.B. 7-zip einsetzen statt WinRAR. Daher glaube ich, haben die Entwickler von WinRAR bewusst dieses X nicht rausgenommen, weil sie dadurch eine gewisse Bekanntheit erhalten. Und ein Teil der Leute wird sich dann WinRAR kaufen.
Und ich würde wahrscheinlich tatsächlich die Systemzeit nehmen. Kann man ganz einfach umgehen. Aber wie gesagt, einen absoluten Schutz gibt es nicht. Und wer hat schon gerne eine andere Systemzeit? Oder wer möchte immer beim Start des Programmes die Systemzeit umstellen? Und solange nur eine Triallizenz vorhanden ist, schreibst du dies auf den Splashscreen, gleich neben den Namen: GÜLTIG BIS ...

Grüssli
-
SeppJ:
Was heißt hier im Kreis drehen. Ich wollte gerade dazu einschwenken, den Schutz deutlich zu mindern und den Benutzer damit nicht mehr als nötig zu stören, dann kommst Du bei jedem einzelnen Punkt an und sagst mir, dass der unsicher ist. Mir war überhaupt nicht bewusst, dass Du komplett gegen Schutz bist. Das letzte, was ich vor Deinem Skriptkiddy-Gedöns im Kopf hatte, war, dass Du Internetaktivierung vorgeschlagen hattest. Und dass ich weiß, dass nichts unschützbar ist, habe ich auch schon mehrfach gesagt, deswegen beziehen sich Fragen wie "Reicht das?" auf ausreichend hohen Schutz. Wenn Du mir sagen wolltest, dass das sowieso nicht hilft, aber den Benutzer stört (und nicht das Kiddy, was ich meinte), dann würde ich mir wünschen, dass Du das auch explizit sagst, ich wäre dann auf keinen Punkt weiter eingegangen und wir hätten uns beide viel Zeit sparen können.Dravere:
Klar gibt es keinen vollständigen Schutz. Trotzdem würde in meinen Augen >50% der Nutzer ihr Datum einfach zurückstellen, wenn sie die Software dafür länger nutzen könnten. Findest Du eine Internetabfrage des Registrierungsdatums während der Trial-Phase ebenfalls zu störend? Mit Kauf fällt das ja alles weg.Edit: Mrrr... wobei das eigentlich auch zu viel Aufwand ist. Wenn ich das in die Registry schreibe, hilft Neuinstallation nicht und der normale Benutzer sucht glaub ich gerade so eben nicht in der Registry rum. Da ein Updatecheck bei Programmstart geschieht, kann ich dort jedoch trotzdem das Datum abgreifen, außer das Internet ist eben aus... ich denke, das reicht.
-
Eisflamme schrieb:
Mir war überhaupt nicht bewusst, dass Du komplett gegen Schutz bist. Das letzte, was ich vor Deinem Skriptkiddy-Gedöns im Kopf hatte, war, dass Du Internetaktivierung vorgeschlagen hattest.
Ich versuche unabhängig von meiner eigenen Meinung deine Fragen möglichst gut zu beantworten. Du möchtest einen möglichst sicheren Schutz ohne zu großes Nerven. Der aktuelle Stand der Technik ist die Onlinepflicht. Das scheinen viele Leute zu akzeptieren, solange es dafür technische Gründe gibt. Wenn es nur Zwecks Nerven eingebaut wird, gilt Onlinezwang hingegen als der große Satan.
-
Na ja, entweder Du vertrittst Deine Meinung oder eben nicht. Dieser Mischmasch hat mich jetzt etwas irritiert. Aber Du hast es ja gut gemeint, von daher danke für Mühe und Zeit!

Also wenn ich den Namen auf meinem Server (der jetzt nur noch die Serial generiert) mit einem privaten Schlüssel verschlüssel und auf der Benutzermaschine dann mit einem öffentlichen entschlüssele und mit dem Namen vergleiche, sollte das in Ordnung gehen? Oder sollte ich das geschickter lösen? Erzeugt RSA nicht ziemlich lange Schlüssel, wie kann ich da eine gescheit lange Seriennummer erstellen, sodass auch die Rückverschlüsselung noch geht? DES erzeugt ja etwas sehr Kurzes und da ich ja eh nichts schützen kann, würde das doch z.B. reichen. Was denkt ihr?
-
Imho verschwendest du viel zu viel Energie in DRM.
Am Ende wird dein Programm trotzdem auf den einschlägigen Seiten landen, wenn es gut und nützlich ist. Egal was du tust. Die ehrlichen Kunden zu nerven, die dein Produkt bezahlt haben ist der total falsche Weg Eisflamme.
GoG hat das vor langer Zeit verstanden und machen einen riesen Reibach damit ihre Software DRM frei zu verkaufen.
Nur so als Beispiel: Der Witcher 2 wurde zum Release DRM frei verkauft. Auf den Torrentseiten fand man aber nicht die GOG.com Variante, sondern die gecrackte Retail die auf Wunsch des Publishers DRM enthielt.
Gib deinen Kunden einen personalisierten Key, den sie 1x auf deiner Webseite eingeben können und damit Zugang zum Support(forum) haben. Ignoriere den Rest, auch wenns schwer fällt. Wie schon gesagt, verkaufe DRM Freiheit als Feature.
Du wirst am Ende mehr Kunden mit weniger Aufwand haben.
-
Moment Mal, ich bin doch jetzt schon von allem Schutz weg. Ich will doch dem Benutzer jetzt nur eine personalisierte Serial schicken, die er einmalig eingibt und die dann ohne Internetaktivierung (und hier die Frage, wie ich das jetzt geschickt mache) geprüft wird. Dann ist aktiviert und nichts weiter passiert. Ist jetzt auch das zu viel?

Edit: Wobei mir die Idee mit Forenzugriff auch gefällt, aber man muss hier sehen, dass meine Software keine Community nach sich zieht. Und falls doch, ist die frei, denn wenn man frei mitlesen kann, was man mit der Software alles tun kann, aber derjenige die noch nicht hat, ist das doch die perfekte Werbung.

-
Achso, naja ich hab den Flamewar übersprungen :D.
Ne, das geht natürlich in Ordnung wenn du das so willst.Ich würde das mit der Webseite und dem Support dann trotzdem noch machen. So kannst du die Keys gegenprüfen mit einer DB wo alle legitimen Keys drinstehen, ohne den Nutzer damit groß zu nerven und dann Zugang zum Support und Updates gewähren. So kosten dich nur legitime Nutzer Supportzeit.
-
Achso, speziell für das Supportforum! Ja, das finde ich sehr gut.
Wobei mir Bugs sowieso per Mail supported werden, denn wenn ein Benutzer während einer bestimmten Zeit Bugs findet, kriegt er für jeden einen Rabatt von $1 für die Software (bis zu $10).
Hat jemand eine Antwort darauf, wie ich die Serial so erstelle, dass ich sie auch dekodieren und mit Namen gegenprüfen kann? Asymmetrisches Verfahren mit encrypt(Name, private key) nebst decrypt(Name, public key) wäre ja okay, nur welches nehm ich, damit der nicht zu lang ist und noch rückverschlüsselt werden kann? Einfach einer, der mir gerade passt? RSA ist ja wie gesagt sehr lang.
Edit: Oder denkt ihr, es reicht ein einfacher Hash mit eigenem einfachen Algo aus? Dann kann man zwar wieder einfach den Keygen erstellen, wenn man den Algorithmus kennt, aber na ja... Asymmetrische Verschlüsselung ist natürlich besser, nur muss ich dann erstmal wieder die Bibliotheken finden, die mir das sicher ermöglichen...
Seht ihr eine gute Variante, wie ich im Nachhinein das Verfahren ändern kann? Geht ja eigentlich nur durch Invalidierung aller bisherigen Keys und Bitte darum, einen neuen per E-Mail anzufordern bzw. ich schicke denen einfach automatisch die neuen Keys zu... ist aber nicht sehr freundlich.
-
Mach einfach ein signiertes Key File.
Dann ist wurst wie lange irgendwas ist, und du kannst bekannte und vor allem bekanntermassen sichere Algorithmen verwenden.
-
Das sagt mir so nichts. Erstellt man so eine Key File mit irgendwelchen kostenfreien Tools? Soll ich dem Benutzer dann so ein generiertes Ding per E-Mail zusenden? Oder hat jeder die gleiche Key-File und da geschieht noch ein anderer Abgleich?
-
http://de.wikipedia.org/wiki/X.509
Du hast einen privaten Schlüssel, mit dem erstellst du das Lizenz-File. Im Programm ist der öffentliche Schlüssel, welcher das File entschlüsselt und die darin vorhandenen Daten verwendet. Niemand anderes kann somit Lizenz-Files erstellen, da sie den privaten Schlüssel nicht haben.Grüssli
-
Okay, verstehe, das klingt eigentlich gut. Würdet ihr dem Benutzer diese Datei dann zusenden und er muss die in seinen Ordner stecken? Klingt aber nicht so gut automatisierbar. Und ich brauche irgendeine freie Bibliothek, die mir solche Dateien erstellen und lesen kann... Könnt ihr da was empfehlen?
-
Daten signieren + Signatur checken geht recht einfach mit der Crypto++.
Ein Beispiel wie man damit Daten signiert und die Signatur checkt findest du z.B. hier:
http://www.cryptopp.com/wiki/SignerFilter
-
Das sieht sehr gut aus, vielen Dank! Wobei ich die Lizenz nicht verstehe. Was genau ist denn jetzt nicht General Public? Ich habe mir ein paar Header der Bib angesehen, dort steht jedenfalls nichts von zusätzlicher Lizenz.
Und wie würdet ihr diese Datei dann dem Nutzer zukommen lassen? Eigentlich hatte ich auch Mal überlegt, dass ich doch jeden Namen auf 20 Zeichen (oder so) vergrößern könnte, dann RSA anwende... dadurch sind dann alle Seriennummern nachher gleich lang. Und dann kann ich solch einen String doch als Seriennummer nehmen, seht ihr darin irgendwelche Nachteile? Es ist halt einfacher für den Benutzer nur den String zu pasten statt eine Datei einzufügen (und Mails mit Dateianhang landen häufiger im Spam).
-
Eisflamme schrieb:
Das sieht sehr gut aus, vielen Dank! Wobei ich die Lizenz nicht verstehe. Was genau ist denn jetzt nicht General Public? Ich habe mir ein paar Header der Bib angesehen, dort steht jedenfalls nichts von zusätzlicher Lizenz.
Nach http://cryptopp.com/#license sind die sourcen von crypto++ public domain.
Nur wenn du die precompiled fassung verwendest (so verstehe ich zumindestens)
ist diese mit einem copyright versehen.siehe auch http://cryptopp.com/License.txt
Soweit ich das verstehe kann diese lib auch problemlos in kommerziellen Projekten verwendet werden.
-
Ja, bei der License.txt ist ja Punkt 6 zu beachten, da versteh ich nicht, wo ich jetzt nähere Infos zu den Teilen kriege.
-
Ich hab schon öfters in kommerziellen Spielen den Hinweis auf crypto++ gesehen, du kannst es denke ich gefahrlos verwenden.
-
Hm... okay. Wobei bei GP ja eigentlich nicht Mal ein Hinweis notwendig ist, oder? Aber ich pack Derartiges trotzdem alles ins About oder irgendwohin, das kostet mich ja nichts.
Und nochmals die Frage danach, wie ich die Datei verschicke... findet ihr es ok per Mail einfach die signierte Datei anzuhängen und zu sagen "steck das ins Verzeichnis"? Hab ich noch nie gesehen.
-
Zu Punkt 6 der Lizenz:
http://www.mail-archive.com/cryptopp-users@googlegroups.com/msg05910.htmlWei Dai schrieb:
Clause 6 (about patents) was added to satisfy RSA Security's lawyers years ago back around version 1.1. (They were threatening to sue me at one point.) Of course the patent on the RSA algorithm has expired but I'm going to leave that clause there to be safe.
Eisflamme schrieb:
Und nochmals die Frage danach, wie ich die Datei verschicke... findet ihr es ok per Mail einfach die signierte Datei anzuhängen und zu sagen "steck das ins Verzeichnis"? Hab ich noch nie gesehen.
Du kannst ja auch im Programm einen Dialog anbieten, worin man das File auswählen kann. Dort wird es dann auch gleich auf Gültigkeit geprüft und wenn man auf OK klickt, wird es an die richtige stelle geschrieben. Ich würde es jedenfalls nicht so machen, dass der User etwas verschieben muss, wobei ich das schon erlebt habe -> Maple.
Grüssli
-
@Li
czenz:
Ah, perfekt, danke für den Hinweis. Dann schmeiß ich meine Sorgen vom Balkon.
@FileDialog:
Ja ok, jedoch habe ich auch die Variante noch nicht gesehen. Wäre es da nicht wieder fast einfacher, wenn der Benutzer zur Aktivierung kurz im Programm eine Nummer angibt und dann wird die signierte Datei dort heruntergeladen? Das hat die zertifizierte Sicherheit und für den Benutzer ist es insofern einfacher, als dass er nur eine Nummer eingibt.Natürlich sieht das dann wieder nach Online-Aktivierung aus. Das haben Benutzer nicht gern, weil die sich dann überwacht fühlen oder wo ist das Problem dabei? (das wäre jedenfalls mein Problem damit, wobei ich das nicht Mal als Problem bezeichnen würde) Durch den Updater bedingt will das Programm eh immer Internetzugriff. Ich als Nutzer würde es ihm daher auch erlauben, will doch über kostenlose Updates, die automatisch (höchstens zwei Klicks) installiert werden, informiert werden.

Aber nicht, dass ihr denkt, ich will jetzt wieder einen Schritt zurückgehen, ich frage mich nur ernsthaft, was den Benutzer weniger stört! Wenn ihr sagt, ne Datei aus der Mail auf den Desktop zu schieben und über FileDialog auszuwählen ist für den Benutzer kein Problem, mach ich das lieber so.