原来加密都是用shc来着,前些天看到用gzexe加密shell,说是防君子不防小人,又没说明怎么破解,今天试了一下,可以简单的还原出来!
加密:
[root@akin2 ~]# gzexe 1.sh
1.sh: 58.2%
解密:
[root@akin2 ~]# bash -x 1.sh
+ skip=14
++ /bin/mktemp -d /tmp/gzexe.XXXXXXXXXX
+ tmpdir=/tmp/gzexe.NmblL23199
++ echo 1.sh
++ sed 's|^.*/||'
+ prog=/tmp/gzexe.NmblL23199/1.sh
+ /usr/bin/tail -n +14 1.sh
+ /bin/gzip -cd
+ /bin/chmod 700 /tmp/gzexe.NmblL23199/1.sh
+ trap '/bin/rm -rf $tmpdir; exit $res' EXIT
+ /tmp/gzexe.NmblL23199/1.sh
Usage: /tmp/gzexe.NmblL23199/1.sh {start|stop|reload|configtest}
+ res=2
+ exit 2
+ /bin/rm -rf /tmp/gzexe.NmblL23199
+ exit 2
第14行开始,应该就是真实的压缩文件了,
/usr/bin/tail -n +14 1.sh >/tmp/1.gz
cd /tmp/1.gz
gunzip 1.gz
对比一下两个文件是不是一样吧
[root@akin2 tmp]# diff /root/1.sh~ /tmp/1
没输出,内容是一样的!
文章来源:http://blog.chinaunix.net/xmlrpc.php?r= ... id=3225107
加密:
[root@akin2 ~]# gzexe 1.sh
1.sh: 58.2%
解密:
[root@akin2 ~]# bash -x 1.sh
+ skip=14
++ /bin/mktemp -d /tmp/gzexe.XXXXXXXXXX
+ tmpdir=/tmp/gzexe.NmblL23199
++ echo 1.sh
++ sed 's|^.*/||'
+ prog=/tmp/gzexe.NmblL23199/1.sh
+ /usr/bin/tail -n +14 1.sh
+ /bin/gzip -cd
+ /bin/chmod 700 /tmp/gzexe.NmblL23199/1.sh
+ trap '/bin/rm -rf $tmpdir; exit $res' EXIT
+ /tmp/gzexe.NmblL23199/1.sh
Usage: /tmp/gzexe.NmblL23199/1.sh {start|stop|reload|configtest}
+ res=2
+ exit 2
+ /bin/rm -rf /tmp/gzexe.NmblL23199
+ exit 2
第14行开始,应该就是真实的压缩文件了,
/usr/bin/tail -n +14 1.sh >/tmp/1.gz
cd /tmp/1.gz
gunzip 1.gz
对比一下两个文件是不是一样吧
[root@akin2 tmp]# diff /root/1.sh~ /tmp/1
没输出,内容是一样的!
文章来源:http://blog.chinaunix.net/xmlrpc.php?r= ... id=3225107