有时候出于保护脚本内容的目的,需要将shell脚本进行加密,有需要的朋友可以参考本文。
工具/原料
linux
vim gzexe shc
一、vim加密
1
本身shell脚本是文本文档,在使用vim进行编辑的时候,可以直接使用vim的加密方法。具体在编辑好shell脚本后,按大写的X,如下图所示。
2
提示用户输入密码,直接输入密码,确认后加密完成了。
加密后的文件类型会提示用户是vim加密的。
要解密可以用vim打开文件,正确输入密码后,set key=的命令,将密码置空后,即可再行编辑或者保存后再次进行执行。
END
二、gzexe加密
首先写一个计算100以内整数和的shell脚本做为实例。如下图所示,正常执行。
用系统自带的gzexe命令直接进行加密压缩,如下图所示。
压缩成功后,用file命令查看一下文件类型,已经变成二进制格式的可执行文件了,如下图所示,同时两个文件都能正常运行。
解密也很简单,gzexe命令可以通过-d参数随时解压回原来的脚本内容,如下图所示。
END
三、shc加密
比gzexe更好一些的shell脚本加密工具是shc,它本身是一个脚本编译器,会生成c源码,便于修改。首先,安装shc工具,如下图所示:
安装成功后,直接执行如下命令:CFLAGS=-static shc -r -f t.shCFLAGS指明为static静态编译,因为默认生成的是动态库,在不同的系统可能运行不了。-r也是为了生成的脚本二进制可执行程序能在其它的电脑上运行,-f参数用于指明要编译的脚本文件。常用参数:-e date (指定过期日期)-m message (指定过期提示的信息)-f script_name(指定要编译的shell的路径及文件名)-r Relax security. (可以在相同操作系统的不同系统中执行)-v Verbose compilation(编译的详细情况)
这时候在目录中会生成一个t.sh.x的文件,这个是加密后的脚本文件,还有一个t.sh.x.c的文件,这是加密后的源文件代码,需要发送给别人,只需要将t.sh.x发送给对方即可。
如果后期需要一些修改,也可以自行修改t.sh.x.c的源码文件,本身就是是c语言代码,可以自己用gcc进行编译完成,如下图所示 :
版权声明:本文内容来自百度经验:吉祥二进制,遵循CC 4.0 BY-SA版权协议上原文接及本声明。
本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
原文链接:https://jingyan.baidu.com/article/574c5219776fa06c8d9dc120.html
如有涉及到侵权,请联系,将立即予以删除处理。
在此特别鸣谢原作者的创作。
此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。