使用shc保护shell脚本源码

shc是一个脚本编译工具, 使用RC4加密算法, 它能够把shell程序转换成二进制可执行文件(支持静态链接和动态链接)。
shc主页:http://www.datsi.fi.upm.es/%7Efrosal/


安装shc

wget http://www.datsi.fi.upm.es/%7Efrosal/sources/shc-3.8.6.tgz
tar vxf shc-3.8.6.tgz cd shc-3.8.6
make test
make strings
make install

 

使用方法

shc -v -f myshell.sh
-v 是显示加密过程
-f 后面跟需要加密的文件
运行后会生成两个文件:
myshell.sh.x 和 myshell.sh.x.c
myshell.sh.x为二进制文件,赋予执行权限后,可以直接执行
myshell.sh.x.c 是c源文件。基本没用,可以删除

shc还提供了一种设定有效执行期限的方法,可以首先使用shcshell程序转化为二进制,并加上过期时间,如:

# shc -e 18/10/2006 -m " It’s too late to run this script " -f myshell.sh

 

其中选项“-e指定过期时间,格式为“日//年”,此例为20061018日过期;选项“-m指定过期后执行此shell程序的提示信息。

 

倘若在过期后执行,则会有如下提示:

# ./myshell.sh.x

./myshell.sh.x: has expired!

It’s too late to run this script


不过此方法要注意,需防止用户更改系统时间,可以通过在程序中加入自动更新系统时间的命令来解决此问题

你可能感兴趣的:(源码,shell,脚本,休闲,shc)