Frage

Kann mir jemand sagen, was der beste Ansatz meine Komponente DLLs in .Net zu schützen?

Ich habe ein paar DLL Komponenten geschrieben, die öffentlich zugänglich sind. Sie werden entsprechend lizenziert werden, aber ich möchte programmatisch darauf achten, dass niemand illegal die Komponenten innerhalb ihrer Lösungen verwendet wird.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Da Ihr Code bereits verschleiert ist, können Sie die eingebauten Klassen durchzusetzen mit einem Lizenzschlüssel instanziiert werden, bevor eine der Methoden aufgerufen werden. Wenn Sie feststellen, dass der Schlüssel nicht gültig / präsentieren Sie können entweder ein Meldungsfeld angezeigt werden oder einen Fehler / Ausnahme zurück.     Es gibt viele Beispiele, wo diese (Kasse Xceed.com für eine Person) durchgeführt wird, sondern als die vorherigen Beiträge vorschlagen, es ist einfach für entmutigend die Endbenutzer aus versuchen, die Assembly illegal zu verwenden. Nicht ganz es verhindern. Bei ausreichender Zeit und Anreiz kann jede Sache gebrochen werden.

Andere Tipps

Der Versuch, Menschen zu einer Technologie-Ebene Dinge zu tun, um zu verhindern nur um Ihre Bemühungen die engagierten Arbeits führen, um sie mittels Reverse Engineering zu stoppen (zu dem verschleierten Code wird sie nie aufhören, es wird sich nur verlangsamen), sauber Raumgestaltung und so weiter. Ihre beste Wette ist, um diejenigen zu stärken, die eine Lizenz erhalten Ihre Bibliotheken die Nutzungsbedingungen zu verwenden, und Ihre Rechte zu wahren, die Nutzungsbedingungen zu erzwingen.

Das Beste, was Sie tun können, ist Ihr Code zu verschleiern. Dies wird nicht zu 100% sicher sein und kann mit Reverse Engineering werden.

Dotfuscator

ist ein netter ein.

Kurz von „nicht verteilen sie“ es gibt keine 100% sichere Weise nicht autorisierten Zugriff zu verhindern.

Sie können Hardware- oder Software-Lizenzierung Geräte suchen. Sprinkle Lizenz Kontrollen im gesamten Code und wenn das Gerät nicht vorhanden ist, einfach alles zunichte machen.

Eine andere Idee und alle Typen in der Assembly als internal dann Setup-Hauptanwendung EXE als Freund Versammlung zu erklären, mit der InternalsVisibleTo Assemblierung-Attribut. Dies wird in der Regel für Komponententests interne Elemente verwendet und ich habe keine Ahnung, wie sicher es in der Praxis wäre. Dies würde die Menschen nicht von der Demontage Ihrer Montag verhindern, so dass Sie immer noch verschleiern wollen, und dies überhaupt nicht funktioniert, wenn Sie die Bibliothek verkaufen und beabsichtigt, nur für Lizenzen Kunden, es zu benutzen (weil Sie Gewohnheit zu jedem baut müßte bieten Kunden).

Wie Phönix sagte, es ist wirklich keine Möglichkeit, vollständig Ihren Code zu schützen, da sie noch über ein Tool wie Reflektor dekompilierten werden können.

Ein solches Instrument wäre zu verwenden Dotfuscator .

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