sch 助shell脚本加密 02

sch 助shell脚本加密 02

一、  简介

SHC(shell script compiler),即shell脚本编译器。通过SHC编译过的脚本对普通用户而言是不可读的,因此如果你想让你的代码实现加密功能,让其有效的屏蔽一些敏感信息,这个时候可以考虑使用SHC;它通常情况下是不太容易被破解的,但是还是有些人可以通过反编译SHC的方法来实现破解加密过的脚本。

二、  实验测试开始
2.1 下载并编译SHC

[root@woo ~]# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.3.tgz
[root@woo ~]# ll shc-3.8.3.tgz
-rw-r--r-- 1 root root 19874 Dec 31 20:40 shc-3.8.3.tgz
[root@woo ~]# tar -zxvf shc-3.8.3.tgz
shc-3.8.3/CHANGES
shc-3.8.3/Copying
shc-3.8.3/Makefile
shc-3.8.3/match
shc-3.8.3/pru.sh
shc-3.8.3/shc.1
shc-3.8.3/shc.c
shc-3.8.3/shc.html
shc-3.8.3/shc.README
shc-3.8.3/test.bash
shc-3.8.3/test.csh
[root@woo ~]# cd shc-3.8.3
[root@woo shc-3.8.3]# make && make install
*** ?Do you want to probe shc with a test script?
*** Please try... make test
[root@woo shc-3.8.3]#

2.2 编译完成之后,我们切换到oracle用户下编辑一个脚本

[root@woo ~]# su - oracle
[oracle@woo ~]$ vi sqlscript.sql
#!/bin/sh
sqlplus -S system/oracle << EOF
set pagesize 0 linesize 80 feedback off
select 'The database ' || instance_name ||
        ' has been running since '||
to_char(startup_time, 'HH24:MI MM/DD/YYYY')
from v\$instance;
select 'There are ' || count(status) ||
        ' data files with a status of ' || status
from dba_data_files
group by status
order by status;
exit;
EOF

2.3 执行加密前的脚本

[oracle@woo ~]$ ./sqlscript.sql
The database woo has been running since 18:17 12/23/2014
There are 4 data files with a status of AVAILABLE

2.4 对脚本进行加密操作,会在原来的基础上多出两个文件

[root@woo shc-3.8.3]# shc -r -f /home/oracle/sqlscript.sql
[oracle@woo ~]$ ll sqlscript*
-rwxr-xr-x 1 oracle oinstall 365 Dec 31 18:55 sqlscript.sql --运行文件
-rwx--x--x 1 root root 12048 Dec 31 22:00 sqlscript.sql.x –加密后的二进制文件
-rw-r--r-- 1 root root 11416 Dec 31 22:00 sqlscript.sql.x.c --x源文件(c语言)

2.5 执行加密后的文件,输出结果和加密前是一样的

[oracle@woo ~]$ ./sqlscript.sql.x
The database woo has been running since 18:17 12/23/2014
There are 4 data files with a status of AVAILABLE

2.6
SHC可选参数

[root@woo shc-3.8.3]# ./shc -v
shc parse(-f): No source file specified
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script
[root@woo shc-3.8.3]#
[root@woo shc-3.8.3]# ./shc --help
./shc: invalid option -- '-'
shc parse: Unknown option
shc Version 3.8.3, Generic Script Compiler
shc Copyright (c) 1994-2005 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.
时间: 2024-12-08 10:57:47

sch 助shell脚本加密 02的相关文章

gzexe 助shell脚本加密 01

gzexe 助shell脚本加密 01 一.  简介 很多时候我们的脚本会涉及到一些私密的信息,例如:用户名,密码,或者其它重要信息的时候,我们使用一些加密的手段来屏蔽这些信息,确保系统的安全已经脚本的可流传性,通常情况下我们只需要通过系统自带的gzexe这个工具就够了. 二.         实验测试开始: 2.1 编写一个用于测试的脚本 [root@woo ~]# vi woo.sh #! /bin/ksh echo 'PrudentWoo'' '`date +%Y-%m-%d' '%T`

对Shell 脚本加密的方法_linux shell

用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好. 但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等. 同样,在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题. shc 安装 yum -y install shc 使用方法: shc -r -f script-name 注意:要有-r选项, -f 后跟要加密的脚本名. 运行后会生成两个文件

linux shell脚本问题,关于自动修改系统密码

问题描述 linux shell脚本问题,关于自动修改系统密码 操作系统 radhat 就是多个服务器每天就要进行一次密码修改,所以在想能不能用shell写一个命令脚本,然后放在一台服务器上面,等到需要修改密码的时候,就修改脚本里面的日期参数进行跑脚本修改,求大神帮助,新手,也可沾些代码我学习一下,不适合的地方,我自己改改. 解决方案 用crontabhttp://www.cnblogs.com/kaituorensheng/p/4494321.htmlhttp://os.51cto.com/a

使用shc加密shell脚本

使用shc加密shell脚本 使用 之前为了防止svn认证问题,都是直接把svn的用户名.密码写在脚本里面的.由于明文密码非常不安全,所以必须采取密文保存. 为了不影响原有脚本流程,采用了抽取svn命令为独立脚本,在这个脚本里面写上用户名和密码,并加密保存. 加密采用了shc这个工具进行.该工具采用arc4的方式加密数据,而且比较简单,运行之后会根据输入的脚本(svn.sh)生成两个文件: svn.sh.x这个是加密后的可执行程序,svn.sh.x.c这个是那个可执行程序的C源码.最终运行只需要

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

Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件.经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束).   下面就说明一下shc的安装,参数,以及使用示例: 下载安装: (官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/) 复制代码 代码如下: # wget http://www.datsi

centos linux下对Shell/.sh脚本加密两种方法(shc和gzexe)

shc方法 shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件 用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好. 但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等. 同样,在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题. shc 安装 yum -y install shc 如果yum不能安装,

Shell脚本编程学习入门 02

Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #!/bin/sh ... 注意:最好使用"!/bin/bash"而不是"!/bin/sh",如果使用tc shell改为tcsh,其他类似. 符号#!用来告诉系统执行该sell脚本的程序,本例使用/bin/sh.编辑结束并保存后,如果要执行该shell脚本,必须先使其可执

将PHP作为Shell脚本语言使用

脚本 本文出自:http://phpuser.com 作者: y10k翻译 (2002-10-15 06:02:00) --英文原著:Darrell Brogdon,发表于 http://www.phpbuilder.com/columns/darrell20000319.php3) 可能很多人都想过使用PHP编写一些定时发信之类的程序,但是却没有办法定时执行PHP:一次去PHPBuilder的时候,发现了这一篇文章,于是想给大家翻译一下(同时做了一些修改),希望对大家有用.第一次翻译文章,不好

一键启动集群的shell脚本

一键启动集群的shell脚本,包括HDFS HA + YARN相关所有程序,FBI00X是主机名,供大家参考: #!/bin/bash echo "-------------------------Step1----------------------------" echo "Now,starting Zookeeper." ssh FBI001 $ZOOKEEPER_HOME/bin/zkServer.sh start ssh FBI002 $ZOOKEEPER