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)

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

Source: https://habr.com/ru/post/J139666/


All Articles