linux如何将shell脚本进行加密

发布于 2020-11-03  755 次阅读


deepin linux如何将shell脚本进行加密
https://jingyan.baidu.com/article/574c5219776fa06c8d9dc120.html

自己的实验的文章

https://blog.csdn.net/qq_35603331/article/details/83793475

使用shc的时候,报错:

/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status

--解决:解决方法:yum install glibc-static

工具/原料

  • deepin linux
  • vim gzexe shc

一、vim加密

  1. 1

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

    deepin linux如何将shell脚本进行加密
  2. 2

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

    deepin linux如何将shell脚本进行加密
  3. 3

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

    deepin linux如何将shell脚本进行加密
  4. 4

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

    deepin linux如何将shell脚本进行加密
    END

二、gzexe加密

  1. 1

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

    deepin linux如何将shell脚本进行加密
  2. 2

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

    deepin linux如何将shell脚本进行加密
  3. 3

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

    deepin linux如何将shell脚本进行加密
  4. 4

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

    deepin linux如何将shell脚本进行加密
    END

三、shc加密

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

    deepin linux如何将shell脚本进行加密
  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(编译的详细情况)

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

    deepin linux如何将shell脚本进行加密
  4. 4

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

    deepin linux如何将shell脚本进行加密