摘要:

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

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

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

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文件即可

java运行gogo shell,shell脚本转换成二进制文件之shc命令安装使用相关推荐

  1. shell 实现txt转换成html

    原理: awk命令,分割格式化的txt(txt文件格式以"|"分割开的)成数组,然后拼接成html格式(html - head - title - body - table) sh ...

  2. 一个java的DES加解密类转换成C#

    原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util;import java.security.*; //im ...

  3. java 项目 gbk 转utf-8_[idea]Java的GBK编码项目统一转换成utf-8格式

    Java的GBK编码项目统一转换成utf-8格式 0. 直接运行jar包 java -jar GBK2UTF8.jar 1. 构建 原理 使用common io批量将java编码从GBK转UTF-8 ...

  4. MySQL脚本转换成SQLSERVER脚本

    navicat----工具----数据传输,将MYSQL脚本转换成SQLSERVER

  5. vue3+axios:图片链接转换成二进制文件流后并提交服务器

    一.基本思路 1.使用Image类创建一个新的图片. 2.将图片转换成base64. 3.将base64图片使用File类转换成二进制文件流 4.将二进制文件流使用 FormData类转换成binar ...

  6. 如何将caj转换成PDF且不另外安装其他软件

    经常接触文献的小伙伴们对于caj格式肯定非常熟悉了,但如果将CAJ转成PDF总是需要下载各种软件,不仅会捆绑安装一堆乱七八糟的东西,有时转换还未必能成功,那么是否有不用安装其他软件就能将CAJ转PDF ...

  7. shell中将字符串转换成数字

    我有一个字符串"96.56",怎样才能将它转换成一个小数,或者是一个整数96也行. shell中无需转换,可以直接用作数字. 转换成整数: # echo "96.56&q ...

  8. Java使用aspse实现Excel文件转换成PDF文件

    使用Java代码把Excel文件转换成PDF文件 需要引用aspose包,引入操作我写了一个博客,地址如下 https://blog.csdn.net/weixin_46713508/article/ ...

  9. Java中怎样将Json字符串转换成实体类

    场景 在Java中调用接口获取Json数据后,怎样转换成对应的实体类进行接受与存储. 实现 打开浏览器输入在线Json格式化,这里推荐使用: http://www.bejson.com/ 选择Json ...

最新文章

  1. 2021计算机技能高考考纲,2021年湖北省技能高考技能考试大纲(机械类).pdf
  2. retinaface人脸姿态
  3. Java Script 学习笔记(一)
  4. [转]Joomla! 1.5中form表单的实现方式
  5. linux开源软件经验,Ubuntu Linux经验汇总
  6. 最小生成树Prim算法和Kruskal算法
  7. mysql max datetime_MYSQL在联接语句中选择MAX日期
  8. JAVA的字符串拼接与性能
  9. 搭建AD域环境时出现错误,未能为域创建GPO 出现扩展错误解决办法
  10. 剑指offer面试题66. 构建乘积数组
  11. oracle数据库xsb创建,在Linux下安装oracle数据库
  12. C++ UNICODE 文件读写相关
  13. 大数据服务器环境准备(三台服务)
  14. ALVA Systems发布AR新品 倪光南院士致辞
  15. Windows证书对话框权限提升漏洞-CVE-2019-1388
  16. 最优化问题——线性规划模型
  17. 对于K 均值聚类的尝试
  18. iOS - 接入 Live2D
  19. 标准C函数库头文件、POSIX标准库头文件和Windows API函数库头文件说明
  20. 强大的CSS:颜色、背景和剪切

热门文章

  1. 成都Web前端培训课程都学习什么内容?
  2. springboot服务使用策略模式
  3. Oracle中连接本地ORCL数据库
  4. 纯电阻电路的分析方法——回路电流法
  5. 浪子回头之邱关源第五版P76_3_10回路电流法multisim方正及matlab解法
  6. Spring循环依赖解决思路
  7. [Android] Surface、SurfaceHolder与SurfaceView
  8. WEB 面试题(五) ASP.NET 基础
  9. Nvidia Tesla和Quadro、GeForce的区别
  10. hdu 3833 YY's new problem