shell指令碼加密

來源:互聯網
上載者:User

標籤:

 如何保護自己編寫的shell程式
要保護自己編寫的shell指令碼程式,方法有很多,最簡單的方法有兩種:1、加密 2、設定到期時間,下面以shc工具為例說明:

一、下載安裝shc工具
shc是一個加密shell指令碼的工具.它的作用是把shell指令碼轉換為一個可執行檔二進位檔案.
 
# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz

安裝:
# tar zxvf shc-3.8.7.gz

# 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.c
script-name.x是加密後的可執行檔二進位檔案.
./script-name 即可運行.
script-name.x.c是產生script-name.x的原檔案(c語言)
 

# shc -v -f test.sh

-v是verbose模式, 輸出更詳細編譯日誌;

-f 指定指令碼的名稱.

# ll test*

-rwxr-xr-x   1 oracle oinstall    1178 Aug 18 10:00 test.sh
-rwx--x--x   1 oracle oinstall    8984 Aug 18 18:01 test.sh.x
-rw-r--r--   1 oracle oinstall   14820 Aug 18 18:01 test.sh.x.c

# file test.sh.x

test.sh.x: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped

可以看到產生了動態連結可執行二進位檔案test.sh.x和C源檔案testup.sh.x.c, 注意產生的二進位檔案因為是動態連結形式, 所以在其它平台上不能運行.

產生靜態連結的二進位可執行檔

可以通過下面的方法產生一個靜態連結的二進位可執行檔:

$ CFLAGS=-static shc -r -f test.sh

$ file testup.sh.x

 
三. 通過sch加密後的指令檔很安全嗎?

一般來說是安全的, 不過可以使用gdb和其它的調試工具獲得最初的原始碼. 如果需要更加安全的方法, 可以考慮使用wzshSDK. 另外shc還可以設定指令碼的運行期限和自訂返回資訊:

$ shc -e 03/31/2007 -m "the mysql backup scrīpt is now out of date." -f test.sh

-e表示指令碼將在2007年3月31日前失效, 並根據-m定義的資訊返回給終端使用者.
 

題外:

如果你僅僅是看不見內容就行了的話,不妨用
gzexe a.sh

原來的 a.sh 就被存為 a.sh~,新的 a.sh 是亂碼,但是可以用 sh 的方式運行

 

shell指令碼加密

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.