Shell脚本加密工具——Shc

    Linux下的shell脚本用途广泛,经常包含IP、Pwd等关键信息,可读可写的特点很容易造成信息泄露,导致严重后果。基于这些原因,对脚本实施加密便变得很有必要。本文介绍的shc便是这样的一款加密工具。

1,下载安装

下载地址: http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.6.tgz

安装说明:

    1)首先读一下README,但是作者并没介绍什么,又大致的看了一下Makefile。

    2) tar vxf shc-3.8.6.tgz && cd shc-3.8.6

    3)   sudo mkdir -p  /usr/local/man/man1/

    4)make test

    5)make strings

    6)sudo make install

    7)查看是否安装完成——which shc

   /usr/local/bin/shc  说明安装成功。

   

2, 使用说明Usage

    1)   shc -r -f update.sh , -f 指定要解密的文件,-r 指定一种安全的加密方式。之后,生成两个文件update.sh.x和update.sh.x.c,前者是动态链接的二进制可执行文件,后者相应的是C程序。这儿便产生了一个问题:因为动态链接属性,前者update.sh.x运行时需要对应的库的链接的 支持,也就是说,目标运行环境也需要安装shc或者安装shc的库,这无疑很是麻烦,应用起来不方便。具体解决办法见下——生成静态链接的二进制文件。

    2)    shc -v -f update.sh , -v 输出详细的编译日志。其他与上 相同。

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

        ~ CFLAGs=-static shc -r -f  run.sh

        ~ file run.sh.x

    4) 设置脚本的过期时间

       ~ shc  -e  01/01/2019  -f  run.sh (-e表示脚本将在2019年1月1日前失效)

    5) 自定义返回信息

       ~ shc   -m  "hello world "  -f  run.sh (-m指定的信息在执行完后返回给终端用户) 

3,其他事项

   1) 安全问题:总体来说,相对安全。对于一般的应用场景来说是够用的。但是也可以通过gdb等其它的调试工具获得源码。如果安全系数要求更高, 可以考虑使用wzshSDK。
   2) 跨平台运行:在编译shc的时候就要修改相应的Makefile,修改成交叉编译工具链。完成后,生成的加密的二进制文件就可以在目标平台运行了。

猜你喜欢

转载自blog.csdn.net/brouce__lee/article/details/81025572
今日推荐