2010-11-25 7 views
0

Hi Ich habe einen Kopierschutzmechanismus mit Microsoft LicenseProvider-Modell und einem öffentlichen/privaten Schlüsselpaar implementiert, um das Kopieren eines Programms von einem PC auf einen anderen zu verhindern. Sehr einfach. Beim Start muss eine Lizenzdatei mit verschlüsselten Informationen über den Computer, das Ablaufdatum und den Namen der Assembly, für die diese Lizenzdatei bestimmt ist, geladen werden. Aber was, wenn jemand die Lizenzdatei von MyProgramA.exe.lic zu MyProgramB.exe.lic umbenennt? Wenn beide Programme mit derselben Methode kopiergeschützt sind, genügt es, einfach die .lic-Datei umzubenennen, um eine gültige ProgramB-Lizenz zu haben. Aus diesem Grund habe ich den Assemblynamen in der .lic-Datei gespeichert. Die Assemblynamen müssen übereinstimmen.Überprüfen Sie, ob eine Lizenzdatei für die aktuelle kopiergeschützte Assembly erstellt wurde

Was passiert nun, wenn jemand stattdessen ProgramB zu ProgramA umbenennt? Die Assemblynamen würden übereinstimmen und die Lizenz wäre wieder gültig. Irgendwelche Ideen, um diese kugelsicherer zu machen?

Auch dies ist eine einfache proprietäre Lösung, also keine Verschleierung und keine Drittanbieter-Tools, die ich kenne.

Danke!

Antwort

0

Wenn Sie Ihre Baugruppe signieren, glaube ich nicht, dass die Leute sie erfolgreich umbenennen können.

1

Speichern Sie den Assemblynamen (NICHT den Dateinamen) in der LIC-Datei. Der Assemblyname wird identisch sein, auch wenn der Dateiname geändert wird.

Noch besser ist es, einfach verschiedene Verschlüsselungsschlüssel für verschiedene Apps zu verwenden. Auf diese Weise ist es egal, ob exe oder lic Dateien umbenannt werden.

Verwandte Themen