shell脚本转换成二进制文件之shc命令安装使用1 min read

  • A+
所属分类:Linux运维

  

摘要:

    1. 本文shc命令CentOS6和CentOS7都可使用

    2. 安装shc命令依赖gcc编译器,如果没有请安装

  

    shc(generic shell script compiler)是一个专业的加密shell脚本的工具。它的作用是把shell脚本转换为一个可执行的二进制文件,这样可以很好地隐藏脚本中IP、密码、目录路径等敏感信息。

 

shc命令下载地址:http://www.datsi.fi.upm.es/~frosal/sources/

  

1.下载shc源码包:

wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz

    

2.创建一个安装临时目录 

mkdir -p /usr/local/man/man1
#说明:make install时会把man文件放入/usr/local/man/man1目录,如果该目录不存在需提前建好

   

3. 解压编译

tar xf shc-3.8.9.tgz
cd shc-3.8.9/
make       #不需要make test之类的操作,过不去,直接make和install即可
make install

   

4. 检查是否安装成功

which shc

   

5. 可以写一个简单的脚本进行测试

[root@zhaoyulin scripts]# cat test   #写好的shell脚本加不加执行权限都行,我这里没加
#!/bin/bash
echo 1 2 3 4 5
[root@zhaoyulin scripts]# shc -v -T -r -f test   #开始转换二进制
shc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc test.x.c -o test.x
shc: strip test.x
shc: chmod go-r test.x
#参数解释(光使用-v和-f即可):
    -r:放松安全。做一个二进制的可再发行执行在不同的系统上运行相同的操作
    -f:指定文件
    -T:允许二进制可追踪(使用:strace,ptrace,truss,等)
    -v:冗长的编译
    
[root@zhaoyulin scripts]# ll test*
-rw-r--r-- 1 root root    27 Mar 22 13:44 test        #原脚本
-rwx--x--x 1 root root 11032 Mar 22 14:11 test.x      #被转换成执行的二进制脚本
-rw-r--r-- 1 root root  9190 Mar 22 14:11 test.x.c    #生成的C源代码文件
[root@zhaoyulin scripts]# ./test.x   #执行测试
1 2 3 4 5

   

6. shc命令用法查看一下如下网址的shc.html文件即可

http://www.datsi.fi.upm.es/~frosal/sources/shc.html

https://www.linuxgogo.com/repodata/Source_code/CentOS_6/command/shc/

     


   

zhaoyulin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: