用shc加密shell脚本

分类:shell编程 阅读:75274 次

软件介绍:

shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束)。

下面就说明一下shc的安装,参数,以及使用示例: 下载安装:
(官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/)
# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
# cd shc-3.8.7 # make
# make install (仅用make就可以完成安装,运行shc时要指出绝对路径;
用make install,将shc安装到/usr/local/bin下,可以直接运行)
常用参数:

-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(指定要编译的shell的路径及文件名)

-r Relax security. Make a redistributable binary which executes on different systems running the same operat-ing system.(可以相同操作系统的不同系统中执行)

-v Verbose compilation(编译的详细情况)

使用示例: [root@centos54 tmp]# /usr/local/src/shc-3.8.7/shc -e 20/10/2010 -m “contact xxx@163.com” -v -r -f ./ex.sh -e:指定过期时间为2010年10月20日 -m:过期后打印出的信息; -v: verbose -r: 可在相同操作系统的不同主机上执行 -f: 指定源shell

使用:

# 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语言)

但由于生成的文件需要动态谅解不能用作其他机器,需要下面的方法来生成静态的链接库文件。

生成静态链接的二进制可执行文件

可以通过下面的方法生成一个静态链接的二进制可执行文件:

# CFLAGS=-static shc -r -f test.sh

# file test.sh.x