To top
Products Products

AxProtector .NET

Teilen:

Automatic Protection für .NET Software

Wenn Sie Zeit und Aufwand bei der Integration des Softwareschutzes in Ihre .NET-Software sparen möchten, dann bietet Ihnen AxProtector .NET die optimale Lösung. Mit AxProtector .NET schützen Sie Ihre .NET-Software automatisch und dennoch sicher gegen Raubkopien und Reverse-Engineering.

Ihre zu schützende Software wird auf Klassen- und Methodenebene verschlüsselt und mit einer Sicherheitsschale, AxEngine, versehen. Dabei werden automatisch modernste Anti-Debug und Anti-Disassemblierung Methoden in Ihre Software eingefügt.

Die einzelnen Methoden werden verschlüsselt in den Speicher geladen und bleiben verschlüsselt bis sie benutzt werden. Die Entschlüsselung erfolgt komplett automatisch. Nach einer von Ihnen definierten Zeit werden die entschlüsselten Methoden wieder aus dem Speicher entfernt. Damit erreichen Sie einen extrem hohen Schutzlevel gegen typische Crack-Methoden wie Memory-Dumping, Patching und Emulation der Schutzsoftware.

Durch ein intelligentes zwei-stufiges Caching ist der Einfluss des Schutzes auf die Performance nur gering und bietet dennoch einen sehr hohen Schutzlevel.

Durch das Wibu Universal Protection Interface (WUPI) können Sie selber AxEngine kontrollieren. Sie können weitere Lizenzen belegen und freigeben. Damit realisieren Sie einfach und sicher einen modularen Schutz in Ihrer Software.

Im Vergleich zur Integration mit CodeMeter-API erhalten Sie einen sehr hohen Schutzlevel mit geringem Aufwand. Eine zusätzliche Verwendung von CodeMeter-API ist möglich.

Unterstützte Betriebssysteme

AxProtector.NET schützt Anwendungen (Executables) und Bibliotheken (Libraries), die mit .NET erstellt wurden. AxProtector .NET unterstützt alle .NET Frameworks 2.0 und höher.

Funktionsprinzip

Um AxProtector .NET einzusetzen, ist prinzipiell keine Änderung Ihres Quellcodes erforderlich. Sie integrieren AxProtector .NET als einen Post-Build Prozess. Der Verschlüsselungsprozess durch AxProtector .NET erfolgt nach dem Kompilieren und vor der Erstellung des Setups. AxProtector .NET ist als graphische Oberfläche und als Kommandozeilenwerkzeug verfügbar. Als Kommandozeilenwerkzeug ist AxProtector .NET im Rahmen der Continuous Integration in ein automatisches Build-System integrierbar.

Um einen modularen Schutz zu realisieren, definieren Sie verschiedene Lizenzen (Product Codes), welche Sie einzelnen Methoden oder ganzen Klassen zuweisen. In diesem Fall können Sie zusätzlich mit WUPI die verschiedenen Lizenzen innerhalb Ihrer Software im Quellcode abfragen und entsprechend in Ihrer Software auf fehlende Lizenzen reagieren. So können Sie zum Beispiel Menüs ausblenden oder eigene Fehlermeldungen anzeigen. Durch die Verschlüsselung mit einer anderen Lizenz (Product Code) erreichen Sie die höchste mögliche Sicherheit, durch eine Abfrage mittels WUPI erreichen Sie ein von Ihnen gesteuertes Verhalten Ihrer Software. Daher ist beides erforderlich.

Schaubild beschreibt das AxProtector.NET Funktionsprinzip

Beim ersten Aufruf einer verschlüsselten Methode wird AxEngine ausgeführt. AxEngine überprüft ob eine entsprechende Lizenz verfügbar ist. Falls eine Lizenz verfügbar ist, wird diese automatisch belegt und zum Entschlüsseln der geschützten Methode verwendet. Zusätzlich überprüft AxEngine im Rahmen des Integritätschecks, ob Ihre Software verändert wurde. AxEngine verwendet modernste Anti-Debug und Anti-Reverse-Engineering um Gefahren für Ihre Software zu erkennen und unterbricht die Ausführung Ihrer Software falls Gefahren erkannt werden. Als Hersteller können Sie festlegen, ob in diesen Fällen die Lizenz gesperrt wird.

Ein Wächter in AxEngine überprüft die Lizenz, die Integrität und vorhandene Gefahren in regelmäßigen Abständen im Hintergrund.

AxProtector .NET fügt optional versteckte Kommandos für CodeMeter als Fallen (Honig-Topf) als zusätzliche Methoden in Ihre Software ein. Ein Cracker, der versucht alle verschlüsselten Funktionen zu entschlüsseln fällt zwangsläufig in eine Falle. Das versteckte Kommando führt dazu, dass die Lizenz gesperrt wird und nicht mehr für die Entschlüsselung der weiteren Funktionen verwendet werden kann. AxProtetcor .NET erreicht durch dieses Vorgehen einen extrem hohen Schutzlevel gegen systematische Analyse Ihrer Software.

Im Vergleich zu marktüblichen Obfuskatoren bietet AxProtector .NET eine deutlich höhere Sicherheit. Während bei einer Obfuskierung Namen verändert und der Code als Spaghetti-Code durcheinandergewürfelt werden, wird der ausführbare Code mit AxProtector .NET sicher mit 128-Bit AES verschlüsselt. Damit ist ein Dekompilieren des Assemblies auf der Festplatte selbst mit den entsprechenden Tools nicht mehr möglich. Die Entschlüsselung des Codes erfolgt in einem Dongle oder in einem Windows-System-Dienst und ist damit schwerer angreifbar als eine Obfuskation rein auf .NET-Ebene. Ein Angreifer, welcher keine passende Lizenz - und damit keinen passenden Schlüssel - besitzt, kann den Code somit auch nicht aus dem Arbeitsspeicher extrahieren. Durch eingebaute Fallen sind das systematische Entschlüsseln aller Methoden und das Extrahieren aus dem Arbeitsspeicher in der Praxis unlösbare Aufgaben. Beim Auslösen einer Falle wird die Lizenz gesperrt und der entsprechende Schlüssel steht nicht mehr für weitere Angriffe zur Verfügung. Neben der Sicherheit besitzt AxProtector .NET einen weiteren Vorteil gegenüber Obfuskatoren: Da Namen von Funktionen nicht umbenannt werden müssen, stehen Features wie Reflection, Remoting und WCF ohne Probleme und ohne Einschränkungen der Sicherheit zur Verfügung.

Über das UserMessage Interface haben Sie als Softwarehersteller die Möglichkeit selber auf Ereignisse wie z.B. eine fehlende Lizenz zu reagieren. Somit können Sie eine Meldung im eigenen Design anzeigen, wenn Ihre Software ein graphisches Interface besitzt. Auf einem Gerät ohne Anzeige (Headless Device) können Sie diese Ereignisse in eine Protokolldatei schreiben.