Php Code verschlüsseln (gegen Reverse Engineering schützen)
Jeder Php Entwickler der aufwendige Anwendungen entwickelt und diese mehrfach verkäuft, steht vor dem Problem des Reverse Engineering. Nahezu jeder entwickelte Code kann von anderen eingesehen, kopiert und unrechtens als der eigene ausgeben werden.
Niemand ist davor sicher! Jeder Php Entwickler der mit seiner Arbeit seine Brötchen verdienen muss, hat sich diesen Angstmoment schonmal vorgestellt. Was passiert wenn meine Anwendung einfach ohne dass Sie jemand bezahlt auf irgendeiner obszönen Webseite bzw. einem Forum zum Download angeboten wird.
Viele reden dann davon dass Ihnen dass Entgeld geklaut wurde und Ihnen ein Schaden entstanden wäre. Seien wir doch mal ehrlich. Personen die sich die Software auf Umwegen besorgen, würden sich niemals diese kaufen. Von daher kann man nicht von einem finanziellen Schaden sprechen.
Viel schlimmer ist der eigentliche Wettbewerbsvorteil den beispielsweise Konkurrenten erhalten könne, wenn diese Einblick in meine Produkte erhalten. Sie können Fehler aufdecken und diese vielleicht zu Ihrem Vorteil nutzen, aber auch Funktionalitäten einsehen und diese abkupfern. Dies ist natürlich alles hypothetisch, aber Gedanken sollte man sich als heutiger Entwickler machen.
Wir wären aber nicht Entwickler wenn nicht auch dafür eine Idee hätten.
Variante 1:
Unsere einfachste Methode nennt sich “Obfuscator“. Bei dieser werden aus dem Quellcode unnötige Kommentare und Leerzeichen entfernt. Es entsteht im Prinzip ein in einer Zeile zusammenhängender Quellcode, den man je nach Größe des Scriptes mit bloßem Auge nicht mehr enträtseln kann. Aber damit nicht genug, denn es werden alle genutzten Variablen durch längere und komplizierte Buchstabenfolgen ersetzt. Ein Variable mit dem namen “$string” heißt dann wohlmöglich “$kasjdkjkws”. Ein Verstehen des Quellcodes ist nun nahezu unmöglich! Diese Methode kennen einige Webentwickler vermutlich von Javascript Frameworks wie “Jquery”. Bei diesen wird diese Methode angewand um das Framework kleiner zumachen und das Laden der Seite dadurch zu beschleunigen.
Variante 2:
Die andere Methode ist eine wirkliche Verschlüsselung des Quellcodes. Für diese muss je nach Verschlüsselungsengine ein PhpModul auf dem Softwareausführenden Webserver installiert werden, damit die Anwendung bei Ausführung entschlüsselt werden kann. Bekannte Verschlüsselungsengines sind “Ioncube” und “Zend Guard”. Beide sind kommerzielle Produkte und kosten mehrere hundert Euro aufwärts. Ein Vorteil dieser Produkte ist aber der hohe Grad an weiteren Funktionen, welche diese Mitbringen. “Zend Guard” hat beispielsweise ein Lizenzierungsmanagement integriert, mit welchem man ohne Probleme Seriennummern und Lizenzen für seine Software generieren kann.
Links:
http://www.ioncube.com/
http://www.zend.com/de/products/guard/


Kommentar schreiben