".sh"シェルスクリプトを難読化する方法はありますか?

".sh"シェルスクリプトを難読化する方法はありますか?

私はUbuntuを実行しています。.shシェルスクリプトファイルの内容を難読化して読みにくくする方法を知る必要があります。

オンライン難読化の使用を含むどんな提案でも歓迎します。

答え1

これは、実際に誰がスクリプトを読み取らないようにしたいのか、システムにどのリソースが必要であると予想するかによって異なります。

1つのオプションは、スクリプトのさまざまな部分(shell、awk、sed、perlなど)を実行するためにさまざまなプログラムを使用することです。このプログラムには、読者がマニュアルページを参照し続けるような、あいまいなツールパラメータがたくさんあります。

シェル内でも、混乱した方法で互いに依存する不要な関数と変数を作成できます。そしてもちろん誤解を招く名前も付けてください。

状況をより複雑にするために、シェルの末尾にバイナリデータを追加し、シェルにバイナリを抽出して実行させることができます。私はnVidiaのLinuxドライバとSunのJDKの両方がこのようにインストールされていると思います(バイナリデータはシェルから抽出してインストールするRPMです)。私がしばらく前にダウンロードした別の例は次のとおりです。石鹸ユーザーインターフェースプログラム

この場合、複数の言語でコンパイルまたは解釈できるテキストファイルがあるため、シェルで始まり、Cプログラムで独自にコンパイルして結果を実行できます。これ国際オリンピック委員会いくつかの例があります。

答え2

この目的でshcを使用できます。

したがって、このコマンドを使用して以下をエンコードできます。

shc -f script.sh

2つのファイルが生成されます。

script.sh.x
script.sh.x.c

.c は C プログラミング言語ファイルです。 .x は実行可能ファイルです。

したがって、実行するには、次を使用します。

chmod +x script.sh.x
./script.sh.x

答え3

難読化はコンパイルとは異なります。 Bourne、Bash、またはKornのシェルスクリプトを難読化するのに効果的なスクリプトがたくさんあります。

次のスクリプトがあります。obfuscate_shell_script-20011012.html

答え4

同様のウェブサイトにスクリプトをコピーできます。kinglazy.comあなたのためにあいまいな(実行可能な)コピーを作成します。

関連情報