シェルスクリプトを暗号化または読み込めないようにするにはどうすればよいですか?

シェルスクリプトを暗号化または読み込めないようにするにはどうすればよいですか?

目に見えないようにシェルスクリプトを暗号化またはスクランブルするにはどうすればよいですか?どちらの方法でも可能です。具体的な手順を提供してください。

答え1

シェルスクリプトを暗号化するには、次のようにします。GPG。スクリプトを実行したい人は誰でも最初にスクリプトを復号化する必要があります。

誰かがスクリプトを実行できますが読めないようにしたい場合は、これはまったく異なる問題であり、暗号化とは関係ありません。知られている混乱させる

そのスクリプトにパスワードやその他の機密情報が含まれている場合は、いくら難読化しても隠すことはできません。近い将来、スクリプトはパスワードを使用して何かを実行します。

誰かがコピーするのか気になってスクリプトの仕組みを隠したい場合は忘れてください。誰も気にしない。

品質が恥ずかしくてスクリプトを非表示にしたい場合は、修正してください。

機能を非表示にしたいので、スクリプトの動作を隠したい場合は不可能です。誰かがスクリプトの実行中にスクリプトを見て、スクリプトが何をしているのかを観察できます。

ここまで読んでも、まだスクリプトを「暗号化」したいのなら、何か大きなことを誤解したのです。スクリプトを誰にでも送信したり、プレーンテキストで送信したりしないでください。

答え2

Claudio P.の助けを借りて、インターネット検索中に得られた情報です。

  1. スクリプトの作成(script-base.sh)

    #!/bin/sh 
    echo "Hello World" 
    
  2. スクリプトを暗号化します(パスワードを提供):

    openssl enc -e -aes-256-cbc -a -in script-base.sh > script-enc 
    
  3. ラッパー(script-final.sh)を作成します。

    #!/bin/sh 
    openssl enc -d -aes-256-cbc -a -in script-enc | sh - 
    
  4. 「script-final.sh」を実行してパスワードを入力すると、プレーンテキストスクリプトをディスクに書き込むことなくスクリプトが実行されます。

答え3

SHC

このウェブサイトで説明されている次の手順を試すことができます。SHCを使用してLinuxでBashシェルスクリプトを暗号化する方法。この記事では、次のツールの使用について説明します。SHC - シェルスクリプトコンパイラ

URLリソース

これはgcc / g ++でビルドする必要がある実行可能ファイルです。

使用法

$ ./shc -f random.sh

シェルスクリプトを実行すると、random.sh次のファイルに変換されます。

-rwx-wx--x. 1 ramesh ramesh 11752 Mar 27 01:12 random.sh.x

これは確実ですか?

いいえ、SHCツールで使用されている方法をうまく分析すると、このツールがあまり強力ではなく、実行中の作業を知っていると迂回する可能性があります。この記事はlinuxjournal.comのウェブサイトに次のタイトルで投稿されました。Paranoid Penguin - シェル暗号化ユーティリティであるshcの制限

メモ:これらのツールは、難読化ハンドラ(Obfuscator)で最もよく説明されています。

答え4

新しいバージョンを使用してください。4.0.0より大きい~のためUbuntu 18.04(テスト済み)。以前のバージョンにはバグがあり、回避策があります。新しいバージョンを使用すると、この問題は解決されます。 ;)

次のコマンドを使用してください

sudo add-apt-repository ppa:neurobin/ppa
sudo apt-get update
sudo apt-get install shc

関連情報