Download shc (http://www.datsi.fi.upm.es/~frosal/) and untar it:
tar -xzvf shc-X.X.tgz
cd shc-X.X/
make
make install
A binary named "shc" will be created along with some test programs. Let's give it a try.
Create a file called: "script.sh" and add the following contents:
############################### script.sh ##############################
#!/bin/sh
echo "I love Duane's articles and will send him a donation via PayPal."
############################### script.sh ##############################
Now run the command:
shc -f script.sh
The switch "-f" specifies the source script to encrypt. The above command will create two files: script.sh.x.c and script.sh.x.
The program "shc" creates C source code out of your shell script then encrypts it (script.sh.x.c). The encrypted shell script is: script.sh.x. Run that binary and see the output:
./script.sh.x
I love Duane's articles and will send him a donation via PayPal.
Now copy the original "script.sh" file to a floppy disk or some other system for backup or in case you need to edit it in the future. Then, delete it from the server and delete the "script.sh.x.c" file it creates.
Neat feature
You can also specify a time limit on the shell script so that it will no longer execute after a certain date and you can specify a custom message to echo back to the user. Run this command on the "script.sh" file we created earlier in this tut:
shc -e 09/10/2004 -m "Dude it is too late to run this script." -f script.sh
./script.sh.x
./script.sh.x has expired!
Dude it is too late to run this script.
In the above command the date October 9, 2004 is set as the expiration date (-e 09/10/2004) and the custom message was set to display to the user (-m "Dude it is too late to run this script.") when the binary is executed. Note the date format is dd/mm/yyyy.
Check out the man pages for more info on "shc". Remember that the binary is only encrypted on the local system. If you encrypt a script that transmits sensitive information in clear text across a network, you will need some other encrypted communication channel to transmit that information.
No comments:
Post a Comment