龙空技术网

详解shell脚本加密解密软件—gzese和shc

波波说运维 1561

前言:

此时看官们对“二进制加密软件”可能比较重视,小伙伴们都想要知道一些“二进制加密软件”的相关资讯。那么小编同时在网上网罗了一些有关“二进制加密软件””的相关资讯,希望你们能喜欢,各位老铁们一起来学习一下吧!

概述

以我个人的需求为例,有时写一个脚本需要传密码,如果直接把密码写在脚本里会存在安全问题,一般是把密码写在脚本里,作为参数传给脚本,而保存密码的脚本,使用某种手段加密,令其不可读但是可执行。而常用的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方面内容,感兴趣的朋友可以关注下!

标签: #二进制加密软件 #二进制加密软件有哪些