有如下三种意思:
1、shc 是 generic shell script compiler 的缩写、简称,最新版本是shc-3.8.6.tgz 。
2、Shc(是通过cDNA克枯睁升隆筛选到的编码SH结构域的基因的蛋白产物),也是一种连接蛋白。Shc的酪氨酸被磷酸化后能够同GRB2结合,然后激活Ras,触发细胞的增殖。
3、SHC screw 是socket head cap screw的缩写,内六角螺钉。
实例
下载到系统后,安装执行:
# tar xzvf shc-3.8.6.tgz
# cd shc-3.8.6
# mkdir -p /usr/local/man/man1
这步是必须的,不然安装过程中会报错,shc将安装命令到/usr/local/bin/目录下;将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,早败安装时会报错,可创建此目录后再执行安装:
# make install
这是要回答yes或者y,不能直接回车,否则会报错
使用方法:shc -f script-name
“-f”选项指定需要加密的程序,若要将shell程序script.s加密,执行没老:
# shc -f script.s
如果要查看执行过程中详细信息,可以添加选项“-v”。执行完成后将产生两个文件:“script.s.x.c”和“script.s.x”,命令shc首先通过shell程序生成其C语言的源代码“script.s.x.c”,然后对它进行编译生成加密后的可执行的二进制文件“script.s.x”,运行“script.s.x”可以看到此程序执行结果:
另shc还提供了一种设定有效执行期限的方法,可以首先使用shc将shell程序转化为二进制,并加上过期时间,如:
# shc -e 18/10/2006 -m " It’s too late to run this script " -f script.s
Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执弯毕薯行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束)。
下面就说明一下shc的安装,参数,以及使用示例:
复制代码 代码如下:
# 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上直接运行没问题。
方法一、可以使用gzexe命令直接�°.shellèæ¬åæå¯æ§è¡æ件ï¼å½ä»¤ä¸ºgzexe åé¢æ¥è¦å¤ççshellæ件åã
å å¯åï¼ç¨fileæ¥çæ件类åå·²ç»ä¸ºäºè¿å¶æ件äºï¼æ§è¡é½å¯ä»¥æ£å¸¸æ§è¡çã
æ¹æ³äºãå¯ä»¥ä½¿ç¨shcå½ä»¤å°shellèæ¬å为å¯æ§è¡æ件ã
1ãå®è£ shc
2ãå å¯èæ¬æ件CFLAGS=-static shc -r -f t.sh
CFLAGSææ为staticéæç¼è¯ï¼å 为é»è®¤çæçæ¯å¨éå¯å·æåºï¼å¨ä¸åçç³»ç»å¯è½è¿è¡ä¸äºã-rä¹æ¯ä¸ºäºçæçèæ¬äºè¿å¶å¯æ§è¡å±±è½ç¨åºè½å¨å ¶å®ççµèä¸è¿è¡ï¼-fåæ°ç¨äºææè¦ç¼è¯çèæ¬æ件ã
3ãæ£å¸¸æ§è¡å å¯åçèæ¬æ件ã
4ãshc常ç¨åæ°è¯´æ
-e date ï¼æå®è¿ææ¥æï¼
-m message ï¼æå®è¿ææ示çä¿¡æ¯ï¼
-f script_nameï¼æå®è¦ç¼è¯çshellçè·¯å¾åæ件åï¼
-r Relax security. ï¼å¯ä»¥å¨ç¸åæä½ç³»ç»çä¸åå±±åç³»ç»ä¸æ§è¡ï¼
-v Verbose compilationï¼ç¼è¯ç详ç»æ åµï¼
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)