Über den Author / Internet / Server / Shell Scripte verschlüsseln

Shell Scripte verschlüsseln

~1 Min. Lesezeit

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.

About Stefan

avatar
Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf.Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

PHP Trojaner suchen und finden

~0 Min. LesezeitPHP Trojaner sind seit längerem sehr beliebt. Mit dem Einsatz von immer mehr …

Microsofts Mail-Sperre aufheben

~1 Min. LesezeitMicrosoft bannt im Moment einige IP Bereiche, weil von vereinzelten IP Adressen Spam …

5 Kommentare

  1. avatar

    Hallo,

    ich nach dem verschlüsselungs verfahren habe ich nun 3 dateien:
    chmods.sh.org
    chmods.sh.org.x
    chmods.sh.org.x.c
    Welche datei muss ich den dem Kunden geben?
    Und muss der Kunde dann auch shc installieren?

    Mfg

  2. avatar

    Der Kunde muss kein shc installiert haben. éffne die .x Datei mal per vim oder nano. Wenn es die Datei mitr dem Chaos drin ist, ist es die Richtige 😉

    Teste es auf einer anderen Maschine trotzdem vorab.

  3. avatar

    Hallo,

    danke für deine Antwort die datei mit dem .x ist die mit dem chaos 😛
    Muss ich aber dem kunde auch die datei chmods.sh.org.x.c geben?
    oder nur die datei mit dem .x

    Mfg

  4. avatar

    Kannst du komplett vergessen da das ganze a) unter Debian Squeeze nicht wirklich läuft b) du zwar eine c compilierung bekommst, diese aber hardware gebunden ist!

  5. avatar

    Hallo,

    das „Tool“ läuft hervorragend auch unter Debian Squeeze, nutz es schon längere zeit,
    nie ein problem damit gehabt.
    MfG

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.