Shc可以用來(lái)對(duì)shell腳本進(jìn)行加密,可以將shell腳本轉(zhuǎn)換為一個(gè)可執(zhí)行的二進(jìn)制文件。經(jīng)過(guò)shc對(duì)shell腳本進(jìn)行加密后,會(huì)同時(shí)生成兩種個(gè)新的文件,一個(gè)是加密后的可執(zhí)行的二進(jìn)制文件(文件名以.x結(jié)束),另一個(gè)是C語(yǔ)言的原文件(文件名以.x.c結(jié)束)。
下面就說(shuō)明一下shc的安裝,參數(shù),以及使用示例:
下載安裝:
(官網(wǎng)下載地址: http://www.datsi.fi.upm.es/~frosal/sources/)
-e date
Expiration date in dd/mm/yyyy format [none](指定過(guò)期日期)
-m message
message to display upon expiration ["Please contact your provider"](指定過(guò)期提示的信息)
-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.(可以相同操作系統(tǒng)的不同系統(tǒng)中執(zhí)行)
-v Verbose compilation(編譯的詳細(xì)情況)
注意:要有-r選項(xiàng), -f 后跟要加密的腳本名.
運(yùn)行后會(huì)生成兩個(gè)文件,script-name.x 和 script-name.x.c
script-name.x是加密后的可執(zhí)行的二進(jìn)制文件.
./script-name.x 即可運(yùn)行.
script-name.x.c是生成script-name.x的原文件(c語(yǔ)言)
說(shuō)明:
經(jīng)我測(cè)試,相同在操作系統(tǒng),shc后的可執(zhí)行二進(jìn)制文件直接可以移植運(yùn)行,但不同操作系統(tǒng)可能會(huì)出現(xiàn)問(wèn)題,如我將源shell在CentOS5.4上加密后移到redhat as5u4上不能運(yùn)行,出現(xiàn)“Floating point exception”錯(cuò)誤提示,但移到另一臺(tái)CentOS5.4上直接運(yùn)行沒問(wèn)題。