Shc可以用來對shell腳本進行加密,可以將shell腳本轉換為一個可執行的二進制文件。經過shc對shell腳本進行加密后,會同時生成兩種個新的文件,一個是加密后的可執行的二進制文件(文件名以.x結束),另一個是C語言的原文件(文件名以.x.c結束)。
下面就說明一下shc的安裝,參數,以及使用示例:
下載安裝:
(官網下載地址: http://www.datsi.fi.upm.es/~frosal/sources/)
-e date
Expiration date in dd/mm/yyyy format [none](指定過期日期)
-m message
message to display upon expiration ["Please contact your provider"](指定過期提示的信息)
-f script_name
File name of the script to compile(指定要編譯的shell的路徑及文件名)
-r Relax security.
Make a redistributable binary which executes on different systems running the same operat-ing system.(可以相同操作系統的不同系統中執行)
-v Verbose compilation(編譯的詳細情況)
注意:要有-r選項, -f 后跟要加密的腳本名.
運行后會生成兩個文件,script-name.x 和 script-name.x.c
script-name.x是加密后的可執行的二進制文件.
./script-name.x 即可運行.
script-name.x.c是生成script-name.x的原文件(c語言)
說明:
經我測試,相同在操作系統,shc后的可執行二進制文件直接可以移植運行,但不同操作系統可能會出現問題,如我將源shell在CentOS5.4上加密后移到redhat as5u4上不能運行,出現“Floating point exception”錯誤提示,但移到另一臺CentOS5.4上直接運行沒問題。