shell程序编译成二进制可执行文件


要保护自己编写的shell脚本程序,方法有很多,最简单的方法有两种:1、加密 2、设定过期时间,下面以shc工具为例说明:

安装shc工具

shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件.
shc的下载地址:              
http://www.datsi.fi.upm.es/~frosal/sources/
http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.tgz
安装:
tar zxvf shc-3.8.tgz
cd shc-3.8
make test
make
make test
make strings
make install  这一步需要root权限

加密方法

shc -r -f script-name  注意:要有-r选项, -f 后跟要加密的脚本名.
运行后会生成两个文件,script-name.x 和script-name.x.c
script-name.x是加密后的可执行的二进制文件.
./script-name    即可运行.
script-name.x.c是生成script-name.x的原文件(c语言)

设定期限

首先使用shc转化为二进制,并加上过期时间,如
./shc -e 12/06/2006 -m "please contact xxx" -r -f flushvpn.sh
我一般在程序中加入自动更新系统时间 的命令,防止用户更改系统时间。


如果你仅仅是看不见内容就行了的话,不妨用

gzexe a.sh

原来的 a.sh 就被存为 a.sh~,新的 a.sh 是乱码,但是可以用 sh 的方式运行。