linux下对Shell/.sh脚本加密

shc是一个加密shell脚本的工具,它的作用是把shell脚本转换为一个可执行的二进制文件。用shell脚本对系统进行自动化维护,简单、便捷而且可移植性好。

但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等。

同样,在shell脚本运行时会也泄露敏感信息。

shc是一个加密shell脚本的工具,它的作用是把shell脚本转换为一个可执行的二进制文件。

这就很好的解决了上述问题。

使用方法

shc -r -f script-name    #注意:要有-r选项, -f 后跟要加密的脚本名.

运行后会生成两个文件,script-name.x 和 script-name.x.c

script-name.x是加密后的可执行的二进制文件.

./script-name.x 即可运行.

script-name.x.c是生成script-name.x的原文件(c语言)

用法

[wuhongyi@ScientificLinux ~]$ shc -h
shc Version 3.8.9, Generic Script Compiler
shc Copyright (c) 1994-2012 Francisco Rosales <frosal@fi.upm.es>
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script

    -e %s  Expiration date in dd/mm/yyyy format [none]
    -m %s  Message to display upon expiration ["Please contact your provider"]
    -f %s  File name of the script to compile
    -i %s  Inline option for the shell interpreter i.e: -e
    -x %s  eXec command, as a printf format i.e: exec('%s',@ARGV);
    -l %s  Last shell option i.e: --
    -r     Relax security. Make a redistributable binary
    -v     Verbose compilation
    -D     Switch ON debug exec calls [OFF]
    -T     Allow binary to be traceable [no]
    -C     Display license and exit
    -A     Display abstract and exit
    -h     Display help and exit

    Environment variables used:
    Name    Default  Usage
    CC      cc       C compiler command
    CFLAGS  <none>   C compiler flags

    Please consult the shc(1) man page.

[wuhongyi@ScientificLinux ~]$