私は、DOS割り込み「x91」を使用してCOBOLプログラムを呼び出すCOBOL dllを呼び出すCOBOL exeプログラムを持っています - 呼び出し元プログラムは「x91」を使用して、オペレーティングシステムのコマンドラインとして入力されたかのようにEXEファイルをアクティブにしますエントリ。私の COBOL コードをラップするセキュリティ プログラムは、私のプログラムをラップするサード パーティ プログラムです。著者は、私のプログラムが環境変数を読み取って、セキュリティがハッキングされていないことを確認することを提案しました。cobol に変数を読み取らせることができなかったので、C でプログラムを作成すると、変数を読み取ることができると考えました。現在のプログラムが行っていることは、小さなシーケンシャル ファイルを作成し、それに 1 つのレコードを書き込んでファイルを閉じることだけです。セキュリティのために、サード パーティのセキュリティ ソフトウェアでプログラムをラップしています。そして、検証したい変数を生成して、プログラムがセキュリティチェックの内容を合格または不合格としてレコードを書き込むことができるようにします。呼び出しプログラム (cobol dll) は、ファイルの存在をテストし、レコードを読み取り、セキュリティ用のコードがファイルに書き込まれているかどうかを検証します。
COBOL プログラムは C++ に変換する必要があります。これは、セキュリティ ラッピング コードの作成者が、cobol 実行可能ファイルとのインターフェイスができないと言っているからです。
- 現在のプログラムは小さい
- 小さなシーケンシャル フラット テキスト ファイルを作成し、そこに 1 つのレコードを書き込んでから、そのレコードを書き込んでファイルを閉じるだけです。
- プログラムは、ファイルを生成する小さなプログラムをラップし、ラップされたプログラムの実行中に実行されるセキュリティ プログラムによって生成される特定の「環境」変数の存在と値をチェックする必要があります。
たとえば、変数「LICENSE」は、現在使用されているライセンスの名前を返します。ご意見ありがとうございます。
セキュリティ ソフトウェアの作成者は、変数をチェックするための小さな実行可能ファイルを提供できませんでした。そのため、私が参照している小さな cobol プログラムをエミュレートするものをゼロから作成しようとしています (セキュリティ プログラム ラッピングの環境変数を参照してください)。私の小さなプログラムを保護し、ファイルを作成し、それに 1 つのレコードを書き込みます。その内容は環境変数の値に依存し、ファイルを閉じます)。このようにして、呼び出し元の DLL は、オペレーティング システムへの「x91」呼び出しによって実行される小さなプログラムによって書き込まれたファイル (現在の Cobol ではなく C++ でコーディングする必要があるファイル) を受け取り、その内容を検証し、次のいずれかを許可します。続行するかどうかのメインプログラム。メイン ソフトウェアは、メインフレームのレガシー コードから PC に移植した 500 以上のプログラムで構成されています。
新しい小さなラップされたプログラムをアクティブにする DOS 呼び出しは、どの実行可能プログラムでも機能するので、実際には問題になりません..