Linux的Shell脚本加密
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脚本加密相关推荐
- Linux环境下脚本加密软件SHC的解密方法
Linux环境下脚本加密软件SHC的解密方法 2016/08/06:更新一个新的解密脚本 https://github.com/yanncam/UnSHc 自从我在博客里面发布了一些免流相关的东西之后 ...
- shc加密(仅仅对shell脚本加密)
shc加密(仅仅对shell脚本加密) shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP. 密码等不希望公开的问题 ...
- linux shell脚本攻略_(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤...
今天为大家带来的内容是:(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤 本文内容主要介绍了Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤,文章 ...
- Linux环境Shell脚本上传下载阿里云OSS文件
为什么80%的码农都做不了架构师?>>> Linux环境Shell脚本上传下载阿里云OSS文件 背景 工作中由于我们项目生成的日志文件比较重要,而本地磁盘空间有限存储不了多久, ...
- 详解Linux交互式shell脚本中创建对话框实例教程
详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...
- Linux的shell脚本实战之while循环
Linux的shell脚本实战之while循环 一.使用while循环计算 1.计算从1加到100之和 2.计算1-2+3-4+5....-100的值 二.while语句的三种方式 1.通过输入重定向 ...
- Linux下Shell脚本实战之监测磁盘空间
Linux下Shell脚本实战之监测磁盘空间 一.脚本目的及要求 二.脚本内容 三.运行脚本 一.脚本目的及要求 (1) 监控/home下每各个用户目录的占用磁盘大小 (2) 监控/var/log下前 ...
- Linux下shell脚本之双色球摇号脚本
Linux下shell脚本之双色球摇号脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.编写脚本Lottery.sh,模拟摇号过程 2.6位数 ...
- Linux下shell脚本实战之批量新建用户
Linux下shell脚本实战之批量新建用户 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.使用提供的user.txt用户列表 2.批量新建us ...
最新文章
- 【青少年编程】【三级】克隆猫游戏
- 快速搭建ELK,以及简单故障处理
- CentOS6.5 缺少 libstdc++.so.6(GLIBCXX_3.4.15)
- css中属性兼容性写法,CSS3兼容属性和标准属性的书写顺序
- 前端学习(2563):如何触发组件更新
- HTML窗口与对话框
- sql 左侧要固定最近一周的周四 怎么写_数据与IT人怎么提高公司地位,避免被业务当工具人?...
- mmlspark-101: TrainClassifier
- 神经网络(单层感知器)
- pandas_计算年化收益率
- 红米note2卡在android,红米note2怎么插卡?红米note2插卡流程详解
- html分列代码,实现分列的两段excel vba 分列代码
- 河南省第四届”金盾信安杯”网络安全大赛writeup(过程,解题思路)
- Qt OpenGL(08)通过递归细分正二十面体逼近球面
- 网页设计项目5穿搭速递_小个子穿搭指南,学以下六种服装的穿搭超时髦,轻松驾驭各种风格...
- NAT、SNAT、DNAT
- 面试前端的简历的注意事项
- python第二周day2
- 凌恩客户文章:多组学揭示肥胖多囊卵巢综合征(PCOS)患者发病机制
- 向着第二层 第一阶段第四天
热门文章
- 每日题(js):数组去重,数组排序
- i.MX 8M Mini——四核Cortex-A53+Cortex-M4多核CPU如何实现工控
- 人人视频android资源比ios多,尼墨视频Nemo:一款不掉证书的IOS与Android通用的追剧神器 | 闲一鱼博客...
- 神无月服务器今日维修,2.12神无月全区全服服务器(除了已更新的服务器)更新公告...
- 计算机应用基础课程学生学习方法,计算机应用基础课程教学研究
- BERT的[CLS]有什么用
- 小学语文阅读答题技巧
- 关于DNF在运行过程中,短时间内蓝屏的缓解办法
- 【吐血整理】Hibernate常用的主键生成策略的原理、优缺点、应用场合
- ASUS华硕天选2笔记本电脑FA506IC4800原装出厂Windows11系统恢复原厂OEM系统