Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • Linux网站汇总
  • Shell使用详解
  • 自动化运维脚本集合
  • 模拟占用磁盘内存CPU
  • Linux释放缓存
  • Linux监控进程磁盘邮件预警
  • 《Nginx教程》笔记
  • Linxu服务器文件双向同步-rsync+sersync
  • Linux文件清空的几种方法
  • Linux日志自动清理方案
  • Linux执行脚本加密
    • SHC - 加密等级高
      • 通过yum安装
      • 通过下载源码安装
      • 1 安装gcc及make,已安装的可略过,命令如下
      • 2 下载并编译安装shc-4.0.3
      • 3 进入shc压缩包所在目录,并解压包
      • 4 进入已解压目录并进行编译安装,编译安装全默认即可,并不需要创建任何目录,命令如下
      • 5 安装完成
      • 使用脚本
    • gzexe - 加密等级低
  • Linux安装包制作
  • Crontab详解
  • Linux上传下载百度网盘文件
  • 内网穿透
  • 内网穿透-无需公网服务器
  • 一文搞定Jenkins自动化部署程序
  • Linux配置代理请求
  • Linux监控之夜莺
  • Proxmox安装
  • Proxmox创建CentOS虚拟机
  • Proxmox创建Windows虚拟机
  • Debian系统安装OpenVPN
  • Docker快速部署OpenVPN
  • 用户登录时执行检查脚本
  • 一键配置Linux镜像源
  • RustScan端口扫描
  • 前置机、堡垒机、跳板机区别
  • Linux添加回收站功能
  • Linux系统详细信息监控-Grafana+Prometheus
  • 再见XShell:轻量又高性能的SSH工具AI加持快人一步
  • Unbuntu安装deb文件
  • Ubuntu远程连接时分辨率问题
  • Ubuntu中Clash报错
  • Linux可视化监控
  • Vim复制自动缩进问题处理
  • 无所不能的BusyBox:如何用它打造极小的Linux环境
  • 运维
Jast-zsh
2023-10-08
目录

Linux执行脚本加密

# Shell脚本加密

[toc]

# SHC - 加密等级高

注意:

  • CentOS7与CentOS8生成的脚本不通用,在哪个版本生成,在哪个版本使用

# 通过yum安装

  • 安装shc工具

    yum install -y shc
    
    1

# 通过下载源码安装

# 1 安装gcc及make,已安装的可略过,命令如下

yum -y install gcc make

# 2 下载并编译安装shc-4.0.3

因为是在GitHub上下载,所以你懂得,需要你用科学方法下来后,再传到需要安装的主机上,已附下载地址。 shc-4.0.3下载地址:https://github.com/neurobin/shc/archive/refs/tags/4.0.3.tar.gz

# 3 进入shc压缩包所在目录,并解压包

tar -xzvf shc-4.0.3.tar.gz

# 4 进入已解压目录并进行编译安装,编译安装全默认即可,并不需要创建任何目录,命令如下

cd shc-4.0.3
./configure && make install
1
2

# 5 安装完成

# 使用脚本

  • 创建一个shell脚本

    [root@jast ~]# vim test-shc.sh
    
    #!/bin/sh
    echo `date`
    
    1
    2
    3
    4
  • 生成加密脚本

    [root@10 ~]# shc -v -f test-shc.sh 
    shc shll=sh
    shc [-i]=-c
    shc [-x]=exec '%s' "$@"
    shc [-l]=
    shc opts=
    shc: cc   test-shc.sh.x.c -o test-shc.sh.x
    shc: strip test-shc.sh.x
    shc: chmod ug=rwx,o=rx test-shc.sh.x
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    查看生成文件

    [root@10 ~]# ll
    total 36
    -rw-r--r-- 1 root root    22 May 26 14:52 test-shc.sh
    -rwxrwxr-x 1 root root 11120 May 26 14:52 test-shc.sh.x
    -rw-r--r-- 1 root root 17592 May 26 14:52 test-shc.sh.x.c
    
    1
    2
    3
    4
    5
  • shc.sh 是原始的未加密shell脚本
  • shc.sh.x 是二进制格式的加密shell脚本
  • shc.sh.x.c 是shc.sh文件的C源代码。编译该C源代码以创建上面的加密的welcome.sh.x文件

查看文件类型

[root@10 ~]# file test-jast.sh
test-jast.sh: POSIX shell script, ASCII text executable
[root@10 ~]# file test-jast.sh.x
test-jast.sh.x: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=65a9d57e8eb0a24f4a000fe680e030dbc23468f6, stripped
[root@10 ~]# file test-jast.sh.x.c
test-jast.sh.x.c: C source, ASCII text
1
2
3
4
5
6
  • 执行生成的加密文件

    [root@10 ~]# ./test-jast.sh.x 
    Thu May 26 14:56:30 CST 2022
    
    1
    2
  • 指定脚本过期时间,并设置提示信息

    shc -e 06/10/2023 -m "error" -v -f test-jast.sh 
    
    1

执行脚本

[root@10 ~]# ./test-jast.sh.x                                
./test-jast.sh.x: has expired!
error
1
2
3

不指定-m默认提示

[root@10 ~]# ./test-jast.sh.x ./test-jast.sh.x: has expired! Please contact your provider jahidulhamid@yahoo.com

# gzexe - 加密等级低

gzexe:系统自带,无需另外安装,加密解密简单,适用于安全性不高的文件加密,支持除shell脚本外的其他文本加密。

gzexe加密/解密用法:

  • 加密

    # 加密后会将源文件改名为 xxx.sh~
    gzexe xxx.sh 
    
    1
    2
  • 解密

    # 解密后会将源文件改名为 xxx.sh~
    gzexe -d Script-name.sh
    
    1
    2
上次更新: 2024/08/03, 21:00:06
Linux日志自动清理方案
Linux安装包制作

← Linux日志自动清理方案 Linux安装包制作→

最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式