shell 工具_shell 脚本加密工具 - shc

b7887616b75ab105a6972a19999794da.png

shell 脚本写起来很方便,身为脚本的问题就是保密性不行,写了什么内容编辑器一打开看看就知道了, 脚本里面完全不能放用户名,密码什么的, shc 可以解决你的这一部分问题。

安装shc

* ubuntu

sudo add-apt-repository ppa:neurobin/ppasudo apt-get updatesudo apt-get install shc

* mac(需要使用原生的/usr/bin/strip, brew 安装的/usr/local/bin/strip会让程序启动不了)

brew install shc

加密脚本

shc -v -f test.sh

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

-f 指定脚本的名称.

 ll test*

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

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

-rw-r--r-- 1 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 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped

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

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

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

CFLAGs=-static shc -r -f test.shfile testup.sh.x

通过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定义的信息返回给终端用户.


工具地址 :

https://github.com/neurobin/shc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值