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
-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
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