当前位置: 首页 >> Shell >> 【加密】gzexe 助shell脚本加密01 >> 正文

【加密】gzexe 助shell脚本加密01

2016年06月07日 15:37:23    作者:Jiaozn    分类:Shell     评论(0)

一、  简介

很多时候我们的脚本会涉及到一些私密的信息,例如:用户名,密码,或者其它重要信息的时候,我们使用一些加密的手段来屏蔽这些信息,确保系统的安全已经脚本的可流传性,通常情况下我们只需要通过系统自带的gzexe这个工具就够了。

二、         实验测试开始:

[python] view plain copy print?在CODE上查看代码片派生到我的代码片

 2.1 编写一个用于测试的脚本  

[root@woo ~]# vi woo.sh  

#! /bin/ksh  

echo 'PrudentWoo'' '`date +%Y-%m-%d' '%T`  

uptime  

  

2.2 赋予可执行权限,并执行  

[root@woo ~]# chmod +x woo.sh  

[root@woo ~]# ./woo.sh  

PrudentWoo 2014-12-30 22:13:27  

 22:13:27 up 10 days, 23:03,  3 users,  load average: 0.00, 0.01, 0.05  

  

  

2.3 执行gzexe加密操作  

[root@woo ~]# gzexe woo.sh  

woo.sh:  11.5%  

[root@woo ~]# ll woo.s*  

-rwxr-xr-x 1 root root 888 Dec 30 22:15 woo.sh  

-rwxr-xr-x 1 root root  61 Dec 30 22:11 woo.sh~  

[root@woo ~]#  

  

2.4 加密后的文件内容  

[root@woo ~]# strings  woo.sh  

#!/bin/sh  

skip=44  

tab='   '  

nl='  

IFS=" $tab$nl"  

umask=`umask`  

umask 77  

gztmpdir=  

trap 'res=$?  

  test -n "$gztmpdir" && rm -fr "$gztmpdir"  

  (exit $res); exit $res  

' 0 1 2 3 5 10 13 15  

if type mktemp >/dev/null 2>&1; then  

  gztmpdir=`mktemp -dt`  

else  

  gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir  

fi || { (exit 127); exit 127; }  

gztmp=$gztmpdir/$0  

case $0 in  

-* | */*'  

') mkdir -p "$gztmp" && rm -r "$gztmp";;  

*/*) gztmp=$gztmpdir/`basename "$0"`;;  

esac || { (exit 127); exit 127; }  

case `echo X | tail -n +1 2>/dev/null` in  

X) tail_n=-n;;  

*) tail_n=;;  

esac  

if tail $tail_n +$skip <"$0" | gzip -cd > "$gztmp"; then  

  umask $umask  

  chmod 700 "$gztmp"  

  (sleep 5; rm -fr "$gztmpdir") 2>/dev/null &  

  "$gztmp" ${1+"$@"}; res=$?  

else  

  echo >&2 "Cannot decompress $0"  

  (exit 127); res=127  

fi; exit $res  

woo.sh  

(*MI  

WWWPOHI,IU  

  

2.5 再次执行加密后的文件,输出结果一样  

[root@woo ~]# ./woo.sh  

PrudentWoo 2014-12-30 22:17:22  

 22:17:22 up 10 days, 23:06,  3 users,  load average: 0.00, 0.01, 0.05  

[root@woo ~]#  

  

2.6 执行解密操作:  

[root@woo ~]# gzexe -d woo.sh  

[root@woo ~]# cat woo.sh  

#! /bin/ksh  

echo 'PrudentWoo'' '`date +%Y-%m-%d' '%T`  

uptime  

[root@woo ~]#  

  

2.7 再次执行确认,加密解密都是可行的:  

[root@woo ~]# ./woo.sh  

PrudentWoo 2014-12-30 22:19:50  

 22:19:50 up 10 days, 23:09,  3 users,  load average: 0.00, 0.01, 0.05  

[root@woo ~]#  


除非注明,发表在“Jiaozn的博客”的文章『【加密】gzexe 助shell脚本加密01』版权归Jiaozn所有。 转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://jiaozn.com/reed/303.html

评论

发表评论   

昵称*

E-mail*

网站