专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell技巧/应用篇>

加密shell、perl等脚本的方法

百度收藏 QQ搜藏

一般用到的shell或是perl脚本有个问题

就是明文,用户可读,这样有些例如密码、ip地址等信息就非常的不安全,为了解决这个问题,向大家介绍个一个好工具---shc。

=======shc相关资料=======
shc主页:
http://www.datsi.fi.upm.es/%7Efrosal/

shc帮助文件如下
shc Version 3.8.6, Generic Script Compiler
shc Copyright (c) 1994-2006 Francisco Rosales <frosal@fi.upm.es>
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script
 
    -e %s  Expiration date in dd/mm/yyyy format [none]
    -m %s  Message to display upon expiration ["Please contact your provider"]
    -f %s  File name of the script to compile
    -i %s  Inline option for the shell interpreter i.e: -e
    -x %s  eXec command, as a printf format i.e: exec('%s',@ARGV);
    -l %s  Last shell option i.e: --
    -r     Relax security. Make a redistributable binary
    -v     Verbose compilation
    -D     Switch ON debug exec calls [OFF]
    -T     Allow binary to be traceable [no]
    -C     Display license and exit
    -A     Display abstract and exit
    -h     Display help and exit
 
    Environment variables used:
    Name    Default  Usage
    CC      cc       C compiler command
    CFLAGS  <none>   C compiler flags
 
    Please consult the shc(1) man page.
==============================

这里以shell脚本为例,介绍shc的基本使用方法,如下:
$ shc -r -f test.sh

运行成功就会生成动态链接可执行二进制文件test.sh.x和C源文件test.sh.x.c, 注意生成的二进制文件因为是动态链接形式, 所以在其它平台上不能运行。

不过我们可以通过下面的方法生成一个静态链接的二进制可执行文件:

# CFLAGS=-static shc -r -f test.sh
# file test.sh.x
test.sh.x: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
statically linked, for GNU/Linux 2.6.9, stripped

疑问: 那通过sch加密后的脚本文件真的很安全吗?
解答:一般来说是安全的, 不过可以使用gdb和其它的调试工具获得最初的源代码. 如果你需要更加安全的方法, 可以考虑使用wzshSDK.

另外, sch还可以设置脚本的运行期限和自定义返回信息:
shc -e 03/31/2008 -m “the test script is now out of date.” -f test.sh

-e表示脚本将在2007年3月31日前失效, 并根据-m定义的信息返回给终端用户.

上一篇:解决去掉awk中单引号的特殊性问题 下一篇:grep命令正则下html代码

power by soyo123 2007-2008