linux 打包成可执行文件,Linux中将shell脚本打包为可执行文件

在实际运行中,将一个写好的脚本部署到生产系统上,但碍于保密或者密码泄露问题,需要将脚本打包封装。现在总结两种脚本打包方法,第二种shc实用性更加强。

1、gzexe加密

gzexe命令即可隐藏shell源码,这个命令是系统自带的gzexe程序。在运用中, gzexe  script.sh会把原来没有加密的文件备份为 script.sh~ ,同时 script.sh 即被变成加密文件。 gzexe  -d script.sh会解密还原脚本,所以只能够满足一般的加密用途。

看看下面的测试加密echo1脚本,脚本本来是输出111111,原来没有加密的文件备份为 echo1~,加密后脚本还是文本文件,打开后的脚本是加密后的,看不到原文信息了。  gzexe  -d echo1就可以还原,所以gzexe 只能用于一般的用途,可以对一般人员加密,遇到专业人士就就要露馅了。

gzexe是将脚本内容加密,加密后还是脚本的文本文件,而且加密后可以解除加密。

fae2e9b1d1f6

gzexe加密

fae2e9b1d1f6

gzexe  -d解除加密

2、shc打包二进制文件

在源中搜索软件:apt-cache search shc,显示shc为Shell script compiler,然后安装 apt-get install shc ,安装后程序放置于/usr/bin/shc。

shc把shell脚本封装为一个可执行的二进制文件,shc -h查看使用方法:

fae2e9b1d1f6

shc -v -r -f echo1 打包成echo1.x二进制文件,同时生成 echo1.x.c文件,这个为C语言文件。猜想这个工具是将shell脚本转为C语言,然后在打包成二进制文件。

如果打包不成功的话,shc -h最下面有environment环境要求,要在保证满足。

fae2e9b1d1f6

3、shc的反编译UnSHc

github上克隆:git clone https://github.com/yanncam/UnSHc.git,文件夹lastest中有个脚本unshc.sh可以完成反编译功能。

./unshc.sh -h查看使用方法,笔者使用sample里面的例程测试可以。但是笔者觉得这个工具意义不大,除非知道二级制文件是使用shc来编译的,不然反编译出来也不成功。反编译UnSHc对于开发人员来说作用不大。

fae2e9b1d1f6

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值