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
Application number
JP3215524A
Other languages
English (en)
Other versions
JP3103397B2 (ja
Inventor
Satoshi Ogawa
敏 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyoraku Co Ltd
Original Assignee
Kyoraku Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyoraku Co Ltd filed Critical Kyoraku Co Ltd
Priority to JP03215524A priority Critical patent/JP3103397B2/ja
Publication of JPH0553789A publication Critical patent/JPH0553789A/ja
Application granted granted Critical
Publication of JP3103397B2 publication Critical patent/JP3103397B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 確実性が高く、かつ簡易に実現することので
きるプログラムの不法使用防止システムを提供すること
を目的とする。 【構成】 本体プログラムをサーバに導入(復元)する
際に、本体プログラムの属性として決定される復元時乱
数をキーワードとしてチェック用ソースプログラムを完
成させる(ステップ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の資源(プロ
グラム等)を使用することができる。
【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も同様の構成である。
【0015】−導入時(復元時)の動作− 図1に、この発明の一実施例による不法使用防止システ
ムのプログラム導入時におけるフローチャートを示す。
このプログラムは、導入時のプログラムとして用意さ
れ、導入時にサーバ2のRAM24に読み込まれるもので
ある。以下、このフローチャートおよび図3を参照しつ
つ、導入時の動作を説明する。
【0016】まず、導入すべき本体プログラムをフロッ
ピィディスク30(もしくはテープ32等の磁気媒体)で用
意する。次にこれを、サーバ2のフロッピィディスクド
ライブ26にセットして、本体プログラムの読み込み(こ
の実施例では、これを復元と呼ぶ)を行う(ステップS
1)。なお、フロッピィディスク30には、本体プログラ
ム以外に、未完全チェック用ソースプログラム(図4
参照)、未完全チェック用ソースプログラム(図5参
照)が保存されている。この未完全チェック用ソースプ
ログラムも併せて、復元が行われる。
【0017】CPU20は、RAM24に復元された本体プ
ログラムの属性を決定して、記憶する。本体プログラム
の属性とは、ファイル形式、復元元媒体、復元日時、復
元時乱数等である。ここで、復元時乱数とは、復元を行
った際に、CPU20が定めた乱数である。このようにし
て決定された本体プログラムの属性は、変らずにそのま
ま保持される。
【0018】次に、本体プログラムの属性を記述したフ
ァイルを作成する(ステップS2)。作成したプログラ
ム記述ファイルの一例を、図7に示す。このプログラム
記述ファイルの中から、復元時乱数を取り出す。取り出
した乱数を、図4に示す未完全チェック用ソースプログ
ラムのステップS14のロジックに挿入する。すなわ
ち、XXXXXXXXの部分に復元時乱数を書き込む(ステップ
3)。
【0019】次に、動作限度数であるMAXJOB数をキーボ
ード23から入力する(ステップS4)。ここで、MAXJOB
数とは、本体プログラムの使用許諾契約等により定め
た、プログラムの同時使用可能最大数(通常クライエン
トの総数と等しい)をいう。MAXJOB数が入力されると、
CPU20はこれを、図5に示す未完全チェック用ソース
プログラムのステップS26のロジックに挿入する。す
なわち、XXの部分にMAXJOB数を書き込む(ステップ
3)。
【0020】以上のようにして、チェック用ソースプロ
グラムが完成する。次に、この完全チェック用ソー
スプログラムのコンパイルを行う(ステップ
4)。これにより、チェック用オブジェクトプログラ
ムが得られる。なお、チェック用オブジェクトプロ
グラムは、サブルーチンとして呼出せるように形成
される。
【0021】このようにして、チェック用オブジェクト
プログラムを得た後、完全チェック用ソースプログ
ラムを削除する。したがって、復元を行ったサーバ
2には、チェック用ソーズプログラムが残らない。この
ため、チェック用プログラムの論理を容易に解析するこ
とができず、不法使用を有効に禁止することができる。
【0022】−本体プログラム使用時の動作− 次に、本体プログラム(ここでは、PGM-MAINPRというフ
ァイル名であるとする)をワークステーションから使用
する場合の動作を、図6のフローチャートを参照して説
明する。まず、ステップS30において、サブルーチンと
して生成されているチェック用プログラムを呼び出
す。これにより、図4に示すチェック用プログラムが
実行される(ステップS31)。
【0023】図4において、ステップS10にて、本体プ
ログラムの属性を記述したファイル(プログラム記述フ
ァイル)を作成する(図7参照)。本体プログラムの属
性は変らないので、プログラム記述ファイルの内容は、
復元時の内容と同じものである。
【0024】次に、このプログラム記述ファイルの内容
を読み込み(ステップS11)、その中の復元時乱数が、
復元時のものと等しいか否かを判断する(ステップ
14)。等しければ、結果フラグを実行可として、プ
ログラム記述ファイルを削除した後(ステップS13)、
図6のプログラムに戻る。
【0025】結果フラグが実行可であれば、ステップ
33において、チェック用プログラムを呼び出す。こ
れにより、図5に示すチェック用プログラムが実行さ
れる(ステップS34)。
【0026】図5において、ステップS20にて、活動ジ
ョブ数を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が何個使用されているかを計数する。
【0028】次に、上記のようにして計数した活動ジョ
ブ数が、復元時に設定したMAXJOB数以下であるか否かを
判断する(ステップS26)。MAXJOB数以下であれば、結
果フラグを実行可として(ステップS27)、活動ジョ
ブ状況ファイルを削除した後(ステップS29)、図6の
プログラムに戻る。結果フラグが実行可であれば、本
体プログラムPGM-MAINPRの実行に入る(ステップ
36)。
【0029】上記のように、正規に復元した本体プログ
ラムを限度数(MAXJOB数)の範囲内で使用する場合に
は、正常に本体プログラムを動作させることができる。
【0030】一方、本体プログラムを不法に複製した場
合には、次のようにして使用が禁止される。例えば、正
規の手続、すなわち、図1の手順を経ないで復元を行っ
た場合について説明する。この場合には、チェック用プ
ログラムのステップS14が書き換えられず、復元が行
われることになる。したがって、本体プログラムの属性
として有する復元時乱数と、チェック用プログラムの
復元時乱数とが一致しないこととなる。このため、本体
プログラムを実行しようとする際に、図4のチェック用
プログラムを実行した時、結果フラグが実行否となる
(ステップS14、S16)。よって、図6のステップS32
において、プログラムの実行が拒否される。
【0031】また、定められた限度数を越えて本体プロ
グラムを使用しようとする場合には、次のようにして使
用が禁止される。例えば、限度数を3と設定していたと
する。したがって、3つのワークステーションからは同
時に本体プログラムを使用できる。この状態で、さら
に、4つ目のワークステーションから本体プログラムの
実行を試みたとする。
【0032】この場合には、4つ目のプログラムを実行
使用とした時、図5のチェック用プログラムにおい
て、活動ジョブ数が4つと計数される(ステップS20
25)。したがって、ステップ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】以上のようにして、チェック用ソースプロ
グラムが完成する。次に、この完全チェック用ソー
スプログラムのコンパイルを行う(ステップ
5 )。これにより、チェック用オブジェクトプログラ
ムが得られる。なお、チェック用オブジェクトプロ
グラムは、サブルーチンとして呼出せるように形成
される。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正内容】
【0021】このようにして、チェック用オブジェクト
プログラムを得た後、完全チェック用ソースプログ
ラムを削除する(ステップS6 )。したがって、復
元を行ったサーバ2には、チェック用ソースプログラム
が残らない。このため、チェック用プログラムの論理を
容易に解析することができず、不法使用を有効に禁止す
ることができる。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】本体プログラムに記憶されたパスワードと
    チェック用オブジェクトプログラムに記憶されたパスワ
    ードとが一致した場合にのみ本体プログラムの実行を許
    可するシステムであって、 チェック用ソースプログラムのパスワードを決定するロ
    ジックにパスワードを書き込まずに、未完全チェック用
    ソースプログラムを用意しておき、 対象となる装置に本体プログラムを導入する際に、本体
    プログラムの属性として決定されるデータを、パスワー
    ドとして未完全チェック用ソースプログラムに書き込ん
    で完全チェック用ソースプログラムを完成し、 完全チェック用ソースプログラムをコンパイルしてチェ
    ック用オブジェクトプログラムを得た後、完全チェック
    用ソースプログラムを削除することを特徴とするプログ
    ラムの不法使用防止システム。
  2. 【請求項2】サーバと複数のクライエントを備え、同一
    のプログラムを同時に動作させることのできるネットワ
    ークシステムにおいて、 プログラムの動作数がチェック用オブジェクトプログラ
    ムに記憶された限度数を越えない場合にのみ本体プログ
    ラムの実行を許可するシステムであって、 チェック用ソースプログラムの限度数を決定するロジッ
    クに限度数を書き込まずに、未完全チェック用ソースプ
    ログラムを用意しておき、 対象となる装置に本体プログラムを導入する際に、限度
    数を未完全チェック用ソースプログラムに書き込んで完
    全チェック用ソースプログラムを完成し、 完全チェック用ソースプログラムをコンパイルしてチェ
    ック用オブジェクトプログラムを得た後、完全チェック
    用ソースプログラムを削除することを特徴とするプログ
    ラムの不法使用防止システム。
JP03215524A 1991-08-27 1991-08-27 プログラムの不法使用防止システム Expired - Fee Related JP3103397B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10190685A (ja) * 1996-12-27 1998-07-21 Mitsubishi Electric Corp 情報通信装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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