<返回更多

shell脚本明文不安全,这样做,两步安全加密

2019-09-25    
加入收藏

前段时间公司项目中,需要给我们合作公司一个批量改数据的linux shell脚本,但是shell脚本是明文的代码,出于安全考虑(其实是不想让他们知道我们改的哪的数据),不能将明文脚本给合作公司,于是我找了两种给shell脚本加密的方法,现在分享给大家。

shell脚本明文不安全,这样做,两步安全加密

 

gzexe

linux系统一般自带一款加密工具gzexe,但是这个工具可以还原出出加密后的shell脚本(不建议使用)

我们先创建一个简单的测试脚本test.sh,输出1-5数字,内容如下:

shell脚本明文不安全,这样做,两步安全加密

 

使用gzexe对脚本加密,我们先看下gzexe的帮助

shell脚本明文不安全,这样做,两步安全加密

 

从帮助可以看出加【-d】参数可以解密,我们先对 test.sh脚本进行加密,在当前目录会自动备份原来的脚本为 filename.sh~

#gzexe test.sh
shell脚本明文不安全,这样做,两步安全加密

 

因为加密后的脚本会有乱码,我们用二进制对比下加密前和加密后的脚本,从打印看加密前后已经发生了变化,执行加密后的脚本可以顺利打印1-5数字。

shell脚本明文不安全,这样做,两步安全加密

 

我们再还原看下效果:

#gzexe -d test.sh
shell脚本明文不安全,这样做,两步安全加密

 


shc

shc工具c写一个脚本加密工具,加密后的脚本会变成二进制可执行程序

首先我们进行下载,并进行编译安装

#wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
#tar -zxvf shc-3.8.9.tgz
#cd shc-3.8.9
#make
shell脚本明文不安全,这样做,两步安全加密

 

我们可以看到编译后在当前目录生成了shc可执行程序,我们看下shc的帮助

shell脚本明文不安全,这样做,两步安全加密

 

shc的参数还挺多,拷贝shc到test.sh目录,使用参数显示shc加密的整个过程,

#cp ./shc-3.8.9 ..
#mv ..
#./shc ./shc -v -r -T -f test.sh
shell脚本明文不安全,这样做,两步安全加密

 

从加密的过程看到,shc先将test.sh脚本转换成C代码test.sh.x.c,然后调用linux的gcc 对test.sh.x.c进行编译,并生成了 test.sh.x 文件

shc: cc test.sh.x.c -o test.sh.x

我们来对比下原始脚本和编译后的二级制文件,并执行二进制文件

shell脚本明文不安全,这样做,两步安全加密

 

从上面的输出结果,可以看出编译后的test.sh.x程序完全变成二进制,在右侧看出跟脚本有关的字符串,执行结果也是正确的。

结论

从以上的两个工具对比,我还是推荐使用shc来对脚本加密,加密后完全二进制字符,想破解也不是很简单的。

以上文章是个人原创,如果有不同的见解欢迎批评指正,喜欢我的文章可以关注我。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>