JPS62182927A - プロテクト方式 - Google Patents

プロテクト方式

Info

Publication number
JPS62182927A
JPS62182927A JP61025331A JP2533186A JPS62182927A JP S62182927 A JPS62182927 A JP S62182927A JP 61025331 A JP61025331 A JP 61025331A JP 2533186 A JP2533186 A JP 2533186A JP S62182927 A JPS62182927 A JP S62182927A
Authority
JP
Japan
Prior art keywords
program
pattern data
pattern
port
data
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.)
Pending
Application number
JP61025331A
Other languages
English (en)
Inventor
Osamu Onodera
修 小野寺
Ryuichi Yamaki
八巻 龍一
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.)
BOOSUTETSUKU KK
Original Assignee
BOOSUTETSUKU KK
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 BOOSUTETSUKU KK filed Critical BOOSUTETSUKU KK
Priority to JP61025331A priority Critical patent/JPS62182927A/ja
Publication of JPS62182927A publication Critical patent/JPS62182927A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はソフトウェアプログラムの不当な使用、例えば
違法コピーによる使用を効果的に防止し得るプロテクト
方式に関する。
〔発明の技術的背景とその問題点〕
近時、ソフトウェアの飛躍的な発展と成長、およびその
多様化に伴い、そのソフトウェアプログラムを不当に複
製する利用者が台頭している。このことは、ソフトウェ
アプログラムに関する著作権の問題を始めとして、正当
なソフトウェア開発の大きな妨げとなっている。
そこで最近では、そのプログラム自体に不当なプログラ
ムのコピーを防ぐ為のプロテクトを組込むことが行われ
ている。然し乍ら、このプロテクトを外すことは不可能
ではなく、不当なコピーツールの開発すら行われている
。この為、現状では新しいプロテクトの開発と、そのプ
ロテクトを外す為の不正なプログラム゛解析とが交互に
行われていると云っても過言ではない。
〔発明の目的〕
本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、ソフトウェアプログラムの不当
な使用、例えば違法コピーによる使用を効果的に防止し
得るプロテクト方式を提供することにある。
〔発明の概要〕
本発明はプログラム実行装置にて実行されるプログラム
に該プログラム実行装置のポートに与えられるデータを
検出し、このデータが予め設定された周期の予め設定さ
れたパターンデータであることを判定して上記プログラ
ムの実行を制御するチェックルーチンを組込み、一方、
前記プログラム実行装置のポートに前記予め設定された
パターンデータを予め設定された周期で与えるパターン
発生回路を上記プログラムに対応して設けるようにした
ものである。
〔発明の効果〕
かくして本発明によれば、プログラム実行装置にて実行
されるプログラムは、該プログラム実行装置のポートに
所定の周期で与えられるパターン発生回路からの所定の
パターンデータを検出しない限り動作しないので、仮え
プログラムの不正なコピーが行われたとしても、上記プ
ログラムに対応したパターン発生回路を準備しない限り
、所定周期の所定のパターンデータを得ることができな
いので、その不正な使用を効果的に防止することができ
る。
しかも、パターン発生回路が発生するパターンデータ、
およびその発生周期はプログラムに対応して任意に設定
可能なものであるから、同一仕様のパターン発生回路の
再現は甚だ困難である。従って、プログラムの不正コピ
ーを防止する為に該プログラムに組込まれるプロテクト
を効果的に支援して、その不正使用を効果的に防止する
ことが可能となる等の実用上多大なる効果が奏せられる
〔実施例〕
以下、図面を参照して本発明の一実施例につき説明する
第1図は実施例方式の概念を示す図で、1はディスクや
テープ等のプログラム記憶媒体(図示せず)からロード
されたプログラム2を実行するプログラム実行装置、3
は上記プログラム2に対応して設けられ、所定のパター
ンデータを所定の周期で発生して上記プログラム実行装
置1のポート、例えばジョイステックポート4に与える
パターン発生回路である。
上記プログラム実行装置lは、例えば2つのジョイステ
ィックポートを備えたパーソナル・コンピュータの本体
、具体的にはNEC製のPC−6001系、同PC−6
601系、富士通製のFM−77AV、  シャープ製
のX1系等からなる。
このようなパーソナル・コンピュータの通常使用されな
い側のジョイスティックポートに前記パターン発生回路
3が接続される。
しかしてパターン発生回路3は、例えば第2図に示すよ
うに2つのTTLナントゲート5a、 5bを用いてマ
ルチバイブレークを構成し、その出力をスイッチ6a、
 6b、〜6eを介して前記ジョイスティックポート4
に接続される接続ポート7に選択的に出力するようにし
て実現される。これらのスイッチBa、 8b、〜6e
は、前記プログラム2に対応して選択的にセットされる
ものであり、これによって成るビットパターンのデータ
が接続ボート7に出力されるようになっている。またこ
のパターンデータを出力するマルチバイブレークの発振
周期は、スイッチ8a、 8bにより選択的に切替えら
れて前記マルチバイブレータのフィードバックループに
介挿されるコンデンサcL c2. c3、および抵抗
rl、 r2. r3. r4とによって定まる時定数
により選択的に設定されるものとなっている。このスイ
ッチ8a、 8bの選択的な投入によってその発振周期
が前記プログラム2に対応して固有に設定されるように
なっている。
尚、このパターン発生回路3は、前記ジョイスティック
ボート4に接続され、該ジョイステイ、。
クポート4からその接続ボート7の第1端子7aと第7
端子7gとの間に印加される電源電圧を受けて動作する
このようにして上記パターン発生回路3は前記プログラ
ム2に対応して、例えば第4図に示すような周期で、且
つ前記スイッチ8a、 8b、〜6eの選択によって定
められる5ビツトのパターンデータを前記ジ=81オス
ティックポート4からプログラム実行装置1に与えるも
のとなっている。
一方、プログラム実行装置1にロードされて実行される
プログラム2には、例えば第3図に示すようなパターン
データのチェックルーチンが組込まれている。
このチェックルーチンは、例えばメインプログラムの実
行開始に先立って実行されるもので、先ずループカウン
タをクリアしくステップa)、前記ジョイスティックボ
ート4に与えられるパターンデータを読込み(ステップ
b)、これをセーブする(ステップC)。そしてその読
込んだパターンデータが予め設定されたパターンデータ
であるか否かを判定しくステップd)、正常な場合にの
み次の処理に移行する。
つまりジョイスティックポート4から読込まれるパター
ンデータが、前記パターン発生回路3において該プログ
ラムに対応して前記スイッチ8a。
6b、〜6eにより定められたパターンデータであると
きにのみ次の動作に移行し、そのパターンデータがプロ
グラム2に対応したものでないときには正規のプログラ
ム実行状態でないとして、そのプログラムの実行を中止
するものとなっている。
この入カバターンデータのチェックは、例えば500μ
sの待ち時間を経(ステップe)、前記ループカウンタ
をインクリメントして(ステップf)、該ループカウン
タの値が(810)になるまで繰返し行われる(ステッ
プg)。
このチェックルーチンによって、前記ジョイスティック
ポート4から定められたパターンデータが入力されるか
否かが判定され、同時にその入カバターンデータが、例
えば少なくとも30周期分に亙ってセーブされることに
なる。
しかして以上のパターンデータのチェックに合格すると
、次に前記ループカウンタを再びクリアする(ステップ
h)と共に、周期チェックのエラー数を計測するエラー
カウンタをクリアする(ステップi)。
そして前述したサンプリングデータを順次読出しくステ
ップj)、その周期を調べる(ステップk)。そして検
出されるパターンデータの周期が所定の周期範囲内、つ
まり設定された許容範囲内に存在するか否かを調べ(ス
テップ、I’)、合格している場合には前記ループカウ
ンタをインクリメントしくステップm)、その値が(3
0)に達するまで繰返して周期のチツエツクを行う(ス
テップn)。
尚、上記周期のチェックにおいて、許容範囲外の周期が
検出された場合には、前記エラーカウンタをインクリメ
ントしくステップO)、そのエラー回数が3回目に達し
たか否かを判定しながら(ステップp)、このパターン
データの周期チェックを繰返して実行する。そして周期
チェックに3回以上の誤りが検出される場合には、前記
プログラム2に対応したパターン発生回路3から得られ
たパターンデータではないと判定して、該プログラム2
の実行を停止する。
このようにしてジョイスティックポート4に与えられる
パターンデータのチェックを行い、そのパターンデータ
およびその周期が正規のものであるか否かを判定し、合
格結果が得られた場合にのみ前記プログラム2の実行が
許可される。
かくして本方式によれば、プログラムが不正にコピーさ
れたとしても、そのオリジナルなプログラム2に対応し
て準備されたパターン発生装置3をジョイスティックポ
ート4に接続し、該プログラム2に対応付けて設定した
所定のパターンデータを、所定の周期でジョイスティッ
クポート4に与えない限り、プログラム実行装置1にロ
ードされたプログラムはラン(実行)しないことになる
しかもパターン発生回路3からジョイスティックポート
4に与えるパターンデータとしては、通常ジョイスティ
ックボート4に与えられることのないパターンデータと
して設定することも可能である。例えばジョイスティッ
クポート4には、通常カーソルの上下左右の移動を指示
する信号が択一的に与えられるが、見掛は上、カーソル
を上下に同時に移動を指示するような信号としてパター
ンデータを与えることも可能である。このようなパター
ンデータをジョイスティックポート4に与えることは通
常考えつかないものであるから、パターン発生回路4が
果たすプロテクト機能は非常に効果的なものとなる。故
にブ′ログラム2の不正なコピーを防止するプログラム
自体のプロテクトを効果的に支援し、不正にコピーされ
たプログラムの実行を効果的に防止することが可能とな
る。
尚、パターン発生回路3はプログラムに対応して設定さ
れたパターンデータを、該プログラムに対応して設定さ
れる周期で出力する如く構成されるものであるから、一
般的にはこれを複製することは非常に困難である。しか
し、パターン発生回路3の機能を解析することかできれ
ば、試行錯誤的にそのパターンと周期を解明することは
可能である。従ってこのような点を配慮して、例えばジ
ョイスティックポート4から得られるデータの誤りを検
出した場合、自らのプログラムを破壊しながら該プログ
ラムを実行するようなプロテクトを組込むようにしてお
けば好都合である。
尚、本発明は上述した実施例に限定されるものではない
。ここでは与えられたパターンデータをチェックした後
、その周期をチェックするようにしたが、例えば第5図
に示すようにパターンデータに対して4備されたローレ
ベルカウンタとハイレベルカウンタとをそれぞれクリア
したのち、パターン照合に合格したデータがローレベル
か否かを判定し、ローレベルおよびハイレベルのパター
ンデータの連続回数を計数しながら、同時にその周期の
チェックを行うようにしても良い。このようなチェック
ルーチンを組めば、メインプログラムの実行時に、それ
に並行してパターンデータのチェックを行うことが可能
となる。またここではジョイスティックポート4を利用
して所定のパターンデータを与えるようにしたが、他の
入力ポートを利用してパターンデータを与えるようにし
ても良い。
また実施例ではスイッチを用いてパターンおよびその周
期を定めるようにしたが、これらはプログラムに対応し
て固定的に定められるものであるから、例えばマルチバ
イブレークの出力端と接続ポートの各端子とを結ぶジャ
ンパー線の選択的な切断等によって固定的に発生パター
ンを定めるようにしても良い。またマルチバイブレータ
の出力を反転したデータをパターンデータの一部として
選択的に用いるようにしても良い。要するに本発明はそ
の要旨を逸脱しない範囲で種々変形して実施することが
できる。
【図面の簡単な説明】
図は本発明の一実施例方式を示すもので、第1図はその
プロテクトの概念を示す図、第2図はパターン発生回路
の構成例を示す図、第3図はプログラムに組込まれるパ
ターンデータのチェックルーチンの例を示す図、第4図
はパターンデータの周期を示す図、第5図はプログラム
に組込まれるパターンデータのチェックルーチンの他の
例を示す図である。 ■・・・プログラム実行装置、2・・・プログラム、3
・・・パターン発生回路、4・・・ジョイスティックポ
ート。 出願人代理人 弁理士 鈴江武彦 第1図 、・7 第2図 第4m 第5図

Claims (1)

    【特許請求の範囲】
  1. プログラム実行装置にて実行されるプログラムと、この
    プログラムに組込まれて上記プログラム実行装置のポー
    トに与えられるデータを検出し、このデータが予め設定
    された周期の予め設定されたパターンデータであること
    を判定して上記プログラムの実行を制御するチェックル
    ーチンと、上記プログラムに対応して設けられ、前記プ
    ログラム実行装置のポートに前記予め設定されたパター
    ンデータを予め設定された周期で与えるパターン発生回
    路とからなることを特徴とするプロテクト方式。
JP61025331A 1986-02-07 1986-02-07 プロテクト方式 Pending JPS62182927A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61025331A JPS62182927A (ja) 1986-02-07 1986-02-07 プロテクト方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61025331A JPS62182927A (ja) 1986-02-07 1986-02-07 プロテクト方式

Publications (1)

Publication Number Publication Date
JPS62182927A true JPS62182927A (ja) 1987-08-11

Family

ID=12162951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61025331A Pending JPS62182927A (ja) 1986-02-07 1986-02-07 プロテクト方式

Country Status (1)

Country Link
JP (1) JPS62182927A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055798A (ja) * 2000-05-30 2002-02-20 Canon Inc 画像形成システム及び画像形成システムに使用される治具
JP2010122955A (ja) * 2008-11-20 2010-06-03 Nippon Telegr & Teleph Corp <Ntt> トラフィック情報管理サーバ及びトラフィック情報管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055798A (ja) * 2000-05-30 2002-02-20 Canon Inc 画像形成システム及び画像形成システムに使用される治具
JP4541586B2 (ja) * 2000-05-30 2010-09-08 キヤノン株式会社 画像形成システム及び画像形成システムに使用される治具
JP2010122955A (ja) * 2008-11-20 2010-06-03 Nippon Telegr & Teleph Corp <Ntt> トラフィック情報管理サーバ及びトラフィック情報管理方法

Similar Documents

Publication Publication Date Title
JPS62182927A (ja) プロテクト方式
JPS62182928A (ja) プロテクト方式
JP2001236132A (ja) 耐タンパー性を与える方法及びプログラム
JP2754786B2 (ja) 情報処理装置
JPS61206035A (ja) コンピユ−タプログラムの盗用防止装置
Thimbleby et al. Reply to ‘Comment on “A Framework for Modelling Trojans and Computer Virus Infection”’by E. Mäkinen
JPH02130611A (ja) キーボード用コマンドマスク回路
KR100557395B1 (ko) 콘트롤디바이스를 위한 입출력인터페이싱방법
CN116775462A (zh) 基于状态注入的虚拟cpu模糊测试方法、电子设备、介质
RU2180135C1 (ru) Система обеспечения целостности обработки информации вычислительных систем
JPS5827219A (ja) 給電装置
JP3133319B2 (ja) セキュリティシステム
KR20230130413A (ko) Etcs와 관련된 보안 방법
JPH01248197A (ja) ブザー音発生制御方法
JPH03296146A (ja) プログラム開発支援装置
JP2006195672A (ja) データ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラム
JPS6010363A (ja) メモリアドレス指定方式
JPS61269743A (ja) デバグ方式
CN109684823A (zh) 一种测试方法及测试装置
JP2003091455A (ja) サーバシステム及び記憶装置制御システム
JPS63148328A (ja) 実行形式プログラムの暗証番号登録検証方式
JPH04116721A (ja) システム定義ディレクティブの解析方式
JPH05265822A (ja) ファイルの命名方式
JPH0836529A (ja) 記憶情報解析防止方式
JPH04148433A (ja) 疑似障害回路