Shell Scripte verschlüsseln

web updates kmu GmbH-wuk-WordPress und SEO Agentur Shell Scripte verschlüsseln

 

Ich musste ein Shellscript verschlüsseln,damit der Empfänger das gekaufte Skript nicht für sich selbst erweitern oder weiterverkaufen kann.

Da bin ich bei Francisco Rosales über ein Skript gestolpert, was die ShellScripte in C übersetzt und anschliessend compiliert. Ist zwar kein 100%iger Schutz, aber benötigt Aufwand zum decompilieren was den Meisten zu viel ist.

Der zuvor sehr gut lesbare und bearbeitbare Quellcode (Links) sieht dann wie Zeihenmuss (Rechts) aus.

Die Installation des Verschlüsselungstool ist recht schnell und einfach erledigt:

cd /opt
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
tar xzf shc-3.8.7.tgz
cd shc-3.8.7
make install

Anschliessend steht uns der Befehl ‘shc’ zur Verfügung.

Als Testprogramm verwende ich ein Script, was stress.sh heisst mit folgendem Inhalt:

stress −−cpu 5 −−io 5 −−vm 10 −−vm−bytes 512M −−vm−hang 5 −−timeout 10s −−hdd 5
stress −−cpu 5 −−io 5 −−vm 10 −−vm−bytes 512M −−vm−hang 5 −−timeout 10s −−hdd 5
stress −−cpu 5 −−io 5 −−vm 10 −−vm−bytes 512M −−vm−hang 5 −−timeout 10s −−hdd 5
swapoff −a && swapon −a

Das Testprogramm ist dazu da CPU und RAM zu stressen und den Swap anschliessend zu leeren.

Zuerst sichern wir unsere Datei so ab, das wir diese nicht mit der codierten verwechseln:

mv stress.sh stress.sh.org

Möchte ich nun das Program verschlüsseln, kann ich dies mit folgendem Befehl machen:

shc -f stress.sh.org stress.sh

Die Orginaldatei ist ist so als .org abgelegt und die neue .sh Datei hat verschlüsselten Inhalt.

Ein weiteres geniales Feature der Software ist der Testzeitraum wo man mit eincompilieren kann. dies geht wie folgt:

shc −e 04/11/2010 -m “estevaluation expired” −f stress.sh.org stress.sh

Dies bedeutet ganz einfach bis und mit 04. November 2010 wird das Programm laufen, anschliessend seinen Dienst mit der besagten Meldung verweigern.