
采用gzexe\shc工具加密Shell脚本,以提高shell脚本文件的安全性。
gzexe加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。 它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。 使用方法:
gzexe file.sh
它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件;
当我们写的shell脚本,存在有敏感信息如账号密码,于是想加强脚本的安全性;还有不想让别人查看/修改您的shell核心代码等等情况。都可使用shc工具进行加密。
shc是一个脚本编译工具, 使用RC4加密算法, 它能够把shell程序转换成二进制可执行文件(支持静态链接和动态链接)。
shc官网 : http://www.datsi.fi.upm.es/~frosal/
使用环境:Linux Centos 6.5 64位,需要有GCC的环境
安装shc
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz
tar vxf shc-*.tgz
cd shc-*
make test
make strings
make install
下载地址登陆官网后可以在这里看,然后替换就行了
右键属性,复制链接地址替换就行了,就是最新版了
若报错:
*** Installing shc and shc.1 on /usr/local
*** ?Do you want to continue? y
install -c -s shc /usr/local/bin/
install -c -m 644 shc.1 /usr/local/man/man1/
install: target `/usr/local/man/man1/' is not a directory: No such file or directory
make: *** [install] Error 1
请创建 mkdir -p /usr/local/man/man1/ ,然后运行make install
shc常用参数:
- -e date (指定过期日期)
- -m message (指定过期提示的信息)
- -f script_name(指定要编译的shell的路径及文件名)
- -r Relax security. (可以相同操作系统的不同系统中执行)
- -v Verbose compilation(编译的详细情况)
- -T Allow binary to be traceable [no] (允许二进制可追溯)
- -A Display abstract and exit (显示摘要和退出)
- -h Display help and exit (显示帮助和退出)
使用方法:
shc -v -f test.sh
运行后会生成两个文件:
test.sh.x 和 abc.sh.x.c
test.sh.x为二进制文件,赋予执行权限后,可直接执行。更改名字mv abc.sh.x a.sh
test.sh.x.c 是c源文件。基本没用,可以删除
我发现shc编译后不能很好的执行,故加上-r -T参数,才能正常使用,使用如下命令编译
shc -v -r -T -f test.sh
成功后会有如上3个文件,更改test.sh.x后可使用./xxxx命令开启(最好提前开启可执行权限)
[root@iZ25bul9p1iZ ~]# mv test.sh.x test
[root@iZ25bul9p1iZ ~]# chmod +x test
[root@iZ25bul9p1iZ ~]# ./test
asdasdasd
另shc还提供了一种设定有效执行期限的方法,过期时间,如:
# shc -e 28/01/2012 -m “过期了” -f abc.sh
选项“-e”指定过期时间,格式为“日/月/年”;选项“-m”指定过期后执行此shell程序的提示信息。
如果在过期后执行,则会有如下提示:
[root@iZ25bul9p1iZ ~]# ./abc.sh.x
./abc.sh.x: has expired!
通过sch加密后的脚本文件很安全吗?
shc 并不是真正意义的高强度加密, 很容易被逆向工程,一般来说是安全的,不过可以使用gdb和其它的调试工具获得最初的源代码.
二进制文件的剖析
有兴趣的朋友可以参阅下面的文章:
Paranoid Penguin – Limitations of shc, a Shell Encryption Utility
有兴趣的朋友可以参阅下面的文章:
Paranoid Penguin – Limitations of shc, a Shell Encryption Utility
原创文章转载请注明:转载自:采用gzexe\shc工具加密Shell脚本
发表评论
沙发空缺中,还不快抢~