Bashスクリプトの非表示

多くの場合、フリーランスで発生するため、顧客はテストバージョンを受け取り、それを受け入れて支払いを拒否する作業を依頼します。

フリーランスでは、注文、スクリプトの管理などのスクリプトを作成し、サーバー上の特定のプロセスを自動化して、書き込みの基本的なアイデアをつかみます。原則として、顧客は姿を消し、それは非常に単純で費用はかかりません。

Cの難読化の概念に直面して、私は私の愛するBashに同様のソリューションを探すことにしました。



開発者の1人であるFrancisco Javier RosalesGarcía



ソリューションはshcと呼ばれます -CのBashトランスレータ



特に気に入ったオプション

-e date

Expiration date in dd/mm/yyyy format [none]

-m message

message to display upon expiration ["Please contact

your provider"]









ソースはwww.datsi.fi.upm.es/~frosalからダウンロードできます



作業例:



1)最も単純なbashスクリプトtest.shを作成します



 #!/bin/bash echo "Hello WORD" #  a=$1 #   echo $a #  
      
      







確認する

 sh test.sh test Hello WORD test
      
      







2)shcを実行し、変換を実行します

 [user@server shc-3.8.7]$ ./shc -v -r -T -f test.sh
      
      







3)出力では

shc shll=bash

shc [-i]=-c

shc [-x]=exec '%s' "$@"

shc [-l]=

shc opts=

shc: cc test.sh.xc -o test.sh.x

shc: strip test.sh.x

shc: chmod go-r test.sh.x








4)検証

./test.sh.x test

こんにちは言葉

テストする



順番に



test.sh.xcファイルが作成されます-Syshコードのほとんど読めないコンテンツは、ccコンパイラーを使用していつでも手動でコンパイルできます。



2番目のtest.sh.xファイルは既にバイナリであり、ほぼすべてのLinuxで実行され、5でチェックされています(Gentoo、RHEL、Debian、ALT、OpenSuSE)



これは無関係なので、パフォーマンスについて話す必要はありません。スクリプトは他のタスクのために書かれています。



All Articles