| |
![zurück](../images/b_zurueck.gif)
Fortgeschrittene ProgrammierungWorkshop "Produktaktivierung..." mangelhaft. | | ![](../images/trans.gif) | Autor: lomon | Datum: 31.01.08 13:30 |
| Hallo zusammen,
Auf der Suche nach einer Lösung für die Produktaktivierung bin ich auf den oben genannten Workshop gestoßen. Nach dem ersten Durchlesen war ich begeistert und habe die Module, Forms, etc. in ein Programm eingebunden. Die Lösung sieht sehr professionell aus und es wurde auch sehr viel Code in die verschiedenen optischen Gimmiks (Progressbar etc.) investiert. Kurz, es sieht gut aus.
Aber durch die Optik allein ist es nicht getan.
Das Programm hat mehrere Angriffspunkte, auf die in der Beschreibung nicht hingewiesen wird. Der größte ist, dass es so wie es ausgeliefert wird, praktisch von jedem, zu knacken ist. Der Keygenerator wird nämlich praktischerweise mitgeliefert! (Für die Übersetzung braucht man natürlich den Compiler...) Ein kleiner Hinweis darauf in der Schlussbemerkung des Autors wäre sicherlich sinnvoll gewesen.
Des Weiteren sind mir folgende Designschwächen aufgefallen:
1.Für die Überprüfung der Aktivierung, also ob das Programm schon aktiviert wurde, wird nur das Vorhandensein des Aktivierungscodes in der Lizenzdatei überprüft. Der Code selber wird nicht geprüft. Man könnte einfach unter der Zeile mit dem Aktivierungscode irgendein Text eintragen, das Programm würde es schlucken.
' Prüft ob Trialversion oder Vollversion
If FileExists(App.Path & "\" & "ProductLicenseFile.plf") = True Then
ExtractData (App.Path & "\" & "ProductLicenseFile.plf")
If Not AktivationKey = Empty Then
' Wenn Anwendung schon aktiviert ist, dann soll folgendes passieren...
Else
' Wenn Anwendung noch nicht aktiviert ist, dann soll folgendes passieren...
End If
Else
' Wenn die Datei ProductLicenseFile.plf noch nicht existiert, also die
' Anwendung auch
' noch nicht aktiviert sein kann, dann soll folgendes passieren...
End If 2. Für die Erzeugung des Produktcodes werden meiner Meinung nach zu viele Variablen eingebaut:
Public Function MakeProductID(sUserName As String, sFirma As String, sEmail As _
String) As String
Dim PCData
Dim UserData
' Generiert die Produkt-ID
PCData = GetVolSerialNo("C:") & GetWindowsVersion & App.EXEName & App.Minor _
& App.LegalCopyright & App.Major & App.ProductName & App.Revision & App.Path
UserData = sUserName & sFirma & sEmail
MakeProductID = ProgCodeProf(SecureHash(PCData & UserData))
End Function Speziell die Version des Programms und der Installationspfad sind sehr variabel, als dass man sie in den Produktcode einbaut. Spätestens bei dem nächsten Programm-Update ist eine erneute Aktivierung erforderlich.
Und wenn man schon mal hier ist, kann man auch noch eine zufällige Zeichenfolge in den Produktcode einfliessen lassen, damit dieser nicht so leicht wiederhergestellt werden kann. Und beim Key-Generator sollte diese natürlich auch eingebaut werden.
3.Das Installationsdatum und das aktuelle Datum wird in der Registry verschlüsselt und versteckt. Wobei "versteckt" etwas relativ ist. Selbst wenn man den Registryschlüssel ändert, was der Autor konsequenterweise vorschlägt, kann er immer noch durch ein Programm, welches die Registry bei der Instalation überwacht ermittelt, werden. Besser wäre hier die gleiche Verschlüsselung mit zufälligen Zeichenfolgen wie weiter oben.
Damit man mich nicht falsch versteht, ich will die Lösung nicht schlecht reden, sondern nur ein paar Verbesserungsvorschläge und Anregungen anbringen.
lomon | ![](../images/trans.gif) |
![](../images/48x48/info.gif) | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
![nach oben](../images/b_top.gif) ![zurück](../images/b_zurueck.gif) |
|
sevGraph (VB/VBA) ![sevGraph f?r VB/VBA](../images/werbung/sevgraph_100x100.jpg)
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats Access-Tools Vol.1 ![Access-Tools CD Vol.1](../images/werbung/apvol1_68x100.gif)
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|