1、工具简介
Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束)。
2、下载安装
# cd shc-3.8.7
# make
# make install
安装过程中会需要提示安装一些包,如果glibc,根据提示安装完就行。
3、
用法:
# which shc
/usr/local/bin/shc,将/usr/local/bin/shc 拷贝到/usr/bin目录下
cp /usr/local/bin/shc /usr/bin
#对文件进行加密
1)在/tmp目录下创建一个文件夹shcfile
mkdir /tmp/shcfile
2)创建一个测试文件pass.sh
#!/bin/bash
echo "hello word"
注意:这里shc会检查文件第一行是否符合脚本的规则
3)加密文件
[root@mysqldb01 shcfile]# shc -v -r -T -f pass.sh
shc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc pass.sh.x.c -o pass.sh.x
shc: strip pass.sh.x
shc: chmod go-r pass.sh.x
加密完成,会生成以下两个文件
pass.sh.x pass.sh.x.c
pass.sh.x --则是加密过的可执行文件
pass.sh.x.c --则是源文件,因为是c语言编写的,则是.c后缀
4)验证
cat pass.sh.x > pass.txt
检查里面的内容
[root@mysqldb01 shcfile]# cat pass.txt
hello word
这说明文件加密成功。
这里需要说明一下,shc是对sh文件进行加密,但是还是需要保留最原始的文件,因为加密完后,文件变成二进制,无法修改编辑,因此需要保留好原来的源文件,如果需要修改,则可以将源文件修改再次进行加密。