6. 自動プロテクトユーティリティMxCrypt

添付のMatrix-Crypt32.exe を使うと、Windows 95/98/NT/2000/XP/Vista上の32ビット 実行ファイル( EXEファイル)をプロテクトできます。プログラムのソースコードを変更する 必要ありません。保護したいEXEファイルのみが必要です。

Matrix-Crypt32は、既存の実行ファイルに処理コードを追加して、プロテクト処理された新たな 実行ファイルを生成します。あたらな実行ファイルには次のような機能が付加されます。

プロテクトプログラムは、プロテクト前のプログラムと同様に実行できます。プロテクトプログラムを 実行するためのコードは埋め込まれるため、特別なファイルは必要としません。プロテクト前のプログラム が単体で実行できるのであれば、プロテクトプログラムも単体で実行できます

Matrix-Crypt32起動画面

起動すると次のようなウィンドウを表示します。

1. ファイル選択

プロテクト処理する実行ファイルを選択してください。EXEやDLLファイルを指定できます。
プログラムが Windowsサービス の場合には特殊な処理が必要なため、”このプログラムはWindowsサービスです”を チェックしてください。

2. プロテクト方法

ここでは実行ファイル生成時のプロテクト方法を指定します。

セクションの圧縮
プログラムのコードセグメントを圧縮します。暗号化したプログラムのサイズが小さくなります
デバッグされたら終了
SoftIceのデバッグから保護します。デバッガで解析されるとプログラムは自動終了します。このオプションは プログラムのプロテクトには必須ですので、無効にすることはできません。
セクションのプロテクト
プログラムのコードセグメントを暗号化します。このオプションはプログラムのプロテクトには必須ですので、無効にすることはできません。
セクションの統合
(セクションボディを持たない)仮想セクションが含まれる場合、前方セクションと統合します。 暗号化されたプログラムサイズは小さくなります。
MS-DOSヘッダの最適化
プログラムのヘッダを最適化します。暗号化されたプログラムサイズは小さくなります。
強制セクション調整
コンパイラはプログラムファイルを生成する際、多くの場合セクションの末尾にパディングバイトを挿入します。 このオプションのこの未使用のパディングバイトを取り除きます。暗号化されたプログラムサイズは小さくなります。

最小限のオプションからプロテクトを行い。問題なく暗号化されたプログラムが動作することを確認できたら 追加のオプションを有効にするようにしてください。

3. 確認するドングル

どのMatrixを確認するのか設定します。

確認するドングルNo. 接続確認をするドングルの番号を指定します。 Allをセットすると、接続している全ての Matrixを検索します( 複数のMatrixが利用されている以外では意味がありません )
確認するLPT/USB どのインターフェースに接続されたMatrixを確認するのかを指定します。 Allをセットすると、LPT/USBすべてのポートを検索します。LPTポートがないPCでは ALLは指定しないで ください。

4. 暗号化オプション

既定では暗号化処理は、ドングルキーの内部コードを元に暗号化されます。このように暗号化されたプログラムは、 同一のユーザコードが設定された Matrixキーと動作します。このオプションを指定すると、内部コードに加えて、ユーザーが指定する暗号鍵を暗号化処理で使うことで、プロテクトをさらに強力なものにできます。

  1. ドングルの暗号鍵は読み込むことができないため、ここでドングルに保存した暗号鍵と同じものを設定します。
  2. MxCryptは、内部コードと指定された暗号鍵でプログラムを暗号化処理します.
  3. プログラムを起動すると、ドングルの内部コードとドングルに保存されている暗号鍵でプログラムが メモリー上で展開されて実行されます。

5. デモモード

デモプログラム作成用の設定オプションです。 データフィールド Var0001、Var0002 を使います ので、その他の目的でこの2つのフィールドは利用できなくなります。

次のどれか1つのモードを選択してください。

Number of Runs
(実行回数指定)
何回プログラムを実行できるのか指定します。 データフィールド Var001に、 実行を許可する回数を書き込んでください。プログラムが実行される度に、V ar001の値が減算され、0になるとプログラムが実行できなくなります。
Number of Days
( 日数指定 )
プログラムを何日間実行できるのか指定します。データフィールド Var001に、 実行を許可する日数を書き込んでください。データフィールド Var002は0でなければなりません。 プログラムの初回の実行時に Var002に、その時点の日付情報を保存します。プログラムが実行 される度に、var001の値が減算され、0 になるとプログラムが実行できなくなります。
Valid thru
(期間指定)
いつまで実行を許すのか指定します。"Day"(日), "Month"(月) "Year"(年)の各フィールドに 最終日を設定してください。このデモモードは、Matrixが装着されている必要はありません。 Matrixの装着を必須とするには、5. Dongle values to check オプションを併用してください。
Inactive
(無効)
日付や回数による制限を設けない場合には、必ず、デモモードをInactiveに設定してください。 Dongle values to check オプションを設定して、指定Matrix以外ではプログラムを実行できないように設定してください。

6. 確認する値

プロテクトされたプログラムに起動時や実行中にMatrixの内部メモリの値を確認されることができます。 指定した値がドングルのメモリーに書き込まれていなければプログラムは実行不能になります。

プログラム開始時のみ このオプションを指定すると、プログラムの起動時の一度だけMatrixの値を確認します。
毎分 起動時に1度だけより、プログラム実行中に渡ってMatrixの確認をおこなう方が、 プログラムの保護はより有効になります。 このオプションで、Matrixの確認を何分おきに するのか、指定できます。5 を指定すると、5分おきにMatrixの確認がされます。
確認  個の値 値を確認するデータフィールドはVar003 以降です。データフィールドVar0001, Var0002は 他の目的(デモプログラム用)に予約されています。Var003以降、幾つのデータフィールド を検査するのか指定してください。値を指定しなければ、Matrixのユーザコードだけを チェックします。ユーザコードが一致したら問題なしとなります。できるかぎり、 データフィールド数を設定し、また、各データフィールドにデータをセットしてください。 ユーザコードが一致し、Matrixのデータフィールドの値がここで指定するデータと一致しな ければプログラムを実行できないようにできます。

6. メッセージ

5つの状況下で表示するメッセージを指定できます。

デモ情報(デモモードが Inactive以外の場合有効になります) デモ版として処理したプログラムは起動時に、ここで指定する メッセージを表示します。
デモ期限切れ(デモモードが Inactive以外の場合有効になります) デモ版として処理したプログラムは起動時に、有効期限が過ぎると ここで指定するメッセージを表示します。
ドングルが見つかりません プロテクト処理したプログラムに必要なドングルが接続されていないと ここで指定するメッセージが表示されます。
ドライバがみつからないかドライバーエラー プロテクトプログラムは、起動時や実行中にドングルにアクセスします。 このときにドライバーにエラーが発生すると、ここで指定するメッセージを表示します。
ハードウェアー読み取りエラー プロテクトプログラムは、起動時や実行中にドングルにアクセスします。 このときにハードウェアー関連のエラーが発生すると、ここで指定するメッセージを表示します。

設定が完了したら、Cryptボタンを選択して、指定実行ファイルを暗号処理します。 新たに生成されたプログラムは、元の実行ファイルの名前で保存されます。 元の実行ファイは、“.old”拡張子が付けられてバックアップされます("ファイル名.exe.old")


Matrix-Crypt の設定内容(データフィールドの値などの設定値)を保存すると、 同一設定でプログラムを繰り返してCrypt処理するときに便利です。

Saveボタンを使うと、設定内容をファイルに保存できます。 
Loadボタンで、ファイルに保存した設定内容を読み込めます。


Cryptで生成したプロテクト処理されたファイルを実行します。
お願い:
Matrix-Cryptが生成したプログラムは、必ず、配布前に実行できるかどうか十分にテストしてく ださい。設定に内容によっては実行できないことがあります。 また、プロテクト処理される前の 元の実行ファイルの管理には気をつけてください(安全な場所に保管する等してください)