SHELL脚本加密

释放双眼,带上耳机,听听看~!

一、背景介绍

DBA日常更新insert|update较多,耽误很多时间。开发出工具虽然对脚本内用户密码进行了加密加严操作,但是仔细查询内部逻辑还是可能泄露密码的,今天用gzexe方式对shell脚本加密。

二、开始测试


1
2
11.找一个测试脚本执行。(线上脚本内容不便公布,自行编写测试脚本。)
2

SHELL脚本加密


1
2
3
4
5
6
7
12.进行加密操作
2[root@]#gzexe Automatic_update.sh
3Automatic_update.sh:    63.0%
4[root@]#ls
5Automatic_update.sh  Automatic_update.sh~  bak  conf  SelectDBname.sh  sh_lib
6
7

 

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
13.加密后的脚本内容
2[root@ ]#cat Automatic_update.sh
3#!/bin/sh
4skip=44
5
6tab=' '
7nl='
8'
9IFS=" $tab$nl"
10
11umask=`umask`
12umask 77
13
14gztmpdir=
15trap 'res=$?
16  test -n "$gztmpdir" && rm -fr "$gztmpdir"
17  (exit $res); exit $res
18' 0 1 2 3 5 10 13 15
19
20if type mktemp >/dev/null 2>&1; then
21  gztmpdir=`mktemp -dt`
22else
23  gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir
24fi || { (exit 127); exit 127; }
25
26gztmp=$gztmpdir/$0
27case $0 in
28-* | */*'
29') mkdir -p "$gztmp" && rm -r "$gztmp";;
30*/*) gztmp=$gztmpdir/`basename "$0"`;;
31esac || { (exit 127); exit 127; }
32
33case `echo X | tail -n +1 2>/dev/null` in
34X) tail_n=-n;;
35*) tail_n=;;
36esac
37if tail $tail_n +$skip <"$0" | gzip -cd > "$gztmp"; then
38  umask $umask
39  chmod 700 "$gztmp"
40  (sleep 5; rm -fr "$gztmpdir") 2>/dev/null &
41  "$gztmp" ${1+"$@"}; res=$?
42else
43  echo >&2 "Cannot decompress $0"
44  (exit 127); res=127
45fi; exit $res                                                                                                                                                          ~1±Automatic_update.shԖ[O~߽ScRem¯
46ֻm҈RڄRZ5R!Q£^͟)»§?Lܔj#YZϙ?fN֫ɂ¬%
47~?­?ؼµ#®ƚ®n¸ګ髜{n�ꬬSu?¶q??ᐻ¿׆IJ!ȖUVĉǐ$¬2¨«l؄´d]>b٢£6?¼ݳh±¬G ?¹9©+De"NCUwL0±mDz±r­2ª
48                                          ?
49읾鞝?ˢ¦]
50<\¼]&Z#¦-Q%E-d配P05Ϥ¸毼1:쮟<ݼ�¼®̻�°p·þ̮鱐³½5x¼¬k4G-3Ƨ²w??m={)5ƲWٮuaª⡜xp
51±vņr#¹\
52       Ϻ$$½5Gtڱ@
53#?¶˗惸??eَS䛢¤£e¨v³¤▯G%=PD?¡?Gz:Q¥誎?þ(¼ғǂ>>ȵ%̐5LNQ¦E٨✒EޑlZ?HJOV¤T ªO*r!)陑.QbȚ5畒­Z%!K1©TʓR| _R!e
54߫알®?N%\¹7a=¹y XБ v*;ן²ʨKeª·k¤5²ـK§*،¿2#?텗%3%
55                                            ª(֐§e5avº¯¦¬¡¿ٝs4¹5R2
56                                                                ݝº\?
57tі=g轺gL8ÿ¢ɾ?岙X?   Zºc?¦7
58                              ᰹¥A?ٔ듊?ҵ[m?ޢ?<?¿Dz~®YFL\T¥>ʑɷ?¾2
59
60                                                              @,?
61                                                                 ?S(Ywﺙ??I?½/y̛º£
62??ȴ Ύ]>©¦/?ɷfrþ
63               Ǡڃ   ¯ۂ׈HBVZHϛˡ?¦īoC(
64²";£(mҳƷ*ğ쑿
65ǽþ?l0?½똸윴¡½9˵¯B?¡? Dφ
66              ߪ»?ÿy³¾෠岨Chιٿ¡o¾
67
68

 


1
2
3
14.再次执行内容不变,并确认加参数一样可以执行。
2
3

SHELL脚本加密


1
2
3
4
5
15.进行解密
2gzexe -d Automatic_update.sh
3查看确认脚本内容无误
4
5

1
2
3
4
16.再次执行确认,发现完全没问题。
2#另外一种shell加密方式shc,自行研究。
3
4

给TA打赏
共{{data.count}}人
人已打赏
安全技术安全运维

Windows服务器如何发现被黑

2018-5-20 12:24:31

安全技术

bootstrap栅格系统自定义列

2021-12-21 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索