shell脚本转化为二进制执行文件的两种方法

因为脚本中需要明文显示密码的需求,想法是将已经编辑好的shell脚本,封装成二进制可执行文件。
要点:该工具不支持生成的二进制文件在其他主机上使用。

使用工具shc
官方下载网站:http://www.datsi.fi.upm.es/~frosal/
使用最新版本:shc-3.8.9b.tgz

tar -zxvf shc-3.8.9b.tgz
cd shc-3.8.9b/
make

编译成功后
当前目录下增加一个可执行文件shc

cp shc /usr/local/bin/

使用命令
shc -r -f xxx.sh

运 行后会生成两个文件,xxx.sh.x 和 xxx.sh.x.c. 其中xxx.sh.x是加密后的可执行的二进制文件;用./xxx.sh.x即可运行,xxx.sh.x.c是生成 xxx.sh.x的原文件(c语言).
shc -v -r -T -f

另外还有个-T选项,加了T选项后,在Mac上双击运行竟然可以看到脚本里面的内容。
-T Allow binary to be traceable (using strace, ptrace, truss, etc.)

/usr/local/src/shc-3.8.7/shc -e 27/03/2018 -m "contact xxx@163.com" -v -r -f ./xxx.sh

-e:指定过期时间为2018年03月20日
-m:过期后打印出的信息;
-v: verbose
-r: 可在相同操作系统的不同主机上执行
-f: 指定源shell

在rhel6上使用请注意
实测 shc -r -f 二进制封装脚本,但是无法使用cron正常执行,换用可trace的方式进行进行封装,shc -T -f ,cron正常执行。

制定任务计划
08 08 * /path/xxx.sh.x

第二种为gzexe
gzexe命令即可隐藏shell源码
gzexe xxx.sh
生成加密后的脚本xxx.sh和shell源码xxx.sh~

缺点:gzexe可以直接转换明文。
gzexe -d xxx.sh

转载于:https://blog.51cto.com/mengix/2091341

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值