Linux的Shell脚本加密


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

文章目录

  • Linux的Shell脚本加密
    • @[toc]
    • 前言
    • 1.Shc的安装
    • 2.Shc参数简介
      • 2.1 常用参数
      • 2.2 详细参数
    • 3.Shc的使用
      • 3.1 编译为二进制
      • 3.2 编译为二进制,并重命名输出文件
      • 3.3 设置时间限制
      • 3.4 跨操作系统静态编译,并重命名输出文件
    • 4.其他
      • 4.1 cannot find -lc
      • 4.2 反编译为Shell脚本

相关问题:
1.linux脚本加密
2.脚本二进制化
3.同架构跨操作系统二进制脚本

相关文章:
glibc-static安装
Linux Shell


前言

Linux Shell脚本简单,易用,功能强大。但是,由于其基于类似文本的编写方式,导致其容易泄露敏感信息。因此,对于Shell脚本的加密也是一个重要的需求。

本文将介绍一款Shell加密工具Shc。它可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。

1.Shc的安装

官网 : https://neurobin.org/projects/softwares/unix/shc/

Github : https://github.com/neurobin/shc

源码编译:

./configure
make
sudo make install

2.Shc参数简介

2.1 常用参数

  • -f %s 需要编译的脚本文件名称
  • -o %s 输出文件名称
  • -r 宽松的安全性,可以制作可发行的二进制。同架构不同操作系统运行需要使用该参数
  • -e %s dd/mm/yyyy格式的脚本过期日期
  • -m %s 过期之后显示的信息
  • -v 显示编译详细过程

2.2 详细参数

$ shc -hshc 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 exitEnvironment variables used:Name    Default  UsageCC      cc       C compiler commandCFLAGS  <none>   C compiler flagsLDFLAGS <none>   Linker flagsPlease consult the shc man page.

3.Shc的使用

示例文件 a.sh

#!/bin/bashecho 'hello'

3.1 编译为二进制

shc -f a.sh

3.2 编译为二进制,并重命名输出文件

shc -f a.sh  -o a.bin

3.3 设置时间限制

shc -f a.sh -e 04/02/2020 -m '过期了'

3.4 跨操作系统静态编译,并重命名输出文件

CFLAGS=-static shc -r -f a.sh -o a.bin

注意: -r参数对于同架构不同操作系统的运行很重要

查看静态二进制信息

$ file a.bin a.bin: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=4064d60d8ae7a4ab39daa93fc62cf4f8f17d55da, stripped
$ ldd a.bin 不是动态可执行文件

4.其他

4.1 cannot find -lc

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

安装glic-static(libc.a)即可

4.2 反编译为Shell脚本

https://github.com/yanncam/UnSHc


License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎


Reference:
NULL

Linux的Shell脚本加密相关推荐

  1. Linux环境下脚本加密软件SHC的解密方法

    Linux环境下脚本加密软件SHC的解密方法 2016/08/06:更新一个新的解密脚本 https://github.com/yanncam/UnSHc 自从我在博客里面发布了一些免流相关的东西之后 ...

  2. shc加密(仅仅对shell脚本加密)

    shc加密(仅仅对shell脚本加密) shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP. 密码等不希望公开的问题 ...

  3. linux shell脚本攻略_(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤...

    今天为大家带来的内容是:(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤 本文内容主要介绍了Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤,文章 ...

  4. Linux环境Shell脚本上传下载阿里云OSS文件

    为什么80%的码农都做不了架构师?>>>    Linux环境Shell脚本上传下载阿里云OSS文件 背景 工作中由于我们项目生成的日志文件比较重要,而本地磁盘空间有限存储不了多久, ...

  5. 详解Linux交互式shell脚本中创建对话框实例教程

    详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...

  6. Linux的shell脚本实战之while循环

    Linux的shell脚本实战之while循环 一.使用while循环计算 1.计算从1加到100之和 2.计算1-2+3-4+5....-100的值 二.while语句的三种方式 1.通过输入重定向 ...

  7. Linux下Shell脚本实战之监测磁盘空间

    Linux下Shell脚本实战之监测磁盘空间 一.脚本目的及要求 二.脚本内容 三.运行脚本 一.脚本目的及要求 (1) 监控/home下每各个用户目录的占用磁盘大小 (2) 监控/var/log下前 ...

  8. Linux下shell脚本之双色球摇号脚本

    Linux下shell脚本之双色球摇号脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.编写脚本Lottery.sh,模拟摇号过程 2.6位数 ...

  9. Linux下shell脚本实战之批量新建用户

    Linux下shell脚本实战之批量新建用户 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.使用提供的user.txt用户列表 2.批量新建us ...

最新文章

  1. 【青少年编程】【三级】克隆猫游戏
  2. 快速搭建ELK,以及简单故障处理
  3. CentOS6.5 缺少 libstdc++.so.6(GLIBCXX_3.4.15)
  4. css中属性兼容性写法,CSS3兼容属性和标准属性的书写顺序
  5. 前端学习(2563):如何触发组件更新
  6. HTML窗口与对话框
  7. sql 左侧要固定最近一周的周四 怎么写_数据与IT人怎么提高公司地位,避免被业务当工具人?...
  8. mmlspark-101: TrainClassifier
  9. 神经网络(单层感知器)
  10. pandas_计算年化收益率
  11. 红米note2卡在android,红米note2怎么插卡?红米note2插卡流程详解
  12. html分列代码,实现分列的两段excel vba 分列代码
  13. 河南省第四届”金盾信安杯”网络安全大赛writeup(过程,解题思路)
  14. Qt OpenGL(08)通过递归细分正二十面体逼近球面
  15. 网页设计项目5穿搭速递_小个子穿搭指南,学以下六种服装的穿搭超时髦,轻松驾驭各种风格...
  16. NAT、SNAT、DNAT
  17. 面试前端的简历的注意事项
  18. python第二周day2
  19. 凌恩客户文章:多组学揭示肥胖多囊卵巢综合征(PCOS)患者发病机制
  20. 向着第二层 第一阶段第四天

热门文章

  1. 每日题(js):数组去重,数组排序
  2. i.MX 8M Mini——四核Cortex-A53+Cortex-M4多核CPU如何实现工控
  3. 人人视频android资源比ios多,尼墨视频Nemo:一款不掉证书的IOS与Android通用的追剧神器 | 闲一鱼博客...
  4. 神无月服务器今日维修,2.12神无月全区全服服务器(除了已更新的服务器)更新公告...
  5. 计算机应用基础课程学生学习方法,计算机应用基础课程教学研究
  6. BERT的[CLS]有什么用
  7. 小学语文阅读答题技巧
  8. 关于DNF在运行过程中,短时间内蓝屏的缓解办法
  9. 【吐血整理】Hibernate常用的主键生成策略的原理、优缺点、应用场合
  10. ASUS华硕天选2笔记本电脑FA506IC4800原装出厂Windows11系统恢复原厂OEM系统