采用gzexe\shc工具加密Shell脚本

采用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
下载地址登陆官网后可以在这里看,然后替换就行了

3

右键属性,复制链接地址替换就行了,就是最新版了

4

若报错:

***     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.xabc.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

QQ截图20160807112555

成功后会有如上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和其它的调试工具获得最初的源代码. 如果需要更加安全的方法, 可以考虑使用wzshSDK.

 二进制文件的剖析
有兴趣的朋友可以参阅下面的文章:
Paranoid Penguin – Limitations of shc, a Shell Encryption Utility

发表评论

发表回复

*

沙发空缺中,还不快抢~