RSS

Zamiana skryptu basha na wykonywalną binarkę

10 Czer

Ten wpis ma za zadanie pokazać jak zamienić skrypt napisany w bashu na wykonywalny plik binarny. Sposób który tutaj pokażę może również służyć do ukrywania zawartości skryptu w sytuacji gdy chcemy żeby użytkownicy mili możliwość wykonywania skryptu ale bez wglądu w niego, np gdy znajdują się w nim hasła itp. Do wyżej wymienionych operacji posłuży nam program SHC dostępny tutaj.

Instalacja :
sudo -i
wget http://launchpadlibrarian.net/5036437/shc_3.8.6-2_i386.deb
dpkg -i shc_3.8.6-2_i386.deb

Jeżeli podczas pracy z tym programem pojawią nam się błędy :
error: sys/stat.h: No such file or directory
error: sys/types.h: No such file or directory
error: errno.h: No such file or directory
error: stdio.h: No such file or directory
error: stdlib.h: No such file or directory
error: string.h: No such file or directory
itp

to będziemy musieli zainstalować dodatkowo libc6-dev :
sudo -i
apt-get update
apt-get install gcc libc6-dev

Tworzenie pliku binarnego ze skryptu:
Otwieramy konsolę i przechodzimy do katalogu z naszym skryptem. Tam wydajemy polecenie :
shc -v -r -T -f skrypt.sh
SHC stworzy 2 dodatkowe pliki skrypt.sh.x (nasza wykonywalna binarka) oraz skrypt.sh.x.c

Przykład przed i po wydaniu tej komendy :
Free Image Hosting at www.ImageShack.us

Od razy widać różnice. Po wykonaniu tych czynności plik staje się nie do odczytania dla zwykłego użytkownika a nie traci nic na swojej funkcjonalności.

Inną ciekawą opcją jaką daje nam SHC jest ustawiania daty ważności po przekroczeniu której pliku nie będzie można już uruchomić:
$ ./basz.x
./basz.x: has expired!
kontakt pod lazowski@gmail.com

Możemy to uzyskać przez dodanie -e i -m :
shc -v -r -T -e 10/06/2009 -m " kontakt pod lazowski@gmail.com " -f skrypt.sh

Reklamy
 
Dodaj komentarz

Opublikował/a w dniu Czerwiec 10, 2009 w linuks, Linux, ubuntu

 

Tagi: ,

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: