2008-09-19 4 views

Antwort

5

Ein paar Dinge, die Sie vielleicht prüfen:

Prüfsumme der DLL. Mit einem cryptographic hash function können Sie dies in der Lizenzdatei oder in der DLL speichern. Dies bietet eine Überprüfungsmethode, um festzustellen, ob meine ursprüngliche DLL-Datei nicht abgehackt ist oder ob es die Lizenzdatei für diese DLL ist. Ein paar einfache Byte-Swapping-Techniken können Ihre Hash-Funktion schnell von den ausgetretenen Pfaden nehmen (und somit nicht einfach zu reproduzieren).

Speichern Sie Ihren Hash nicht als String, teilen Sie ihn an verschiedenen Stellen in unsigned shorts.

Wie Larry sagte, ist eine MAC-Adresse ziemlich häufig. Es gibt viele Beispiele dafür, wie man das auf The Code Project bekommt, aber sei dir bewusst, dass es heutzutage einfach ist, es zu fälschen.

Mein Vorschlag sollte private/public Schlüssel für die Lizenzgenerierung verwenden.

Kurz gesagt, werden die Angriffsmodi binär sein (ändern Sie die Anweisungen Ihrer DLL-Datei), so schützen Sie sich vor dieser oder Schlüsselgenerierung, so machen Sie jede Lizenz Benutzer, Maschine und sogar die Installation spezifisch.

4

Sie können nach einer Lizenz innerhalb von DllMain() suchen und sterben, wenn sie nicht gefunden wird.

+0

DO lesen, was Sie in DllMain tun dürfen, es ist nicht viel! – MSalters

1

Es hängt auch davon ab, wie Ihr Lizenzalgorithmus funktioniert. Ich schlage vor, dass Sie mit etwas wie einem Diffie–Hellman key exchange (oder sogar RSA) arbeiten, um eine Art öffentlicher/privater Schlüssel zu generieren, der basierend auf einigen Informationen an Ihre Benutzer weitergegeben werden kann.

(Abhängig von der Anwendung, ich kenne einen Fall, wo ich den Lizenzcode auf Vertrag für eine Firma geschrieben, sie verwendet eine MAC address und einige andere Daten, Hash es, und verschlüsselt den Hash, geben ihnen den "Schlüssel Wert ", wenn die Registrierungsnummer korrekt war. Dadurch wird sichergestellt, dass die Schlüsseldatei nicht auf eine andere Maschine verschoben (oder weitergegeben) werden kann, wodurch die Software "gestohlen" wird.

Wenn Sie tiefer graben wollen und Hacker zu vermeiden, das ist ein ganz ‚weiteres Thema ....

Verwandte Themen