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
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
CFLAGSC compiler flags
Please consult the shc(1) man page.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1405551/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- gzexe 助shell指令碼加密 01指令碼加密
- 如何加密shell指令碼加密指令碼
- shell 指令碼加密 | shc指令碼加密
- shell指令碼指令碼
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- shell指令碼(二)指令碼
- shell指令碼心得指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- 巧用shell指令碼生成快捷指令碼指令碼
- shell指令碼(6)-shell陣列指令碼陣列
- 初識shell指令碼指令碼
- 執行shell指令碼指令碼
- Shell 指令碼語句指令碼
- Linux Shell指令碼Linux指令碼
- shell指令碼例項指令碼
- 【指令碼】shell語法指令碼
- shell指令碼舉例指令碼
- Shell指令碼基礎指令碼
- Linux shell 指令碼Linux指令碼
- Shell 指令碼編寫指令碼
- shell指令碼總結指令碼
- shell 指令碼寫法:指令碼
- 【雲巔-Lens】-Shell指令碼示例(Lens客戶端協助配置網路)指令碼客戶端
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- Shell指令碼匯入外部指令碼內容指令碼
- shell入門--第一個shell指令碼指令碼
- 9、在Shell指令碼中呼叫其他指令碼指令碼
- shell指令碼:一鍵安裝LAMP、LNMP指令碼指令碼LAMPLNMP
- Shell指令碼最佳實踐指令碼
- Shell指令碼應用(三)指令碼
- shell指令碼——基本運算子指令碼
- 如何讓shell指令碼自殺指令碼
- shell指令碼例項(2)指令碼
- crontab執行shell指令碼指令碼
- Linux shell 指令碼分享Linux指令碼
- 【shell】日誌切割指令碼指令碼
- (1) Shell 指令碼簡介指令碼