bashスクリプトからコードを難読化または非表示にする方法

スクリプトをプログラムすることもあります Bash そして、このコードを非表示、つまりプレーンテキストにしないようにします。 コードを隠すことについて話すとき、正しい用語は 難読化する、私の場合、コードを難読化したかった 少し前に作ったスクリプト、これのために私が見つけたユーティリティは呼ばれます: shc

shc これにより、コードを難読化できます。使用する手順は次のとおりです。

1. まずダウンロードする必要があります

SHCv3.8.9をダウンロードする

2. ダウンロードしたら、圧縮ファイルを右クリックして、«というオプションを選択します。ここで抽出"または同様のもの。 これにより、というフォルダが表示されます shc-3.8.9、ここにその内容のスクリーンショットを示します

3. OK、フォルダがにあるとしましょう /home/usuario/Downloads/shc-3.8.9 さて、ターミナルを開いてそのルートに行きます(cd "/home/usuario/Downloads/shc-3.8.9")、ここからインストールが始まります。

 4. (私がすでにあなたに言ったように)フォルダにあるターミナルで shc-3.8.9、このアプリケーションをインストールするには、ファイルのシンボリックリンクを作成する必要があります shc-3.8.9.c a shc.c したがって、以下を実行します。

ln -s shc-3.8.9.c shc.c

 4. リンクが作成されたら、実行します make installを ルート権限(sudoを使用します):

 sudo make install

 4. パスワードの入力を求められ、しばらく待ちます。キーを押すのを待ちます。 [そして] を押して [入る]つまり、ソフトウェアをインストールすることを確認します。 これが完了すると、問題なくインストールされます。 準備とインストールのプロセス全体のスクリーンショットを残しておきます。

 


最後にエラーが発生するのがわかるように、エラーは特定のフォルダーがシステムに存在しないという事実を示しています。これが表示された場合は、単に重要視しないでください...それでも SHC 正常にインストールされました 
だから彼らは走ることができます sudo make install es 必要 パッケージをインストールします。 gccの y make

5. 準備が整いました。インストールはこれですべてです 

インストールしたら、使い方を学ぶだけです。 自宅に次のようなスクリプトがあるとします。 スクリプト.sh その内容は次のとおりです。

#!/bin/bash
echo "Script de prueba para DesdeLinux.net"
exit

このスクリプトを実行すると、明らかにターミナルに次のメッセージが表示されます。«DesdeLinux.net のテスト スクリプト" か否か? …しかし、今度はそのコードを難読化します。

ターミナルに以下を入れて押す [入る]:

shc -v -f $HOME/script.sh

そしてビンゴ!!準備完了

これにより、スクリプトとともにXNUMXつの新しいファイルが作成されました。 スクリプト.sh.x y script.sh.xc

script.sh.x-» これは難読化されたbashスクリプトです。これを実行すると、最初に作成したスクリプトとまったく同じように動作します。これらの違いは、テキストエディター(nano、kate、geditなど)で開いた場合の最初のスクリプトがはっきりと見えることです。その内容、 スクリプト.sh.x 何も表示されていないことがはっきりわかります...笑!!!、つまり、コードは「暗号化」されています 

script.sh.xc-» これは私たちのスクリプトですが、C 言語です...実際には必要ないので、心配せずに削除できます。まあ、少なくとも私にはまったく必要ありません 

技術的な面で実際に追加することはあまりありません。私の知る限り、これ (bash スクリプト コードの非表示または難読化) はライセンスなどに違反していないことを明確にしておきます。これを明確にしたのは、数か月前に Facebook で bash コードを難読化する方法を学んだことを述べたとき、一部のユーザーがこれはライセンスなどに違反していると警告したからです...とにかく、私が理解している限り、これは違反ではありませんライセンス 

非常にありがとうございました マティアスガストン 少し前にこのユーティリティについて私に言ったことに対して

追加するものは何もありません。疑問や質問、苦情や提案は私に知らせてください。

ご挨拶