これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドshcです。
プログラム:
NAME
shc-汎用シェルスクリプトコンパイラ
SYNOPSIS
shc [-e 日にち ] [ -m addr] [-i iopt] [-x cmnd]
[-l lopt] [-ACDhTV ] - f スクリプト
DESCRIPTION
shc で指定されたスクリプトのストリップされたバイナリ実行可能バージョンを作成します -f
コマンドライン。
バイナリバージョンは .x 拡張子が追加され、通常は少し大きくなります
元のASCIIコードよりもサイズが大きい。 生成されたCソースコードは、
.xc
有効期限を指定した場合 -e コンパイルされたバイナリが実行を拒否するオプション
指定された日付の後。 メッセージ "お願いします お問い合わせ プロバイダー」 が表示されます。
代わりは。 このメッセージは、 -m オプションを選択します。
あらゆる種類のシェルスクリプトをコンパイルできますが、有効なものを提供する必要があります -i, -x と -l
オプション。
コンパイルされたバイナリは、の最初の行で指定されたシェルに引き続き依存します。
シェルコード(つまり#!/bin/sh) shc 完全に独立したバイナリを作成するわけではありません。
shc それ自体はccのようなコンパイラではなく、シェルスクリプトをエンコードおよび暗号化し、
有効期限機能が追加されたCソースコードを生成します。 その後、システムを使用します
元のスクリプトとまったく同じように動作する、削除されたバイナリをコンパイルするコンパイラ。 その上
実行すると、コンパイルされたバイナリはシェルでコードを復号化して実行します -c オプションを選択します。
残念ながら、実際のCプログラムのように速度が向上することはありません。
shcの主な目的は、シェルスクリプトを変更や検査から保護することです。 君は
スクリプトを配布したいが、簡単に配布したくない場合に使用できます
他の人が読むことができます。
OPTIONS
コマンドラインオプションは次のとおりです。
-e date
dd / mm / yyyy形式の有効期限[なし]
-m メッセージ
有効期限が切れたときに表示するメッセージ["プロバイダーに連絡してください"]
-f スクリプト名
コンパイルするスクリプトのファイル名
-i インラインオプション
シェルインタプリタのインラインオプション、すなわち:-e
-x command
eXecコマンド、printf形式として:exec(\\ '%s \\'、@ ARGV);
-l 最後のオプション
最後のシェルオプションすなわち:-
-r セキュリティを緩和します。 異なるシステムで実行される再配布可能なバイナリを作成します
同じオペレーティングシステムを実行しています。
-v 冗長なコンパイル
-D debugexec呼び出しをオンにします
-T バイナリをトレース可能にする(strace、ptrace、trussなどを使用)
-C ライセンスを表示して終了します
-A 要約を表示して終了します
-h ヘルプを表示して終了します
ENVIRONMENT 変数
CC Cコンパイラコマンド[cc]
CFフラグ Cコンパイラフラグ[なし]
例
トレースオプションを有効にして他のシステムで実行できるスクリプトをコンパイルします。
例% shc -v -r -T -f myscript
onworks.netサービスを使用してオンラインでshcを使用する