在linux如何将shell脚本进行加密【测试成功】

艺帆风顺 发布于 2025-04-03 23 次阅读


有时候出于保护脚本内容的目的,需要将shell脚本进行加密,有需要的朋友可以参考本文。

工具/原料

  •  linux

  • vim gzexe shc

一、vim加密

  1. 1

    本身shell脚本是文本文档,在使用vim进行编辑的时候,可以直接使用vim的加密方法。具体在编辑好shell脚本后,按大写的X,如下图所示。

  2. 2

    提示用户输入密码,直接输入密码,确认后加密完成了。

  3. 加密后的文件类型会提示用户是vim加密的。

  4. 要解密可以用vim打开文件,正确输入密码后,set key=的命令,将密码置空后,即可再行编辑或者保存后再次进行执行。

    END

二、gzexe加密

  1. 首先写一个计算100以内整数和的shell脚本做为实例。如下图所示,正常执行。

  2. 系统自带的gzexe命令直接进行加密压缩,如下图所示。

  3. 压缩成功后,用file命令查看一下文件类型,已经变成二进制格式的可执行文件了,如下图所示,同时两个文件都能正常运行。

  4. 解密也很简单,gzexe命令可以通过-d参数随时解压回原来的脚本内容,如下图所示。 

    END

三、shc加密

  1. 比gzexe更好一些的shell脚本加密工具是shc,它本身是一个脚本编译器,会生成c源码,便于修改。首先,安装shc工具,如下图所示:

  2. 安装成功后,直接执行如下命令:CFLAGS=-static shc -r -f t.shCFLAGS指明为static静态编译,因为默认生成的是动态库,在不同的系统可能运行不了。-r也是为了生成的脚本二进制可执行程序能在其它的电脑上运行,-f参数用于指明要编译的脚本文件。常用参数:-e date (指定过期日期)-m message (指定过期提示的信息)-f script_name(指定要编译的shell的路径及文件名)-r   Relax security. (可以在相同操作系统的不同系统中执行)-v   Verbose compilation(编译的详细情况)

  3. 这时候在目录中会生成一个t.sh.x的文件,这个是加密后的脚本文件,还有一个t.sh.x.c的文件,这是加密后的源文件代码,需要发送给别人,只需要将t.sh.x发送给对方即可。

  4. 如果后期需要一些修改,也可以自行修改t.sh.x.c的源码文件,本身就是是c语言代码,可以自己用gcc进行编译完成,如下图所示 :

    版权声明:本文内容来自百度经验:吉祥二进制,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。原文链接:https://jingyan.baidu.com/article/574c5219776fa06c8d9dc120.html如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。