admin 管理员组

文章数量: 1086019


2024年4月30日发(作者:duplicate中文意思)

shell脚本加密(如何保护自己编写的shell程序)

要保护自己编写的shell脚本程序,方法有很多,最简单的方法有

两种:1、加密 2、设定过期时间,下面以shc工具为例说明:

一、下载安装shc工具

shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为

一个可执行的二进制文件.

# wget /~frosal/sources/

安装:

# tar zxvf

# cd shc-3.8.7

# mkdir /usr/local/man/man1/ (install时会把man文件放入该

目录,如果该目录不存在需提前建好) 这一步需要root权限

# make test

# make

# make test

# make strings

# make install 这一步需要root权限

二、加密方法:

shc -r -f script-name 注意:要有-r选项, -f 后跟要加密的脚本名.

运行后会生成两个文件,script-name.x 和

script-name.x是加密后的可执行的二进制文件.

./script-name 即可运行.

是生成script-name.x的原文件(c语言)

# shc -v -f

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

-f 指定脚本的名称.

# ll test*

-rwxr-xr-x 1 oracle oinstall 1178 Aug 18 10:00

-rwx--x--x 1 oracle oinstall 8984 Aug 18 18:01 .x

-rw-r--r-- 1 oracle oinstall 14820 Aug 18 18:01 .x.c

# file .x

.x: ELF 32-bit LSB executable, Intel 80386, version 1

(SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs),

stripped

可以看到生成了动态链接可执行二进制文件.x和C源文件

.x.c, 注意生成的二进制文件因为是动态链接形式, 所以在其它

平台上不能运行.

生成静态链接的二进制可执行文件

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

$ CFLAGS=-static shc -r -f

$ file .x

三. 通过sch加密后的脚本文件很安全吗?

一般来说是安全的, 不过可以使用gdb和其它的调试工具获得最初

的源代码. 如果需要更加安全的方法, 可以考虑使用wzshSDK. 另外shc

还可以设置脚本的运行期限和自定义返回信息:

$ shc -e 03/31/2007 -m "the mysql backup scrīpt is now out

of date." -f

-e表示脚本将在2007年3月31日前失效, 并根据-m定义的信息

返回给终端用户.

题外:

如果你仅仅是看不见内容就行了的话,不妨用

gzexe

原来的 就被存为 ~,新的 是乱码,但是可以用 sh

的方式运行


本文标签: 脚本 文件 链接 二进制 加密