欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

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

时间:2025-12-31 03:30:04|栏目:其它服务器|点击:

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上直接运行没问题。

上一篇:Shell中实现“多线程”执行脚本文件完美解决方案

栏    目:其它服务器

下一篇:Shell踢人的三种方法

本文标题:使用shc工具加密shell脚本详解

本文地址:https://zz.feitang.co/server/34714.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2026 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号