Sichere Lizenz-Schlüssel erstellen und überprüfen
Hallo!
Ich bastle gerade an einem Programm herum, welches über
eine Aktivierungs-Funktion verfügen soll, also, dass wenn man einen bestimmten
Schlüssel eingibt, z.B. "27XHR-6HJK2-7GQV1-LOE8I-XOP95" soll dieser in den My.Settings
gespeichert werden, und wenn das Programm startet aus den My.Settings ausgelesen und
überprüft werden soll.
Ich habe etwas von einem Algorythmus gehört, mit dem man das machen kann.
Ist das damit möglich, und wenn ja, wie?
Danke schon mal im vorraus!
Gruß
Alexss95
Ich bastle gerade an einem Programm herum, welches über
eine Aktivierungs-Funktion verfügen soll, also, dass wenn man einen bestimmten
Schlüssel eingibt, z.B. "27XHR-6HJK2-7GQV1-LOE8I-XOP95" soll dieser in den My.Settings
gespeichert werden, und wenn das Programm startet aus den My.Settings ausgelesen und
überprüft werden soll.
Ich habe etwas von einem Algorythmus gehört, mit dem man das machen kann.
Ist das damit möglich, und wenn ja, wie?
Danke schon mal im vorraus!
Gruß
Alexss95
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 126646
Url: https://administrator.de/forum/sichere-lizenz-schluessel-erstellen-und-ueberpruefen-126646.html
Ausgedruckt am: 23.12.2024 um 02:12 Uhr
15 Kommentare
Neuester Kommentar
Hallo,
der Algo-Rythmus ist wohl nicht so einfach und offensichtlich. Denn jeder der den Algo-Rythmus kennt kann ja dann auch einen Schlüssel erstellen, nicht wahr? Und damit wäre dann ja nicht mehr so sicher wie man es gerne hätte!
Aber es gibt jede Menge Tools und Möglichkeiten wie man seine eigene Software schützen kann. In aller Regel sind diese Möglichkeiten allerdings kostenpflichtig.
der Algo-Rythmus ist wohl nicht so einfach und offensichtlich. Denn jeder der den Algo-Rythmus kennt kann ja dann auch einen Schlüssel erstellen, nicht wahr? Und damit wäre dann ja nicht mehr so sicher wie man es gerne hätte!
Aber es gibt jede Menge Tools und Möglichkeiten wie man seine eigene Software schützen kann. In aller Regel sind diese Möglichkeiten allerdings kostenpflichtig.
Moin,
ganz ehrlich: Was bringt das? Wenn du das so simpel machst - dann kopiert man sich die My.Settings halt gleich mit oder packt den Key fröhlich munter auf irgendwelche Webseiten...
Hier würde ich das Konzept nochmal überlegen - und ob du ne andere Kopierschutz-Maßnahme nicht ggf. besser findest...
ganz ehrlich: Was bringt das? Wenn du das so simpel machst - dann kopiert man sich die My.Settings halt gleich mit oder packt den Key fröhlich munter auf irgendwelche Webseiten...
Hier würde ich das Konzept nochmal überlegen - und ob du ne andere Kopierschutz-Maßnahme nicht ggf. besser findest...
Hi !
Also so wird das sicherlich nix.....Ausserdem solltest Du dir im Klaren darüber sein, dass es nix gibt was sich nicht irgendwie knacken lässt, wenn nur genügend (kriminelle) Energie reingesteckt wird.....Bist Du sicher ob sich der Aufwand überhaupt lohnt? Wenn deine Applikation z.B. nur von einer bestimmten Nutzergruppe verwendet wird, ist der Aufwand grösser als der Nutzen.
mrtux
Also so wird das sicherlich nix.....Ausserdem solltest Du dir im Klaren darüber sein, dass es nix gibt was sich nicht irgendwie knacken lässt, wenn nur genügend (kriminelle) Energie reingesteckt wird.....Bist Du sicher ob sich der Aufwand überhaupt lohnt? Wenn deine Applikation z.B. nur von einer bestimmten Nutzergruppe verwendet wird, ist der Aufwand grösser als der Nutzen.
mrtux
Zitat von @mrtux:
Also so wird das sicherlich nix.....Ausserdem solltest Du dir im
Klaren darüber sein, dass es nix gibt was sich nicht irgendwie
knacken lässt, wenn nur genügend (kriminelle) Energie
reingesteckt wird.....
Also so wird das sicherlich nix.....Ausserdem solltest Du dir im
Klaren darüber sein, dass es nix gibt was sich nicht irgendwie
knacken lässt, wenn nur genügend (kriminelle) Energie
reingesteckt wird.....
vor allem wenn die Masse der Leute mit Debuggern umgehen kann xD.
Da kann man mit ner Codeabfrage die ein Programm im Usermode bringt nicht viel Sicherheit generieren .
Anders schaut es da schon auf Hardware- und Kernelebene
aus. Aber auch wenn man nen Dongle + selbstgestricktem KMDF Treiber zur "authorization" benutzt, heißt das noch lange nicht das nicht auch mit genügend Zeit das geknackt wird. Alternativ kann auch jede Codeabfrage aus einem Programm weggepatched werden. Nur eine Frage der Zeit und des eigenen Könnens.
Zitat von @mrtux:^^
Bist Du sicher ob sich der Aufwand
überhaupt lohnt? Wenn deine Applikation z.B. nur von einer
bestimmten Nutzergruppe verwendet wird, ist der Aufwand grösser
als der Nutzen.
Bist Du sicher ob sich der Aufwand
überhaupt lohnt? Wenn deine Applikation z.B. nur von einer
bestimmten Nutzergruppe verwendet wird, ist der Aufwand grösser
als der Nutzen.
Das kommt dann noch dazu.
Nun wie wäre es wenn Du einfach mit ganz grundlegenden Informationen wie hier anfängst.
Darauf aufbauend kannst Du Dir ja dann überlegen wie Du weiter vorgehen möchtest.
Darauf aufbauend kannst Du Dir ja dann überlegen wie Du weiter vorgehen möchtest.
Also die einfachste Prüfung ist eine Prüfung anhand einer Prüfsumme.
nehmen wir mal das hexadezimalsystem
1 2 3 4 5 6 7 8 9 A B C D E F
nun nimmste nen Code von 5 Blöcken
23FED-18B2F-AADDE-12345-CF3EA
Jetzt kannste darüber z.B. als Prüfsumme die Quersumme bilden: 217 (wenn ich mich nicht vertippt hab )
Jetzt brauchste dir nur noch einen Generator basteln der die "alle" oder nur soviele kombinationen wie du brauchst ausrechnet die diese Quersumme haben und voala. Die Vergabe der einzelnen Schlüssel kann man dann noch an die Personendaten binden und ggf. an eine Onlineaktivierung und schon ists durch.
Jetzt kannst du analog eine Prüfsumme und Zahlensystem deiner Wahl nehmen und den Generator dementsprechend anpassen und fertig bist du.
Zum Thema Knackbarkeit:
Mit jedem vernümpftigen Debugger kann man die Stellen finden wo die Abfrage drinnen ist und ggf. die Sprungmarken so ändern (mit einem Hexeditor) das die Abfrage garnicht kommt oder Step-by-Step die Berechnung z.B. der Prüfsumme rausfrickeln.
http://de.wikipedia.org/wiki/Debugger
nehmen wir mal das hexadezimalsystem
1 2 3 4 5 6 7 8 9 A B C D E F
nun nimmste nen Code von 5 Blöcken
23FED-18B2F-AADDE-12345-CF3EA
Jetzt kannste darüber z.B. als Prüfsumme die Quersumme bilden: 217 (wenn ich mich nicht vertippt hab )
Jetzt brauchste dir nur noch einen Generator basteln der die "alle" oder nur soviele kombinationen wie du brauchst ausrechnet die diese Quersumme haben und voala. Die Vergabe der einzelnen Schlüssel kann man dann noch an die Personendaten binden und ggf. an eine Onlineaktivierung und schon ists durch.
Jetzt kannst du analog eine Prüfsumme und Zahlensystem deiner Wahl nehmen und den Generator dementsprechend anpassen und fertig bist du.
Zum Thema Knackbarkeit:
Mit jedem vernümpftigen Debugger kann man die Stellen finden wo die Abfrage drinnen ist und ggf. die Sprungmarken so ändern (mit einem Hexeditor) das die Abfrage garnicht kommt oder Step-by-Step die Berechnung z.B. der Prüfsumme rausfrickeln.
http://de.wikipedia.org/wiki/Debugger
NEIN, denn durch stupides C&P lernst du am wenigsten.
Des Weiteren nutzt jeder die Sprache die er selber mag.
Daher nimm dir ein Blatt Papier und zeichne dir die Grundlegenden Abläufe auf die notwendig sind.
In meinem Post steht alles drinnen was du brauchst, du musst dir nur klar werden was du suchst.
1. Such dir ein Zahlen/Zeichensystem aus, kann auch was selbst erdachtes sein, und berechne dir ein paar beispielserials
2. Such dir das Bilden deiner "Prüfsumme/Serialchecks" aus
3. implementiere das in der Sprache deiner Wahl
4. teste deine beispielserials
5. *freu*
Des Weiteren nutzt jeder die Sprache die er selber mag.
Daher nimm dir ein Blatt Papier und zeichne dir die Grundlegenden Abläufe auf die notwendig sind.
In meinem Post steht alles drinnen was du brauchst, du musst dir nur klar werden was du suchst.
1. Such dir ein Zahlen/Zeichensystem aus, kann auch was selbst erdachtes sein, und berechne dir ein paar beispielserials
2. Such dir das Bilden deiner "Prüfsumme/Serialchecks" aus
3. implementiere das in der Sprache deiner Wahl
4. teste deine beispielserials
5. *freu*
Zitat von @Alexss95:
Ich bin kein fortgeschrittener, geschweige denn ein professioneller VB-Anwender/Programmierer.
Ich bin kein fortgeschrittener, geschweige denn ein professioneller VB-Anwender/Programmierer.
Ich auch nicht!!! Ich habe mal mit Hilfe von Google + 10min ein Kleines Beispiel unten zusammengebastelt. Meine VBA Zeiten sind schon böse lange her, aber mit Tante Google ging das schon.
Zitat von @Alexss95:
Ich möchte auch nicht die ganze Zeit wieder im i-net suchen,
weil ich das schon getan habe und nix dabei rausgekommen ist.
Ich möchte auch nicht die ganze Zeit wieder im i-net suchen,
weil ich das schon getan habe und nix dabei rausgekommen ist.
Also eine Maßgeschneiderte Lösung wirst du NIE im Netz finden. Zerlege die Probleme in Teilprobleme und versuche die zu lösen.
Also Zahlensystem, Eingabe, Prüfverfahren, Resultat.
Option Explicit
Private Sub SerialCheck_Click()
Dim Text1, Text2, Text3, Text4, Text5 As Integer
Dim Zwischensumme, i As Integer
Dim Quersumme As Integer
Dim Resultat As Integer
Resultat = 20
Zwischensumme = TextBox1.Value + TextBox2.Value + TextBox3.Value + TextBox4.Value + TextBox5.Value
MsgBox (Zwischensumme)
For i = 1 To Len(Zwischensumme)
Quersumme = Quersumme + Val(Mid(Zwischensumme, i, 1))
Sheets("Tabelle1").Cells(i + 1, 2).Value = Quersumme
Next i
MsgBox (Sheets("Tabelle1").Cells(6, 2).Value)
If Sheets("Tabelle1").Cells(6, 2).Value <= Resultat Then
MsgBox ("Der eingegebene Code ist richtig!")
Else
MsgBox ("Der eingegebene Code ist falsch!")
End If
End Sub
Da ich immer noch nicht rausbekommen habe wie ich hier Bilder hochlade hier die URL:
http://s6.directupload.net/images/091009/cye83b59.png
Das sollte als Anstoss reichen.