Wenn Sie Ihre Software testen, die auf Vollversionen (dh Baugruppen mit allen Funktionen) aktualisiert werden kann, gibt es nicht viele Möglichkeiten, um zu verhindern, dass jemand am Ende hackt. (Mit .net ist es sogar einfacher als mit nativen Assemblies).
Signing & Verschleierung ist der einzige Weg zu verhindern, dass es in einer sehr lesbaren Form reverse engineered ist, aber nur mit etwas wie Reflektor wird im Grunde geben Sie das komplette.
Eine der einfachsten Möglichkeiten, um das Aussehen der Lizenzierung zu halten ist:
- Verwendung öffentlicher/privater Schlüssel Verschlüsselung Lizenzinformationen (Ablaufdatum, aktivierte Funktionen, usw.) speichern in eine Datei
- Fügen Sie den öffentlichen Schlüssel in die Assembly ein
- entschlüsseln Sie die verschlüsselten Informationen beim Start Ihrer Anwendung, um zu überprüfen, ob jemand eine Lizenz zur Verwendung Ihrer Anwendung besitzt.
- erzeugen Lizenzen bei Bedarf mit Ihrem privaten Schlüssel und diese Dateien verteilen (oder Schlüssel, wenn die Daten der klein genug sind)
Als Alternative Sie die Lizenzinformationen in Klartext mit einem Hash-Code enthalten können (dies ist Der Lizenzschlüssel, der Algorithmus sollte auch den öffentlichen/privaten Schlüssel unterstützen) im Klartext mit der Anwendung und nur prüfen, ob die Lizenzinformationen mit dem Hash-Code übereinstimmen.
Wie die licens_er_ oder die licens_ee_? –
Sie verkaufen die Komponenten, nehme ich es? Stört es Sie, wenn der Prozess überall verbreitet wird? Möchten Sie etwas mehr verhindern, als durch das Urheberrecht bereits verhindert ist? Irgendwas Spezifisches oder Ungerade darüber, wie sie benutzt werden? –