Frage

Was ist der beste Weg, um die Verwendung / Laden einer DLL mit einer Lizenzdatei zu sichern?

War es hilfreich?

Lösung

Ein paar Dinge, die Sie vielleicht prüfen:

Überprüfen Sie die DLL summieren. Mit Hilfe eines verschlüsselten Hash-Funktion , können Sie speichern diese in der Lizenzdatei oder in der DLL. Dies stellt eine Überprüfungsmethode, um zu bestimmen, ob meine ursprüngliche DLL-Datei unhacked ist, oder wenn es sich um die Lizenzdatei für diese DLL. Ein paar einfachen Byteaustausch Techniken können Ihre Hash-Funktion aus den ausgetretenen Pfaden schnell nehmen (und somit nicht leicht zu reproduzieren).

nicht speichern Sie als String Hash, es in unsigned Shorts in verschiedenen Orten aufgeteilt.

Wie Larry sagte, eine MAC-Adresse ist ziemlich verbreitet. Es gibt viele Beispiele dafür, wie das bekommen auf Der Code Project, aber bewusst sein, es ist einfach, zu fälschen in diesen Tagen.

Mein Vorschlag sollte Gebrauch private / öffentliche Schlüssel für Lizenz Generation sein.

Kurz gesagt, Modi des Angriffs wird binär (ändern Sie den Anweisungen Ihrer DLL-Datei) so gegen diese schützen, oder Schlüsselerzeugung so jede Lizenz Benutzer, Maschine machen, und die selbst installieren spezifisch.

Andere Tipps

Sie können innerhalb von DllMain für eine Lizenz überprüfen () und sterben, wenn sie nicht gefunden wird.

Es hängt auch davon ab, wie Sie Ihren Lizenz-Algorithmus arbeitet. Ich würde Sie in mit Blick vorschlagen etwas wie ein Diffie-Hellman-Schlüsselaustausch (oder sogar RSA ) eine Art von öffentlichen / privaten Schlüssel generieren das kann an den Benutzer weitergegeben werden, basierend auf einigen Informationen.

(Je nach Anwendung, ich weiß von einem Fall, in dem ich den Lizenzcode für ein Unternehmen auf Vertrag geschrieben, sie verwendete, um ein MAC-Adresse und einige andere Daten, gehasht es, und verschlüsselt den Hash, so dass sie den „Schlüsselwert“ geben, wenn die Registrierungsnummer korrekt war). Dadurch wird sichergestellt, dass die Schlüsseldatei nicht verschoben werden können, (oder gegeben) auf eine andere Maschine, so dass die Software ‚stehlen‘.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top