Magazine Tecnologia

Criptare script bash con Shc – metodo 1

Creato il 20 giugno 2011 da Ingalex @ingalex81

Criptare script bash con Shc – metodo 1

Ci sono dei casi in cui può risultare utile criptare il contenuto di uno script bash per rendere il codice non accessibile o per proteggere alcune informazioni sensibili.

Fino a qualche tempo fa nei repository Ubuntu e Debian esisteva un pacchetto chiamato shc. SHC è un compilatore che consente di criptare in modo semplice e veloce i nostri script bash. SHC è stato realizzato da Francisco Javier Rosales García. Attualmente shc non è più presente nei repository di Ubuntu, ma ho provveduto a pacchettizzarlo e a inserirlo nel mio ppa.

INSTALLAZIONE

Per installare SHC su Ubuntu Natty Narwhal 11.04 vi basta aggiungere il mio ppa eseguendo:

sudo add-apt-repository ppa:ingalex/sources.list

Poi procedete all’installazione eseguendo:

sudo apt-get update
sudo apt-get install shc

CRIPTARE SCRIPT BASH

Supponiamo di voler criptare uno script chiamato script.sh. Allora ci basta eseguire:

shc -v -r -f script.sh

Verranno generati due file con i seguenti nomi:

script.sh.x : questo è il file binario eseguibile criptato che potremo utilizzare

script.sh.x.c : questo è il file contenente il codice sorgente C

In pratica shc converte prima lo script bash in un programma C e poi in un binario usando un algoritmo di crittografia:

Shell Script-> C source code Program-> binario eseguibile

Quindi potete cancellare senza problemi il file script.sh.x.c e il vostro eseguibile originale script.sh se non dovete applicare ulteriori modifiche.

Esistono varie opzioni a disposizione:

OPTIONS       The command line options are:
-e     date                      Expiration date in dd/mm/yyyy format [none]
-m    message              message to display upon expiration ["Please contact your provider"]
-f      script_name       File name of the script to compile
-i      inline_option       Inline option for the shell interpreter i.e: -e
-x     comand                eXec command, as a printf format i.e: exec(\\’%s\\’,@ARGV);
-l      last_option          Last shell option i.e: –
-r     Relax security. Make a redistributable binary which executes on different systems running the same operating system.
-v     Verbose compilation
-D     Switch on debug exec calls
-T     Allow binary to be traceable (using strace, ptrace, truss, etc.)
-C     Display license and exit
-A     Display abstract and exit
-h     Display help and exit

Fonte: http://linux.koolsolutions.com


Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :