Linux系统中Shell脚本使用Shc和gzexe加密/解密

本文共有1796个字,关键词:

许多Shell脚本中设置了重要的数据和密码,又想让这些数据和密码不会让别人轻易看到,我们可以通过gzexe、Shc两种加密方法对脚本加密。

使用gzexe加密
gzexe加密很简单,并且gzexe是系统自带,所以我们不需要安装任何东西,只要在SSH中输入gzexe 加密的脚本。
这里需要注意,需要把加密的脚本放在root目录下
例如我们需要对“2019.sh”这个脚本进行加密,那么代码是这样的

gzexe 2019.sh

加密以后2019.sh为加密后的文件,2019.sh~为加密前的文件
gzexe解密
命令为gzexe -d 2019.sh
代码为

gzexe -d 2019.sh

解密以后2019.sh为解密后的文件,2019.sh~为解密前的文件
SHC加密
首先先安装SHC

wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
tar -zvxf shc-3.8.9.tgz
mkdir -p /usr/local/man/man1
cd shc-3.8.9
make test
rpm -q gcc gcc-4.4.7-3.el6.x86_64
cp -av shc-3.8.9.c shc.c
make
make install//如果出现you want to continue? 请输入y
chmod +x /bin/shc
shc
cd

注意在上面的make install后面//注释部分删除掉
在SSH中输入需要加密的脚本命令(需要把加密文件放在root目录下)
命令:shc -r -f 2019.sh

shc -r -f 2019.sh

执行后生成两个文件,其中2019.sh为原文件,2019.sh.x为加密后的文件,2019.sh.c为C语言可执行的文件
Screenshot_2019-07-09-17-46-55-352_com.estrongs.android.pop.png
时效性加密
SHC可以设置时效性加密方法
以2019.sh为例

shc -e 09/07/2019 -m -f 2019.sh

选项“-e”指定过期时间,格式为“日/月/年”;选项“-m”指定过期后执行此Shell程序的提示信息。

如果在过期后执行,则会有如下提示

./abc.sh.x
./abc.sh.x: has expired!(文件已经过期)

使用以上方法要注意,需防止用户更改系统时间,可以通过在程序中加入自动更新系统时间的命令来解决此问题。
SHC解密
先下载安装unshc

yum -y install git
git clone https://github.com/yanncam/UnSHc.git

下载后使用命令进入解密的文件夹

cd UnSHc/latest

同时我们需要把SHC加密后的文件上传到root/UnSHc/latest目录下,上传以后以2019.sh.x为例

./unshc.sh 2019.sh.x

解密以后也会生成两个文件,其中2019.sh为解密后的文件,2019.sh.x为解密前的文件
IMG_20190709_180327.jpg

因为shc加密后并不是可执行的二进制文件,所以shc加密后还需要进行gzexe加密。同理,解密过程也是先解密gzexe后再解密shc

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

烟雨斜阳

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

版权声明:除了特殊说明以外,所有文章均为小新云博客原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论