shc安装和使用(43)

1.首先你需要检查系统是否安装了gcc编译器,以Fedora Core6为例介绍gcc的检查和安装:

  rmp -qa | grep compat-gcc

  有:

  没有:

wget ftp://mirrors.kernel.org/fedora/core/6/i386/os/Fedora/RPMS/compat-gcc-34-3.4.6-4.i386.rpm

2.

ln -s /usr/bin/gcc34 /usr/bin/cc

3.安装shc

wget http://www.datsi.fi.upm.es/%7Efrosal/sources/shc-3.8.6.tgz

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

# make strings

# make install

这是要回答yes或者y,不能直接回车,否则会报错

4.使用方法:

shc -v -f test.sh

-v是verbose模式, 输出更详细编译日志; 

-f 指定脚本的名称.

shc -f script-name

运行后会生成两个文件,script-name.x 和 script-name.x.c. 其中script-name.x是加密后的可执行的二进制文件;用./script-name即可运行,script-name.x.c是生成 script-name.x的原文件(c语言).

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


                                                                                                                            Name:Xr

                                                                                                                            Date:2014-05-21 23:55

你可能感兴趣的:(shc安装和使用(43))