JPH0553789A - プログラムの不法使用防止システム - Google Patents
プログラムの不法使用防止システムInfo
- Publication number
- JPH0553789A JPH0553789A JP3215524A JP21552491A JPH0553789A JP H0553789 A JPH0553789 A JP H0553789A JP 3215524 A JP3215524 A JP 3215524A JP 21552491 A JP21552491 A JP 21552491A JP H0553789 A JPH0553789 A JP H0553789A
- Authority
- JP
- Japan
- Prior art keywords
- program
- check
- source program
- main body
- complete
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002265 prevention Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Abstract
(57)【要約】
【目的】 確実性が高く、かつ簡易に実現することので
きるプログラムの不法使用防止システムを提供すること
を目的とする。 【構成】 本体プログラムをサーバに導入(復元)する
際に、本体プログラムの属性として決定される復元時乱
数をキーワードとしてチェック用ソースプログラムを完
成させる(ステップS3)。このソースプログラムは、
コンパイルした後、削除する(ステップS5)。これに
より、チェックのロジック解析を困難にして、不法使用
を困難にしている。本体プログラム実行時には、チェッ
クプログラムのキーワードが一致した場合にのみ実行を
許可する。不法復製した場合には、本体プログラムの属
性が異なったものとなってキーワードが一致せず、実行
をすることができない。
きるプログラムの不法使用防止システムを提供すること
を目的とする。 【構成】 本体プログラムをサーバに導入(復元)する
際に、本体プログラムの属性として決定される復元時乱
数をキーワードとしてチェック用ソースプログラムを完
成させる(ステップS3)。このソースプログラムは、
コンパイルした後、削除する(ステップS5)。これに
より、チェックのロジック解析を困難にして、不法使用
を困難にしている。本体プログラム実行時には、チェッ
クプログラムのキーワードが一致した場合にのみ実行を
許可する。不法復製した場合には、本体プログラムの属
性が異なったものとなってキーワードが一致せず、実行
をすることができない。
Description
【0001】
【産業上の利用分野】この発明はコンピュータプログラ
ムの不法使用を防止するシステムに関するものである。
ムの不法使用を防止するシステムに関するものである。
【0002】
【従来の技術】一般に、コンピュータプログラムは製作
労力に比べ、複製が極めて容易である。このため、不法
な複製・使用を有効に禁止するプロテクトシステムが種
々考えられている。
労力に比べ、複製が極めて容易である。このため、不法
な複製・使用を有効に禁止するプロテクトシステムが種
々考えられている。
【0003】例えば、特殊なハードウエアを用意し、当
該ハードウエアが存在しなければプログラムが動作しな
いようにする方法がある。この方法によれば、たとえプ
ログラムが不法に複製されたとしても、ハードウエアが
無いと動作しない。したがって、不法に複製されたプロ
グラムの使用を禁止することができる。
該ハードウエアが存在しなければプログラムが動作しな
いようにする方法がある。この方法によれば、たとえプ
ログラムが不法に複製されたとしても、ハードウエアが
無いと動作しない。したがって、不法に複製されたプロ
グラムの使用を禁止することができる。
【0004】
【発明が解決しようとする課題】しかしながら、上記の
ような従来の技術には、次のような問題点があった。
ような従来の技術には、次のような問題点があった。
【0005】本来、必要ではないプロテクト用のハード
ウエアを用意しなければならず、プロテクトに手間がか
かるという問題があった。また、不要なコスト上昇を招
くという問題点もあった。
ウエアを用意しなければならず、プロテクトに手間がか
かるという問題があった。また、不要なコスト上昇を招
くという問題点もあった。
【0006】この発明は、上記のような問題点を解決し
て、確実性が高く、かつ簡易に実現することのできるプ
ログラムの不法使用防止システムを提供することを目的
とする。
て、確実性が高く、かつ簡易に実現することのできるプ
ログラムの不法使用防止システムを提供することを目的
とする。
【0007】
【課題を解決するための手段】請求項1のプログラムの
不法使用防止システムは、本体プログラムに記憶された
パスワードとチェック用オブジェクトプログラムに記憶
されたパスワードとが一致した場合にのみ本体プログラ
ムの実行を許可するシステムであって、チェック用ソー
スプログラムのパスワードを決定するロジックにパスワ
ードを書き込まずに、未完全チェック用ソースプログラ
ムを用意しておき、対象となる装置に本体プログラムを
導入する際に、本体プログラムの属性として決定される
データを、パスワードとして未完全チェック用ソースプ
ログラムに書き込んで完全チェック用ソースプログラム
を完成し、完全チェック用ソースプログラムをコンパイ
ルしてチェック用オブジェクトプログラムを得た後、完
全チェック用ソースプログラムを削除することを特徴と
している。
不法使用防止システムは、本体プログラムに記憶された
パスワードとチェック用オブジェクトプログラムに記憶
されたパスワードとが一致した場合にのみ本体プログラ
ムの実行を許可するシステムであって、チェック用ソー
スプログラムのパスワードを決定するロジックにパスワ
ードを書き込まずに、未完全チェック用ソースプログラ
ムを用意しておき、対象となる装置に本体プログラムを
導入する際に、本体プログラムの属性として決定される
データを、パスワードとして未完全チェック用ソースプ
ログラムに書き込んで完全チェック用ソースプログラム
を完成し、完全チェック用ソースプログラムをコンパイ
ルしてチェック用オブジェクトプログラムを得た後、完
全チェック用ソースプログラムを削除することを特徴と
している。
【0008】請求項2のプログラムの不法使用防止シス
テムは、サーバと複数のクライエントを備え、同一のプ
ログラムを同時に動作させることのできるネットワーク
システムにおいて、プログラムの動作数がチェック用オ
ブジェクトプログラムに記憶された限度数を越えない場
合にのみ本体プログラムの実行を許可するシステムであ
って、チェック用ソースプログラムの限度数を決定する
ロジックに限度数を書き込まずに、未完全チェック用ソ
ースプログラムを用意しておき、対象となる装置に本体
プログラムを導入する際に、限度数を未完全チェック用
ソースプログラムに書き込んで完全チェック用ソースプ
ログラムを完成し、完全チェック用ソースプログラムを
コンパイルしてチェック用オブジェクトプログラムを得
た後、完全チェック用ソースプログラムを削除すること
を特徴としている。
テムは、サーバと複数のクライエントを備え、同一のプ
ログラムを同時に動作させることのできるネットワーク
システムにおいて、プログラムの動作数がチェック用オ
ブジェクトプログラムに記憶された限度数を越えない場
合にのみ本体プログラムの実行を許可するシステムであ
って、チェック用ソースプログラムの限度数を決定する
ロジックに限度数を書き込まずに、未完全チェック用ソ
ースプログラムを用意しておき、対象となる装置に本体
プログラムを導入する際に、限度数を未完全チェック用
ソースプログラムに書き込んで完全チェック用ソースプ
ログラムを完成し、完全チェック用ソースプログラムを
コンパイルしてチェック用オブジェクトプログラムを得
た後、完全チェック用ソースプログラムを削除すること
を特徴としている。
【0009】
【作用】請求項1に係るプログラムの不法使用防止シス
テムにおいては、本体プログラムを導入する際に本体プ
ログラムの属性として決定されるデータをパスワードと
して、チェック用ソースプログラムを完成するようにし
ている。これをコンパイルしてチェック用オブジェクト
プログラムを得ている。本体プログラムの実行時には、
本体プログラムに記憶されたパスワードとチェック用オ
ブジェクトプログラムに記憶されたパスワードとが一致
した場合にのみ本体プログラムの実行を許可するように
している。したがって、本体プログラムを不法に複製し
た場合には、パスワードが一致せず、実行することがで
きない。
テムにおいては、本体プログラムを導入する際に本体プ
ログラムの属性として決定されるデータをパスワードと
して、チェック用ソースプログラムを完成するようにし
ている。これをコンパイルしてチェック用オブジェクト
プログラムを得ている。本体プログラムの実行時には、
本体プログラムに記憶されたパスワードとチェック用オ
ブジェクトプログラムに記憶されたパスワードとが一致
した場合にのみ本体プログラムの実行を許可するように
している。したがって、本体プログラムを不法に複製し
た場合には、パスワードが一致せず、実行することがで
きない。
【0010】また、導入時に完成されたチェック用ソー
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法複製・使用を行えないよう
にしている。
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法複製・使用を行えないよう
にしている。
【0011】請求項2に係るプログラムの不法使用防止
システムにおいては、本体プログラムを導入する際に、
チェック用ソースプログラムに限度数を書き込んで、完
成するようにしている。これをコンパイルしてチェック
用オブジェクトプログラムを得ている。本体プログラム
の実行時には、プログラムの動作数がチェック用オブジ
ェクトプログラムに記憶された限度数を越えていない場
合にのみ本体プログラムの実行を許可するようにしてい
る。したがって、限度数を越えて本体プログラムを同時
使用することを禁止することができる。
システムにおいては、本体プログラムを導入する際に、
チェック用ソースプログラムに限度数を書き込んで、完
成するようにしている。これをコンパイルしてチェック
用オブジェクトプログラムを得ている。本体プログラム
の実行時には、プログラムの動作数がチェック用オブジ
ェクトプログラムに記憶された限度数を越えていない場
合にのみ本体プログラムの実行を許可するようにしてい
る。したがって、限度数を越えて本体プログラムを同時
使用することを禁止することができる。
【0012】また、導入時に完成されたチェック用ソー
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法使用を行えないようにして
いる。
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法使用を行えないようにして
いる。
【0013】
【実施例】図2に、この発明の一実施例による不法使用
防止システムを適用したネットワークシステムを示す。
ケーブル16によって、サーバ2とクライエント4,6,
8,10,12,14が接続されている。これにより、各クライ
エント4,6,8,10,12,14から、サーバ2の資源(プロ
グラム等)を使用することができる。
防止システムを適用したネットワークシステムを示す。
ケーブル16によって、サーバ2とクライエント4,6,
8,10,12,14が接続されている。これにより、各クライ
エント4,6,8,10,12,14から、サーバ2の資源(プロ
グラム等)を使用することができる。
【0014】図3に、サーバ2のブロック構成図を示
す。CPU20を中心として、バスライン21を介し、RO
M22、キーボード23、RAM24、フロッピィディスクド
ライブ26、ハードディスク28、LANアダプタ29が接続
されている。ROM22、RAM24には、プログラム、デ
ータ等が記憶されている。LANアダプタ29は、ケーブ
ル16を介して、各クライエント4,6,8,10,12,14と通
信を行うためのものである。なお、クライエント6,8,
10,12,14も同様の構成である。
す。CPU20を中心として、バスライン21を介し、RO
M22、キーボード23、RAM24、フロッピィディスクド
ライブ26、ハードディスク28、LANアダプタ29が接続
されている。ROM22、RAM24には、プログラム、デ
ータ等が記憶されている。LANアダプタ29は、ケーブ
ル16を介して、各クライエント4,6,8,10,12,14と通
信を行うためのものである。なお、クライエント6,8,
10,12,14も同様の構成である。
【0015】−導入時(復元時)の動作− 図1に、この発明の一実施例による不法使用防止システ
ムのプログラム導入時におけるフローチャートを示す。
このプログラムは、導入時のプログラムとして用意さ
れ、導入時にサーバ2のRAM24に読み込まれるもので
ある。以下、このフローチャートおよび図3を参照しつ
つ、導入時の動作を説明する。
ムのプログラム導入時におけるフローチャートを示す。
このプログラムは、導入時のプログラムとして用意さ
れ、導入時にサーバ2のRAM24に読み込まれるもので
ある。以下、このフローチャートおよび図3を参照しつ
つ、導入時の動作を説明する。
【0016】まず、導入すべき本体プログラムをフロッ
ピィディスク30(もしくはテープ32等の磁気媒体)で用
意する。次にこれを、サーバ2のフロッピィディスクド
ライブ26にセットして、本体プログラムの読み込み(こ
の実施例では、これを復元と呼ぶ)を行う(ステップS
1)。なお、フロッピィディスク30には、本体プログラ
ム以外に、未完全チェック用ソースプログラム(図4
参照)、未完全チェック用ソースプログラム(図5参
照)が保存されている。この未完全チェック用ソースプ
ログラムも併せて、復元が行われる。
ピィディスク30(もしくはテープ32等の磁気媒体)で用
意する。次にこれを、サーバ2のフロッピィディスクド
ライブ26にセットして、本体プログラムの読み込み(こ
の実施例では、これを復元と呼ぶ)を行う(ステップS
1)。なお、フロッピィディスク30には、本体プログラ
ム以外に、未完全チェック用ソースプログラム(図4
参照)、未完全チェック用ソースプログラム(図5参
照)が保存されている。この未完全チェック用ソースプ
ログラムも併せて、復元が行われる。
【0017】CPU20は、RAM24に復元された本体プ
ログラムの属性を決定して、記憶する。本体プログラム
の属性とは、ファイル形式、復元元媒体、復元日時、復
元時乱数等である。ここで、復元時乱数とは、復元を行
った際に、CPU20が定めた乱数である。このようにし
て決定された本体プログラムの属性は、変らずにそのま
ま保持される。
ログラムの属性を決定して、記憶する。本体プログラム
の属性とは、ファイル形式、復元元媒体、復元日時、復
元時乱数等である。ここで、復元時乱数とは、復元を行
った際に、CPU20が定めた乱数である。このようにし
て決定された本体プログラムの属性は、変らずにそのま
ま保持される。
【0018】次に、本体プログラムの属性を記述したフ
ァイルを作成する(ステップS2)。作成したプログラ
ム記述ファイルの一例を、図7に示す。このプログラム
記述ファイルの中から、復元時乱数を取り出す。取り出
した乱数を、図4に示す未完全チェック用ソースプログ
ラムのステップS14のロジックに挿入する。すなわ
ち、XXXXXXXXの部分に復元時乱数を書き込む(ステップ
S3)。
ァイルを作成する(ステップS2)。作成したプログラ
ム記述ファイルの一例を、図7に示す。このプログラム
記述ファイルの中から、復元時乱数を取り出す。取り出
した乱数を、図4に示す未完全チェック用ソースプログ
ラムのステップS14のロジックに挿入する。すなわ
ち、XXXXXXXXの部分に復元時乱数を書き込む(ステップ
S3)。
【0019】次に、動作限度数であるMAXJOB数をキーボ
ード23から入力する(ステップS4)。ここで、MAXJOB
数とは、本体プログラムの使用許諾契約等により定め
た、プログラムの同時使用可能最大数(通常クライエン
トの総数と等しい)をいう。MAXJOB数が入力されると、
CPU20はこれを、図5に示す未完全チェック用ソース
プログラムのステップS26のロジックに挿入する。す
なわち、XXの部分にMAXJOB数を書き込む(ステップ
S3)。
ード23から入力する(ステップS4)。ここで、MAXJOB
数とは、本体プログラムの使用許諾契約等により定め
た、プログラムの同時使用可能最大数(通常クライエン
トの総数と等しい)をいう。MAXJOB数が入力されると、
CPU20はこれを、図5に示す未完全チェック用ソース
プログラムのステップS26のロジックに挿入する。す
なわち、XXの部分にMAXJOB数を書き込む(ステップ
S3)。
【0020】以上のようにして、チェック用ソースプロ
グラムが完成する。次に、この完全チェック用ソー
スプログラムのコンパイルを行う(ステップ
S4)。これにより、チェック用オブジェクトプログラ
ムが得られる。なお、チェック用オブジェクトプロ
グラムは、サブルーチンとして呼出せるように形成
される。
グラムが完成する。次に、この完全チェック用ソー
スプログラムのコンパイルを行う(ステップ
S4)。これにより、チェック用オブジェクトプログラ
ムが得られる。なお、チェック用オブジェクトプロ
グラムは、サブルーチンとして呼出せるように形成
される。
【0021】このようにして、チェック用オブジェクト
プログラムを得た後、完全チェック用ソースプログ
ラムを削除する。したがって、復元を行ったサーバ
2には、チェック用ソーズプログラムが残らない。この
ため、チェック用プログラムの論理を容易に解析するこ
とができず、不法使用を有効に禁止することができる。
プログラムを得た後、完全チェック用ソースプログ
ラムを削除する。したがって、復元を行ったサーバ
2には、チェック用ソーズプログラムが残らない。この
ため、チェック用プログラムの論理を容易に解析するこ
とができず、不法使用を有効に禁止することができる。
【0022】−本体プログラム使用時の動作− 次に、本体プログラム(ここでは、PGM-MAINPRというフ
ァイル名であるとする)をワークステーションから使用
する場合の動作を、図6のフローチャートを参照して説
明する。まず、ステップS30において、サブルーチンと
して生成されているチェック用プログラムを呼び出
す。これにより、図4に示すチェック用プログラムが
実行される(ステップS31)。
ァイル名であるとする)をワークステーションから使用
する場合の動作を、図6のフローチャートを参照して説
明する。まず、ステップS30において、サブルーチンと
して生成されているチェック用プログラムを呼び出
す。これにより、図4に示すチェック用プログラムが
実行される(ステップS31)。
【0023】図4において、ステップS10にて、本体プ
ログラムの属性を記述したファイル(プログラム記述フ
ァイル)を作成する(図7参照)。本体プログラムの属
性は変らないので、プログラム記述ファイルの内容は、
復元時の内容と同じものである。
ログラムの属性を記述したファイル(プログラム記述フ
ァイル)を作成する(図7参照)。本体プログラムの属
性は変らないので、プログラム記述ファイルの内容は、
復元時の内容と同じものである。
【0024】次に、このプログラム記述ファイルの内容
を読み込み(ステップS11)、その中の復元時乱数が、
復元時のものと等しいか否かを判断する(ステップ
S14)。等しければ、結果フラグを実行可として、プ
ログラム記述ファイルを削除した後(ステップS13)、
図6のプログラムに戻る。
を読み込み(ステップS11)、その中の復元時乱数が、
復元時のものと等しいか否かを判断する(ステップ
S14)。等しければ、結果フラグを実行可として、プ
ログラム記述ファイルを削除した後(ステップS13)、
図6のプログラムに戻る。
【0025】結果フラグが実行可であれば、ステップ
S33において、チェック用プログラムを呼び出す。こ
れにより、図5に示すチェック用プログラムが実行さ
れる(ステップS34)。
S33において、チェック用プログラムを呼び出す。こ
れにより、図5に示すチェック用プログラムが実行さ
れる(ステップS34)。
【0026】図5において、ステップS20にて、活動ジ
ョブ数を0に初期セットする。次に、活動ジョブファイ
ルを作成する(ステップS21)。ここで、活動ジョブフ
ァイルとは、ネットワークシステムにおいて、使用され
ているプログラムの状況を表わすファイルである。その
一例を、図8に示す。図においては、PGM-MAINPR,PGM-A
XB,PGM-900XB,PGM-MAINPRというファイル名のプログラ
ムが使用されていることが示されている。すなわち、本
体プログラムPGM-MAINPRは、2ケ使用されていることが
分る。
ョブ数を0に初期セットする。次に、活動ジョブファイ
ルを作成する(ステップS21)。ここで、活動ジョブフ
ァイルとは、ネットワークシステムにおいて、使用され
ているプログラムの状況を表わすファイルである。その
一例を、図8に示す。図においては、PGM-MAINPR,PGM-A
XB,PGM-900XB,PGM-MAINPRというファイル名のプログラ
ムが使用されていることが示されている。すなわち、本
体プログラムPGM-MAINPRは、2ケ使用されていることが
分る。
【0027】次に、活動ジョブファイルの内容を読み込
み(ステップS22)、活動ジョブ名がPGM-MAINPRである
か否かを1つずつチェックして行く(ステップS24)。
そして、PGM-MAINPRであれば、活動ジョブ数に1を加算
する(ステップS25)。すなわち、本体プログラムであ
るPGM-MAINPRが何個使用されているかを計数する。
み(ステップS22)、活動ジョブ名がPGM-MAINPRである
か否かを1つずつチェックして行く(ステップS24)。
そして、PGM-MAINPRであれば、活動ジョブ数に1を加算
する(ステップS25)。すなわち、本体プログラムであ
るPGM-MAINPRが何個使用されているかを計数する。
【0028】次に、上記のようにして計数した活動ジョ
ブ数が、復元時に設定したMAXJOB数以下であるか否かを
判断する(ステップS26)。MAXJOB数以下であれば、結
果フラグを実行可として(ステップS27)、活動ジョ
ブ状況ファイルを削除した後(ステップS29)、図6の
プログラムに戻る。結果フラグが実行可であれば、本
体プログラムPGM-MAINPRの実行に入る(ステップ
S36)。
ブ数が、復元時に設定したMAXJOB数以下であるか否かを
判断する(ステップS26)。MAXJOB数以下であれば、結
果フラグを実行可として(ステップS27)、活動ジョ
ブ状況ファイルを削除した後(ステップS29)、図6の
プログラムに戻る。結果フラグが実行可であれば、本
体プログラムPGM-MAINPRの実行に入る(ステップ
S36)。
【0029】上記のように、正規に復元した本体プログ
ラムを限度数(MAXJOB数)の範囲内で使用する場合に
は、正常に本体プログラムを動作させることができる。
ラムを限度数(MAXJOB数)の範囲内で使用する場合に
は、正常に本体プログラムを動作させることができる。
【0030】一方、本体プログラムを不法に複製した場
合には、次のようにして使用が禁止される。例えば、正
規の手続、すなわち、図1の手順を経ないで復元を行っ
た場合について説明する。この場合には、チェック用プ
ログラムのステップS14が書き換えられず、復元が行
われることになる。したがって、本体プログラムの属性
として有する復元時乱数と、チェック用プログラムの
復元時乱数とが一致しないこととなる。このため、本体
プログラムを実行しようとする際に、図4のチェック用
プログラムを実行した時、結果フラグが実行否となる
(ステップS14、S16)。よって、図6のステップS32
において、プログラムの実行が拒否される。
合には、次のようにして使用が禁止される。例えば、正
規の手続、すなわち、図1の手順を経ないで復元を行っ
た場合について説明する。この場合には、チェック用プ
ログラムのステップS14が書き換えられず、復元が行
われることになる。したがって、本体プログラムの属性
として有する復元時乱数と、チェック用プログラムの
復元時乱数とが一致しないこととなる。このため、本体
プログラムを実行しようとする際に、図4のチェック用
プログラムを実行した時、結果フラグが実行否となる
(ステップS14、S16)。よって、図6のステップS32
において、プログラムの実行が拒否される。
【0031】また、定められた限度数を越えて本体プロ
グラムを使用しようとする場合には、次のようにして使
用が禁止される。例えば、限度数を3と設定していたと
する。したがって、3つのワークステーションからは同
時に本体プログラムを使用できる。この状態で、さら
に、4つ目のワークステーションから本体プログラムの
実行を試みたとする。
グラムを使用しようとする場合には、次のようにして使
用が禁止される。例えば、限度数を3と設定していたと
する。したがって、3つのワークステーションからは同
時に本体プログラムを使用できる。この状態で、さら
に、4つ目のワークステーションから本体プログラムの
実行を試みたとする。
【0032】この場合には、4つ目のプログラムを実行
使用とした時、図5のチェック用プログラムにおい
て、活動ジョブ数が4つと計数される(ステップS20〜
S25)。したがって、ステップS26において、活動ジョ
ブ数が限度数の3を上回り、結果フラグが実行否とな
る(ステップS26、S28)。よって、図6のステップS
35において、プログラムの実行が拒否される。
使用とした時、図5のチェック用プログラムにおい
て、活動ジョブ数が4つと計数される(ステップS20〜
S25)。したがって、ステップS26において、活動ジョ
ブ数が限度数の3を上回り、結果フラグが実行否とな
る(ステップS26、S28)。よって、図6のステップS
35において、プログラムの実行が拒否される。
【0033】以上のようにして、不法な複製・使用を禁
止することができる。
止することができる。
【0034】なお、上記実施例では、復元時乱数および
活動ジョブ数の双方にてチェックを行うようにしてい
る。しかし、何れか一方のみを使用しても良い。
活動ジョブ数の双方にてチェックを行うようにしてい
る。しかし、何れか一方のみを使用しても良い。
【0035】また、上記実施例では、復元時乱数をパス
ワードとしたが、本体プログラムを導入する際に本体プ
ログラムの属性として決定される他のデータ(ファイル
形式、復元元媒体、復元日時等)をパスワードとして使
用しても良い。
ワードとしたが、本体プログラムを導入する際に本体プ
ログラムの属性として決定される他のデータ(ファイル
形式、復元元媒体、復元日時等)をパスワードとして使
用しても良い。
【0036】なお、上記実施例では、自動的に決定され
る属性をパスワードとして使用した。しかし、作業者が
入力した任意の数・記号等を本体プログラムの属性と
し、これをパスワードとして使用するようにしてもよ
い。
る属性をパスワードとして使用した。しかし、作業者が
入力した任意の数・記号等を本体プログラムの属性と
し、これをパスワードとして使用するようにしてもよ
い。
【0037】さらに、上記実施例では、ネットワークシ
ステムに適用したが、チェック用プログラムは、スタ
ンドアローンのシステムにも適用することができる。
ステムに適用したが、チェック用プログラムは、スタ
ンドアローンのシステムにも適用することができる。
【0038】なお、この明細書において、「サーバ」と
はその名称にかかわらずネットワークシステムの中心的
役割を果す機器を言い、「クライエント」とはその名称
にかかわらず端末機的な役割を果す機器を言うものであ
る。
はその名称にかかわらずネットワークシステムの中心的
役割を果す機器を言い、「クライエント」とはその名称
にかかわらず端末機的な役割を果す機器を言うものであ
る。
【0039】
【発明の効果】請求項1に係るプログラムの不法使用防
止システムにおいては、本体プログラムを導入する際に
本体プログラムの属性として決定されるデータをパスワ
ードとして、チェック用ソースプログラムを完成するよ
うにしている。これをコンパイルしてチェック用オブジ
ェクトプログラムを得ている。本体プログラムの実行時
には、本体プログラムに記憶されたパスワードとチェッ
ク用オブジェクトプログラムに記憶されたパスワードと
が一致した場合にのみ本体プログラムの実行を許可する
ようにしている。したがって、本体プログラムを不法に
複製した場合には、パスワードが一致せず、実行するこ
とができない。
止システムにおいては、本体プログラムを導入する際に
本体プログラムの属性として決定されるデータをパスワ
ードとして、チェック用ソースプログラムを完成するよ
うにしている。これをコンパイルしてチェック用オブジ
ェクトプログラムを得ている。本体プログラムの実行時
には、本体プログラムに記憶されたパスワードとチェッ
ク用オブジェクトプログラムに記憶されたパスワードと
が一致した場合にのみ本体プログラムの実行を許可する
ようにしている。したがって、本体プログラムを不法に
複製した場合には、パスワードが一致せず、実行するこ
とができない。
【0040】また、導入時に完成されたチェック用ソー
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法複製・使用を行えないよう
にしている。
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法複製・使用を行えないよう
にしている。
【0041】請求項2に係るプログラムの不法使用防止
システムにおいては、本体プログラムを導入する際に、
チェック用ソースプログラムに限度数を書き込んで、完
成するようにしている。これをコンパイルしてチェック
用オブジェクトプログラムを得ている。本体プログラム
の実行時には、プログラムの動作数がチェック用オブジ
ェクトプログラムに記憶された限度数を越えていない場
合にのみ本体プログラムの実行を許可するようにしてい
る。したがって、限度数を越えて本体プログラムを同時
使用することを禁止することができる。
システムにおいては、本体プログラムを導入する際に、
チェック用ソースプログラムに限度数を書き込んで、完
成するようにしている。これをコンパイルしてチェック
用オブジェクトプログラムを得ている。本体プログラム
の実行時には、プログラムの動作数がチェック用オブジ
ェクトプログラムに記憶された限度数を越えていない場
合にのみ本体プログラムの実行を許可するようにしてい
る。したがって、限度数を越えて本体プログラムを同時
使用することを禁止することができる。
【0042】また、導入時に完成されたチェック用ソー
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法使用を行えないようにして
いる。
スプログラムは、コンパイルの後に削除するようにして
いる。これにより、チェック用プログラムのロジック解
析を困難にして、容易に不法使用を行えないようにして
いる。
【0043】すなわち、この発明によれば、確実性が高
く、かつ簡易に実現することのできるプログラムの不法
使用防止システムを提供することができる。
く、かつ簡易に実現することのできるプログラムの不法
使用防止システムを提供することができる。
【図1】この発明の一実施例による不法使用防止システ
ムにおける、プログラム導入時のフローチャートを示す
図である。
ムにおける、プログラム導入時のフローチャートを示す
図である。
【図2】図1の不法使用防止システムを適用したネット
ワークシステムを示す図である。
ワークシステムを示す図である。
【図3】サーバ2のブロック構成を示す図である。
【図4】チェック用プログラムのフローチャートを示
す図である。
す図である。
【図5】チェック用プログラムのフローチャートを示
す図である。
す図である。
【図6】本体プログラム使用時の動作フローチャートを
示す図である。
示す図である。
【図7】プログラム記述ファイルの内容を示す図であ
る。
る。
【図8】活動状況ジョブファイルの内容を示す図であ
る。
る。
2・・・サーバ 4,6,8,10,12,14・・・クライエント 16・・・ケーブル
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年8月25日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0020
【補正方法】変更
【補正内容】
【0020】以上のようにして、チェック用ソースプロ
グラムが完成する。次に、この完全チェック用ソー
スプログラムのコンパイルを行う(ステップ
S5 )。これにより、チェック用オブジェクトプログラ
ムが得られる。なお、チェック用オブジェクトプロ
グラムは、サブルーチンとして呼出せるように形成
される。
グラムが完成する。次に、この完全チェック用ソー
スプログラムのコンパイルを行う(ステップ
S5 )。これにより、チェック用オブジェクトプログラ
ムが得られる。なお、チェック用オブジェクトプロ
グラムは、サブルーチンとして呼出せるように形成
される。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正内容】
【0021】このようにして、チェック用オブジェクト
プログラムを得た後、完全チェック用ソースプログ
ラムを削除する(ステップS6 )。したがって、復
元を行ったサーバ2には、チェック用ソースプログラム
が残らない。このため、チェック用プログラムの論理を
容易に解析することができず、不法使用を有効に禁止す
ることができる。
プログラムを得た後、完全チェック用ソースプログ
ラムを削除する(ステップS6 )。したがって、復
元を行ったサーバ2には、チェック用ソースプログラム
が残らない。このため、チェック用プログラムの論理を
容易に解析することができず、不法使用を有効に禁止す
ることができる。
Claims (2)
- 【請求項1】本体プログラムに記憶されたパスワードと
チェック用オブジェクトプログラムに記憶されたパスワ
ードとが一致した場合にのみ本体プログラムの実行を許
可するシステムであって、 チェック用ソースプログラムのパスワードを決定するロ
ジックにパスワードを書き込まずに、未完全チェック用
ソースプログラムを用意しておき、 対象となる装置に本体プログラムを導入する際に、本体
プログラムの属性として決定されるデータを、パスワー
ドとして未完全チェック用ソースプログラムに書き込ん
で完全チェック用ソースプログラムを完成し、 完全チェック用ソースプログラムをコンパイルしてチェ
ック用オブジェクトプログラムを得た後、完全チェック
用ソースプログラムを削除することを特徴とするプログ
ラムの不法使用防止システム。 - 【請求項2】サーバと複数のクライエントを備え、同一
のプログラムを同時に動作させることのできるネットワ
ークシステムにおいて、 プログラムの動作数がチェック用オブジェクトプログラ
ムに記憶された限度数を越えない場合にのみ本体プログ
ラムの実行を許可するシステムであって、 チェック用ソースプログラムの限度数を決定するロジッ
クに限度数を書き込まずに、未完全チェック用ソースプ
ログラムを用意しておき、 対象となる装置に本体プログラムを導入する際に、限度
数を未完全チェック用ソースプログラムに書き込んで完
全チェック用ソースプログラムを完成し、 完全チェック用ソースプログラムをコンパイルしてチェ
ック用オブジェクトプログラムを得た後、完全チェック
用ソースプログラムを削除することを特徴とするプログ
ラムの不法使用防止システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03215524A JP3103397B2 (ja) | 1991-08-27 | 1991-08-27 | プログラムの不法使用防止システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03215524A JP3103397B2 (ja) | 1991-08-27 | 1991-08-27 | プログラムの不法使用防止システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0553789A true JPH0553789A (ja) | 1993-03-05 |
| JP3103397B2 JP3103397B2 (ja) | 2000-10-30 |
Family
ID=16673849
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP03215524A Expired - Fee Related JP3103397B2 (ja) | 1991-08-27 | 1991-08-27 | プログラムの不法使用防止システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3103397B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10190685A (ja) * | 1996-12-27 | 1998-07-21 | Mitsubishi Electric Corp | 情報通信装置 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6161499A (en) | 1997-07-07 | 2000-12-19 | Cvd Diamond Corporation | Apparatus and method for nucleation and deposition of diamond using hot-filament DC plasma |
-
1991
- 1991-08-27 JP JP03215524A patent/JP3103397B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10190685A (ja) * | 1996-12-27 | 1998-07-21 | Mitsubishi Electric Corp | 情報通信装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3103397B2 (ja) | 2000-10-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6675295B1 (en) | Method and computer system for detecting and correcting a failure in a computer application program during startup | |
| JP3786722B2 (ja) | デジタル署名を用いた進行オブジェクト指向型プログラムの有効利用方法および装置 | |
| US7437764B1 (en) | Vulnerability assessment of disk images | |
| JP3628522B2 (ja) | ファイル・セットのバージョンをマージする方法およびシステム | |
| US6618735B1 (en) | System and method for protecting shared system files | |
| US6779117B1 (en) | Authentication program for a computer operating system | |
| US8898802B2 (en) | Electronic computer data management method, program, and recording medium | |
| CN102799817B (zh) | 用于使用虚拟化技术进行恶意软件保护的系统和方法 | |
| US5956481A (en) | Method and apparatus for protecting data files on a computer from virus infection | |
| US7243348B2 (en) | Computing apparatus with automatic integrity reference generation and maintenance | |
| US6698016B1 (en) | Method for injecting code into another process | |
| US20030037099A1 (en) | Mobile application security system and method | |
| US10417179B2 (en) | Method for managing files and apparatus using the same | |
| US7600231B2 (en) | Control method for controlling an application program | |
| US20070028225A1 (en) | Method and apparatus for preemptive monitoring of software binaries by instruction interception and dynamic recompilation | |
| US20100050257A1 (en) | Confirmation method of api by the information at call-stack | |
| JP2004533054A (ja) | オペレーティングシステム抽象化/保護レイヤ | |
| US5926652A (en) | Matching of wild card patterns to wild card strings associated with named computer objects | |
| US7228526B2 (en) | Application imaging infrastructure | |
| CN107229977A (zh) | 一种主机安全基线自动加固方法及系统 | |
| US5946493A (en) | Method and system in a data processing system for association of source code instructions with an optimized listing of object code instructions | |
| JP3103397B2 (ja) | プログラムの不法使用防止システム | |
| US7003721B1 (en) | Safe save method of HTML files using recovery files including a list with temporary and final names for replacement files | |
| KR102525655B1 (ko) | 문서 저장 제어 방법 | |
| JPWO2006103752A1 (ja) | 文書のコピーを制御する方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |