AxProtector Python

Teilen:

AxProtector Python ist einfach anzuwenden und schützt Ihre in Python geschriebene Anwendung sicher gegen Reverse Engineering. Sie wählen die Python-Datei, die Sie schützen möchten, und verschlüsseln diese einfach. Dafür stehen Ihnen verschiedene Optionen zur Verfügung:

  • Sie verschlüsseln Ihre komplette Python-Anwendung und fügen dabei automatisch eine Lizenzprüfung hinzu (Basisfunktion).
  • Sie verschlüsseln Ihre Python-Anwendung modular, sodass Sie einzelne Features bei Ihrem Anwender freischalten können (Individuelle Lizenzierung).
  • Sie nutzen AxProtector Python als Schutz gegen Reverse Engineering, ohne dass eine Lizenz beim Anwender benötigt wird (IP Protection Modus).

Für höchstmögliche Sicherheit verschlüsselt AxProtector Python Ihre Python-Anwendung methodenweise. Die einzelnen Methoden werden zur Laufzeit erst entschlüsselt, wenn diese benötigt werden. Die Entschlüsselung und Verarbeitung erfolgen in einer geschützten Umgebung. Ihr originaler Python-Code ist nur kurzzeitig zur Weiterverarbeitung im Speicher.

Für die weitere Erhöhung der Sicherheit bietet AxProtector Python die Möglichkeit, verschlüsselten Code in einen CmDongle zu verschieben und dort auszuführen (Code Moving).

Basisfunktion

Die grundlegende Funktionalität von AxProtector Python ist die Integration von Lizenzierung und Schutz in eine Python-Anwendung. Dabei werden alle Methoden einer Python-Anwendung mit einer von Ihnen als Hersteller definierten Lizenz verschlüsselt. Die Methoden werden dabei so transformiert, dass sie sich zur Laufzeit selbst entschlüsseln.

Wenn beim Anwender die von Ihnen definierte Lizenz vorhanden ist, werden die Methoden damit zur Laufzeit dynamisch entschlüsselt. Ist die Lizenz nicht vorhanden, dann wird eine Exception geworfen. Daher bietet es sich an, die Hauptfunktion unverschlüsselt zu lassen und die Lizenz-Exception dort abzufangen. Damit können Sie die Fehlermeldung im Fall einer fehlenden Lizenz individuell anpassen.

Die dynamische Entschlüsselung zur Laufzeit hat nur einen geringen Einfluss auf die Performance der Anwendung. Dennoch gibt es wenige Anwendungsfälle, in denen dies kritisch sein könnte. Um in diesen Fällen die Performance zu steigern, können einzelne Methoden von der Verschlüsselung ausgenommen werden.

Individuelle Lizenzierung

Für eine individuelle Lizenzierung von mehreren Features in einer Python-Anwendung können Sie mehrere Lizenzen definieren und diese den einzelnen Methoden der Anwendung zuweisen.

Für den Fall, dass Ihr Anwender nur einige Features lizenziert hat, haben Sie zwei Möglichkeiten, die Interaktion mit dem Anwender zu steuern. Sie können wie bei der Basisfunktion eine Exception fangen, falls eine der Lizenzen nicht verfügbar ist. Alternativ können Sie per API (check_license) vor dem Ausführen einer Methode prüfen, ob die entsprechende Lizenz vorhanden ist und das Feature gar nicht erst anzeigen.

IP Protection Modus

Der IP Protection Modus wurde geschaffen für Freeware, Fremium-Modelle oder der Kombination mit einer eigenen Lizenzierung. Im Gegensatz zur Basisfunktion wird die Verschlüsselung nicht an eine CodeMeter-Lizenz gebunden. Der Schlüssel zum Entschlüsseln wird sicher und versteckt in die Anwendung integriert. Die Anwendung startet damit immer.

Im Falle eines Freemium-Modells wird diese Funktionalität mit der individuellen Lizenzierung gemeinsam verwendet. Teile der Anwendung werden mit dem IP Protection Modus verschlüsselt und können somit immer ausgeführt werden. Andere Teile sind mit einer Lizenz gekoppelt und können erst nach dem Erwerb der Lizenz durch den Anwender ausgeführt wurden. Über die API (check_license) kann abgefragt werden, ob eine Funktionalität zur Verfügung steht oder nicht.

CodeMoving

Zur Erhöhung der Sicherheit kann Maschinen-Code im CmDongle ausgeführt werden. Um dies zu verwenden, implementieren Sie die sicherheitsrelevanten Teile in Form einer C-Quelldatei. Diese wird beim Verschlüsselungsprozess kompiliert und als binärer und verschlüsselter Blob in der geschützten Python-Anwendung abgespeichert.

Zur Laufzeit rufen Sie diese Teile per API (execute_moved_code) auf. Dabei wird der verschlüsselte Code an den CmDongle übertragen, dort entschlüsselt und mit den ebenfalls übertragenen Eingabeparametern ausgeführt. Das Ergebnis der Berechnung erhalten Sie als Antwort auf den API-Aufruf zurück.

Voraussetzungen

AxProtector Python verschlüsselt Python-Skripte.

Folgende Betriebssysteme werden unterstützt: Windows x86, Windows x86_64, Linux x86, Linux x86_64, macOS x86_64.

Folgende CodeMeter Container werden unterstützt: CmDongle mit Universal Firm Code, CmActLicense mit Universal Firm Code, CmCloudContainer.

Es werden alle Python 3.x Versionen unterstützt.

Interessieren Sie sich für ein individuelles Angebot zu unserer CodeMeter-Technologie? Wenn Sie uns ein paar Fragen beantworten, wird unser Team Sie mit allen notwendigen Informationen unterstützen.

Absenden

Nach oben