用shc加密shell脚本

1) 工具说明

shell脚本是可读写的, 很有可能会泄露敏感信息, 如用户名/密码/路径/IP等. 同样在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题.

 


2) 下载安装

(官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/)
# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz

mkdir /usr/local/man/man1/ (install时会把man文件放入该目录,如果该目录不存在需提前建好)

tar vxf shc-3.8.7.tgz && cd shc-3.8.7

make test

make strings

make install

***     Installing shc and shc.1 on /usr/local

***     Dyou want to continue? <输入y>

install -c -s shc /usr/local/bin/

install -c -m 644 shc.1 /usr/local/man/man1/

用法:

which shc

/usr/local/bin/shc

shc

shc parse(-f): No source file specified

shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script

 

 

3) 加密脚本

shc -v -f test.sh

-v是verbose模式, 输出更详细编译日志; 

-f 指定脚本的名称.

ll test*

-rwxr-xr-x  oracle oinstall   1178 Aug 18 10:00 test.sh

-rwx--x--x  oracle oinstall   8984 Aug 18 18:01 test.sh.x

-rw-r--r--  oracle oinstall  14820 Aug 18 18:01 test.sh.x.c

file test.sh.x

test.sh.x: ELF 32-bit LSB executable, Intel 80386, version (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped

可以看到生成了动态链接可执行二进制文件test.sh.x和C源文件testup.sh.x.c, 注意生成的二进制文件因为是动态链接形式, 所以在其它平台上不能运行.

 

 

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

可以通过下面的方法生成一个静态链接的二进制可执行文件:

CFLAGS=-static shc -r -f test.sh

file testup.sh.x

 


5) 通过sch加密后的脚本文件很安全吗?

一般来说是安全的, 不过可以使用gdb和其它的调试工具获得最初的源代码. 如果需要更加安全的方法, 可以考虑使用wzshSDK. 另外shc还可以设置脚本的运行期限和自定义返回信息:

shc -e 03/31/2007 -m "the mysql backup scrīpt is now out of date." -f test.sh

-e表示脚本将在2007年3月31日前失效, 并根据-m定义的信息返回给终端用户.


--End--
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值