前言:
此时看官们对“二进制加密软件”可能比较重视,小伙伴们都想要知道一些“二进制加密软件”的相关资讯。那么小编同时在网上网罗了一些有关“二进制加密软件””的相关资讯,希望你们能喜欢,各位老铁们一起来学习一下吧!概述
以我个人的需求为例,有时写一个脚本需要传密码,如果直接把密码写在脚本里会存在安全问题,一般是把密码写在脚本里,作为参数传给脚本,而保存密码的脚本,使用某种手段加密,令其不可读但是可执行。而常用的shell加密方法有两种,一种是通过gzexe加密,另一种是通过shc加密。
一、gzexe
1、概念
Linux gzexe命令用于压缩执行文件。
gzexe是用来压缩执行文件的程序。当执行被压缩过的执行文件时,该文件会自动解压然后继续执行,和使用一般的执行文件相同。
gzexe加密很简单,并且gzexe是系统自带,所以不需要安装任何东西,只要在SSH中输入gzexe 加密的脚本。
2、gzexe加密
gzexe 脚本名
其中hwb.sh~ 是原文件 , hwb.sh 是压缩后的二进制文件
3、gzexe解密
gzexe但是通过gzexe加密的shell脚本并不是很安全,观察脚本可以看到内容中有一行叫skip=44,这一行非常重要,它告诉我们从第44行起才是原来压缩之前文件的内容,前面都是压缩软件附加上去的内容。虽然从44行往后面也全部都是乱码,我们也读不懂这些内容,但是gzip程序会告诉我们的。
首先我们把第44行以后的内容过滤出来生成一个.gz结尾文件,然后解压,文件内容就都出来了。
tail -n +44 hwb.sh > hwb.gz # 我们把第44行以后的文件写成一个.gz结尾的压缩文件gunzip hwb.gz # 解压生成的文件cat hwb # 解压后的文件和压缩文件同名--第二种方式gzexe -d hwb.sh
二、shc
1、安装shc
SHC官网地址:
--推荐编译指定版本wget vxf shc-3.8.9.tgzcd shc-3.8.9make testmake stringsmkdir -p /usr/local/man/man1/make install
2、shc加密
shc -r -f 脚本名
--运行后会生成两个文件,script-name.x 和 script-name.x.c
script-name.x是加密后的可执行的二进制文件,可重命名后运行.
script-name.x.c是生成script-name.x的原文件(c语言),基本没有作用,可以删除。
注意:如果脚本只需要在当前服务器上执行,可以不加参数-r,如果需要在别的系统下也能执行,这里就需要加-r
3、shc解密
项目地址:
git clone 脚本名
4、实例
4.1、加密
shc -r -f log_clean.sh
4.2、测试加密效果
可以发现已完成加密
4.3、解密
将unshc.sh文件和需要解密的shell脚本放在同一目录,然后终端在当前目录运行./unshc.sh shell文件名,如果可以解密的话就可以了
/home/scripts/UnSHc/latest/unshc.sh log_clean.sh.x
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!
标签: #二进制加密软件 #二进制加密软件有哪些