当前位置: 首页 > 编程笔记 >

使用shc工具加密shell脚本详解

方宏才
2023-03-14
本文向大家介绍使用shc工具加密shell脚本详解,包括了使用shc工具加密shell脚本详解的使用技巧和注意事项,需要的朋友参考一下

Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束)。
 
下面就说明一下shc的安装,参数,以及使用示例:
下载安装:
(官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/)


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

# cd shc-3.8.7

# make

# make install


(仅用make就可以完成安装,运行shc时要指出绝对路径;用make install,将shc安装到/usr/local/bin下,可以直接运行)
 
常用参数:

-e date   

  Expiration date in dd/mm/yyyy format [none](指定过期日期)

-m message   message to display  upon  expiration  ["Please  contact your provider"](指定过期提示的信息)   -f script_name   File name of the script to compile(指定要编译的shell的路径及文件名)   -r   Relax security.    Make  a  redistributable  binary  which executes  on different systems running the same operat-ing system.(可以相同操作系统的不同系统中执行)   -v   Verbose compilation(编译的详细情况)


使用示例:

[root@centos54 tmp]# /usr/local/src/shc-3.8.7/shc -e 20/10/2010 -m "lianxi aaa@163.com" -v -r -f ./ex.sh


-e:指定过期时间为2010年10月20日
-m:过期后打印出的信息;
-v: verbose
-r: 可在相同操作系统的不同主机上执行
-f: 指定源shell
 
方法:


shc -r -f script-name

注意:要有-r选项, -f 后跟要加密的脚本名.
运行后会生成两个文件,script-name.x 和 script-name.x.c
script-name.x是加密后的可执行的二进制文件.
./script-name.x 即可运行.
script-name.x.c是生成script-name.x的原文件(c语言)
 
说明:

经我测试,相同在操作系统,shc后的可执行二进制文件直接可以移植运行,但不同操作系统可能会出现问题,如我将源shell在CentOS5.4上加密后移到redhat as5u4上不能运行,出现“Floating point exception”错误提示,但移到另一台CentOS5.4上直接运行没问题。

 类似资料:
  • 脚本工具类 方法 log(level, errcode, info) 打印log 参数 类型 名称 备注 level number log级别 0为debug级别 发布版本不输出 1为关键级别,发布版本输出 errcode number 错误代码 开发者自定义 info string 描述 开发者自定义 返回值:无 例子: BK.Script.log(0,0,"This is a log");

  • 本文向大家介绍详解Shell脚本中调用另一个Shell脚本的三种方式,包括了详解Shell脚本中调用另一个Shell脚本的三种方式的使用技巧和注意事项,需要的朋友参考一下 主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 Shell。 exec 在同

  • 介绍 SecureUtil主要针对常用加密算法构建快捷方式,还有提供一些密钥生成的快捷工具方法。 方法介绍 对称加密 SecureUtil.aes SecureUtil.des 摘要算法 SecureUtil.md5 SecureUtil.sha1 SecureUtil.hmac SecureUtil.hmacMd5 SecureUtil.hmacSha1 非对称加密 SecureUtil.rsa

  • 我想添加在从文件,我的文件包括: ,但当我运行它路径不添加时,我键入。 但当我输入terminal时,它会添加到我的路径中。 我的档案有什么遗漏吗?

  • 本文向大家介绍CentOS下对shell脚本加密的二种方法,包括了CentOS下对shell脚本加密的二种方法的使用技巧和注意事项,需要的朋友参考一下 第一种方法(gzexe): 这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。 它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。 使用方法: 它会把原来没有加密的文件备份为 file.sh~ ,同时

  • 一、解放生产力 以下脚本需要放入一个可执行文件中,实现双击就可以运行! 1.1、快速提交代码 # Mac 上可以去掉脚本的第一行标志:「#!/bin/bash」 # 加上这个,颜色码会失效 # 1、cd 到当前目录 currentDir=$(cd "$(dirname "$0")"; pwd) cd ${currentDir} # 2、获取当前的分支 currentBranch=$(git s