Linux下Shell加密-shc脚本加密

2021-01-06 17:12:24 浏览数 (1)

今天在LInux了接触到一个命令:“shc”,以前还真没遇到过,这个也不是内置的 ,不过挺有意思的 记录一下

这个是一个专门给shell脚本进行二进制加密的一个小程序,安装的话

直接

代码语言:javascript复制
yum install shc

当然也可以源码安装

https://github.com/neurobin/shc

代码语言:javascript复制
./configure
make
sudo make install

下面看下一些命令

代码语言:javascript复制
shc Version 4.0.3, Generic Shell Script Compiler
shc GNU GPL Version 3 Md Jahidul Hamid <jahidulhamid@yahoo.com>
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-o outfile] [-rvDSUHCABh] -f script

    -e %s  Expiration date in dd/mm/yyyy format [none]
    -m %s  Message to display upon expiration ["Please contact your provider"]
    -f %s  File name of the script to compile
    -i %s  Inline option for the shell interpreter i.e: -e
    -x %s  eXec command, as a printf format i.e: exec('%s',@ARGV);
    -l %s  Last shell option i.e: --
    -o %s  output filename
    -r     Relax security. Make a redistributable binary
    -v     Verbose compilation
    -S     Switch ON setuid for root callable programs [OFF]
    -D     Switch ON debug exec calls [OFF]
    -U     Make binary untraceable [no]
    -H     Hardening : extra security protection [no]
           Require bourne shell (sh) and parameters are not supported
    -C     Display license and exit
    -A     Display abstract and exit
    -B     Compile for busybox
    -h     Display help and exit

    Environment variables used:
    Name    Default  Usage
    CC      cc       C compiler command
    CFLAGS  <none>   C compiler flags
    LDFLAGS <none>   Linker flags

    Please consult the shc man page.

举个例子:

编写一个hello.sh

代码语言:javascript复制
#!/bin/bash
echo "helloWorld"

加密:

代码语言:javascript复制
shc -r -f hello.sh

会生成几个文件

代码语言:javascript复制
[root@VM-88-103-centos ~/tmp/shc]# ls
hello.sh  hello.sh.x  hello.sh.x.c

其中hello.sh.x 是可执行二进制文件,直接复制给其他人就可以直接使用了

代码语言:javascript复制
[root@VM-88-103-centos ~/tmp/shc]# ./hello.sh.x 
helloWorld

而hello.sh.x.c 是c源码 这里就不贴了

二进制文件是不可查看的,所以有些脚本要给别人用,但是不想源码开放的话可以用这个工具

0 人点赞