Zitat von
infY2k7:
Hier ist das Problem - ich weiß nicht wo!
Muß es unbedingt eine Datenbank sein? Arbeitet euer Tool mit dieser Datenbank?
Wenn nicht, was spricht gegen eine Art Lizenz-Datei die man sich gegen eine einmalige Anmeldung am Server herunter laden kann und auf dem Rechner speichert.
Dazu generiert eurer Tool eine Art eindeutigen Computer-ID aus z.B. MAC-Adresse oder Windows-Seriennummer oder weiß der Teufel was. Zusammen mit UserName, Passwort und eben dieser ID generiert ihr eine verschlüsselten String z.B. MD5-Hash auf dem Server und schickt es dem Tool zurück, welches dann diesen String auf Platte speichert.
Beim nächsten Start, prüft euer Tool den eingegebenen UserName, Passwort und die neu ermittelte ID gegen den String in der gespeicherten Datei und schon sollte der Benutzer authentifiziert sein.
So verhinderst ihr zunächst einmal, daß euer Tool einfach weiter kopiert werden.
Auch ein Sniffer wäre sinnlos, wenn einmal die Lizenz auf dem Rechner liegt.
Und wenn ihr auf den Server noch eine Benutzerprüfung vornehmt, welcher Benutzer überhaupt eine Lizenz bekommen kann, könnt ihr auch sicher sein, dass nur gewünschte Benutzer euer Tool verwenden können.
Ob man nun einzelne Programmteil verschlüsseln muss, so wie Bernhard schreibt, weiß ich nicht.
Ich denke mal, dass man mit eurem Tool mit einem Mausklick nicht unbedingt die Weltherrschaft an sich reisen kann, so das dieser Aufwand nicht nötig sein muß.
Hier müßt ihr Sicherheit und Nutzen gegen einander abwägen.
Zu den If-Abfragen-Rauspatchen ... wenn euer Tool an mehren stellen im Code die Lizenzprüfung vornimmt, wird es schon nerviger für nen Cracker all die entsprechenden Stellen zu finden, aber nicht unmöglich.
Wie schon gesagt wurde: 100%ige Sicherheit gibt es nicht.
Vielleicht ist ja mein Vorschlag eine Idee für euch?