1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)及び1電子機器唯一動作許可インストール方法(ソフトウエア配布方法)並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア管理装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可インストーラ管理装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可インストーラ生成装置及び1電子機器唯一動作許可インストーラ生成方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア及び1電子機器唯一動作許可ソフトウエアの1電子機器唯一動作許可方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア生成装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア製造装置及び方法並びに供給若しくは配布媒体、ソフトウエア製造装置及び方法並びに供給若しくは配布媒体、並びに、機械語コード埋め込み装置(電子機器)若しくはシステム集積回路及び方法並びに供給若しくは配布媒体
【課題】 1台のコンピュータでのみ動作可能で、プログラム解析等が困難であり、セキュリティ機能が高いインストーラ、インストーラ管理装置、及び、ソフトウエア管理装置を提供する。
【解決手段】 インストーラ管理装置を起動すると、格納されているインストーラにMACアドレスが組み込まれ、インストーラが生成、起動される。インストーラは、格納され又は取得したMACアドレスとを比較し、一致した場合にのみ起動し、ソフトウエア管理装置を生成する。インストーラ管理装置はインストーラの終了を待って削除する。ソフトウエア管理装置を起動すると、格納され又は取得したMACアドレスが一致した場合にのみ動作を行い、ソフトウエアを生成、起動する。ソフトウエアは、格納され又は取得したMACアドレスが一致した場合にのみ動作を行う。ソフトウエア管理装置はソフトウエアの終了を待って削除する。
【解決手段】 インストーラ管理装置を起動すると、格納されているインストーラにMACアドレスが組み込まれ、インストーラが生成、起動される。インストーラは、格納され又は取得したMACアドレスとを比較し、一致した場合にのみ起動し、ソフトウエア管理装置を生成する。インストーラ管理装置はインストーラの終了を待って削除する。ソフトウエア管理装置を起動すると、格納され又は取得したMACアドレスが一致した場合にのみ動作を行い、ソフトウエアを生成、起動する。ソフトウエアは、格納され又は取得したMACアドレスが一致した場合にのみ動作を行う。ソフトウエア管理装置はソフトウエアの終了を待って削除する。
Notice: Undefined index: DEJ in /mnt/www/gzt_disp.php on line 298
【特許請求の範囲】
【請求項1】
1電子機器にのみ唯一動作を許可するソフトウエアであって、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
初回起動時、動作する電子機器に固有の指標を実行体の固有指標確保手段にバイナリの状態で格納する固有指標格納手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する固有指標一致動作継続許可手段と
を有することを特徴とする1電子機器唯一動作許可ソフトウエア。
【請求項2】
第1のソフトウエアが組み込まれた第2のソフトウエアであり、第1及び/又は第2のソフトウエアが1電子機器にのみ唯一動作を許可するソフトウエアであって、
第1のソフトウエアを確保した第1のソフトウエア確保手段と、
第1のソフトウエアを生成する第1のソフトウエア生成手段と
を第2のソフトウエアに有し、
第1及び/又は第2のソフトウエアの少なくとも一方に、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合のみ動作継続を許可する固有指標一致動作継続許可手段と
を有し、
第1のソフトウエアに前記固有指標確保手段と前記固有指標一致動作継続許可手段を有している場合、
初回起動時、動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第1のソフトウエア存在第1のソフトウエア固有指標格納手段
を第1のソフトウエアに備えるか、又は、
初回起動時、動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第1のソフトウエア固有指標格納手段
を第2のソフトウエアに備え、
第2のソフトウエアに前記固有指標確保手段と前記固有指標一致動作継続許可手段を有している場合、
初回起動時、動作する電子機器に固有の指標を第2のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第2のソフトウエア固有指標格納手段
を第2のソフトウエアに備え、
第1及び第2のソフトウエアの両方に前記固有指標確保手段と前記固有指標一致動作継続許可手段を有している場合、
動作する電子機器に固有の指標を第2のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第2のソフトウエア固有指標格納手段
を第2のソフトウエアに備え、さらに、
動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第1のソフトウエア存在第1のソフトウエア固有指標格納手段
を第1のソフトウエアに備えるか、又は、
動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第1のソフトウエア固有指標格納手段
を第2のソフトウエアに備えることを特徴とする1電子機器唯一動作許可ソフトウエア。
【請求項3】
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可ソフトウエア生成装置であって、
第1のソフトウエア確保手段に第1のソフトウエアを格納する第1のソフトウエア格納手段を備える
ことを特徴とする1電子機器唯一動作許可ソフトウエア生成装置。
【請求項4】
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、
動作する電子機器に固有の指標がインストールする電子機器に固有の指標であり、請求項2に記載の1電子機器唯一動作許可ソフトウエアは、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)であることを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
【請求項5】
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、
第1のソフトウエアを起動する第1のソフトウエア起動手段を第2のソフトウエアに有し、
第2のソフトウエアが起動時、固有指標一致動作継続許可手段を第2のソフトウエアに有する場合、第1のソフトウエアの終了を待機して第1のソフトウエアを削除する終了待機削除手段を有し、第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが起動後、第2のソフトウエアを削除する起動後削除手段を第1のソフトウエアに有する
ことを特徴とする1電子機器唯一動作許可ソフトウエア管理装置。
【請求項6】
請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の動作する電子機器に固有の指標がインストールする電子機器に固有の指標であり、
請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置を請求項4に記載の1電子機器唯一動作許可インストーラの第1のソフトウエア及び/又は第2のソフトウエアとし、
請求項4に記載の第2のソフトウエアとした場合、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを確保した第1のソフトウエア確保手段と、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを生成する第1のソフトウエア生成手段とを請求項4に記載の1電子機器唯一動作許可インストーラに備え、
請求項4に記載の第1のソフトウエアとした場合、請求項4に記載の第2のソフトウエアの第1のソフトウエア確保手段は、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを確保した手段であり、請求項4に記載の第2のソフトウエアの第1のソフトウエア生成手段は、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを生成する手段である
ことを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
【請求項7】
請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置を請求項4に記載の1電子機器唯一動作許可インストーラの第1のソフトウエア及び/又は第2のソフトウエアとし、
請求項4に記載の第2のソフトウエアとした場合、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを確保した第1のソフトウエア確保手段と、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを生成する第1のソフトウエア生成手段とを請求項4に記載の1電子機器唯一動作許可インストーラに備え、
請求項4に記載の第1のソフトウエアとした場合、請求項4に記載の第2のソフトウエアの第1のソフトウエア確保手段は、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを確保した手段であり、請求項4に記載の第2のソフトウエアの第1のソフトウエア生成手段は、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを生成する手段である
ことを特徴とし、上記の適用関係を少なくとも一回以上繰り返した構成であることを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
【請求項8】
請求項4、請求項6、又は請求項7に記載の1電子機器唯一動作許可インストーラにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可インストーラ生成装置であって、
第1のソフトウエア確保手段に第1のソフトウエアを格納する手段を第1のソフトウエア格納手段を備える
ことを特徴とする1電子機器唯一動作許可インストーラ生成装置。
【請求項9】
第1のソフトウエアを第2のソフトウエアにバイナリの状態で組み込む1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置であって、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
初回起動時、固有指標確保手段に動作する電子機器に固有の指標を格納する固有指標格納手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合のみ動作継続を許可する固有指標一致動作継続許可手段と
を第1のソフトウエアにバイナリの状態で組み込むことを特徴とする1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置。
【請求項10】
動作する電子機器に固有の指標がMACアドレスである
ことを特徴とする請求項1、若しくは請求項2に記載の1電子機器唯一動作許可ソフトウエア、請求項3に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、若しくは請求項7に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置。
【請求項11】
第1のソフトウエアを第2のソフトウエアに格納する領域及び/又は動作する電子機器に固有の指標を格納する領域に格納するデータは、暗号化されている
ことを特徴とする請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置。
【請求項12】
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置。
【請求項13】
ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置であって、
請求項12に記載のソフトウエア製造装置において、
1.<コードの挿入>
1.1.デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合であって、コードの開始以前に何らかの処理を行う場合、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの開始アドレスの前に、コードを挿入するコード挿入手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに挿入したコードアドレスを減算した開始アドレスに書き換えるコールコード開始アドレス変更手段と、
1.2.デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後にコードを挿入するコード挿入手段と、
2.<データアドレスの変更>
挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と、
3.<呼び出し関数群格納ファイルを使用している場合>
3.1<呼び出し関数群格納ファイル存在チェック>
挿入したコード内に呼び出し関数群格納ファイル被格納呼び出し関数をコールしている場合、呼び出し関数群呼び出しセクションを検索し、呼び出し関数群格納ファイルが存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段と、
3.1.1<呼び出し関数群格納ファイルが存在している場合>
呼び出し関数群格納ファイルが存在している場合、
呼び出し関数群格納ファイル被格納呼び出し関数が存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段と、
3.1.1.1<呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合>
呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合、
その呼び出し関数群格納ファイル被格納呼び出し関数のアドレスにより挿入するコードの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する挿入コード呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
3.1.1.2<呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合>
呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合、
呼び出し関数群格納ファイル被格納呼び出し関数を追加し、呼び出し関数群格納ファイル被格納呼び出し関数追加によるサイズ変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
3.1.2<呼び出し関数群格納ファイルが存在していない場合>
呼び出し関数群格納ファイルが存在していない場合、
呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数を呼び出し関数群呼び出しセクションに追加し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数追加によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
4.<他のセクションの要素を使用している場合>
4.1<他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と、
4.1.1<他のセクションの要素存在時>
他のセクションの要素が存在している場合、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と、
4.1.2<他のセクションの要素非存在時>
他のセクションの要素が存在していない場合、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と、
5.
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらす手段と、
6.
(コード挿入によりコードサイズが初めより大きくなる場合)
コード挿入により、コードサイズがコード記載セクションヘッダーに記載されているサイズよりも大きくなる場合、
コード記載セクションヘッダーのコードサイズをコード挿入分より大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と、
コードサイズ変更手段により増分したサイズ分、他のセクションヘッダー内に記載の他のセクションの開始アドレスを変更する他のセクション開始アドレス変更手段と、
コード内に他のセクションの要素のアドレスを使用している場合、コード挿入により、他のセクションの要素のアドレスが変化した分、コード内に他のセクションの要素のアドレスを変更するコード内他のセクションの要素アドレス変更手段と、
コード挿入により、他のセクションヘッダーのサイズが他のセクションヘッダーに記載されているサイズよりも大きくなる場合、
他のセクションヘッダーのサイズを他のセクション挿入分より大きい規定幅の大きさのサイズに変更する他のセクションサイズ変更手段と、
他のセクションの開始アドレス以降に開始アドレスを有する第2の他のセクションの開始アドレスを他のセクションのサイズの増分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード挿入により、第2の他のセクションの要素のアドレスが変化した分、コード内に第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置、
並びに/若しくは、
電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、実行体の停止中に、ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置。
【請求項14】
請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置、又は、請求項12若しくは請求項13に記載のソフトウエア製造装置
に記載の処理を実行させるコンピュータが読みとり可能なプログラムを供給若しくは配布することを特徴とする供給若しくは配布媒体。
【請求項15】
処理を施したいソフトウエアを供給媒体によって供給することによって、
ソフトウエアに機能を有する手段をバイナリの状態で組み込んで供給媒体に格納する
ことを特徴とする機械語コード埋め込み装置(電子機器)。
【請求項16】
処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで供給媒体に格納することを特徴とする機械語コード埋め込み装置(電子機器)であって、
請求項15に記載の機械語コード埋め込み装置(電子機器)において、
容器に格納されており、
供給媒体を供給する供給媒体供給手段を有し、
前記供給媒体供給手段により供給された供給媒体からソフトウエア及び/又は組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)を示すファイル又はデータを読み込み、
前記ソフトウエアに機能を有する手段を
初期設定による組み込み指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み指標か、各種選択釦を有している場合、選択釦による組み込み指標か、ファイル又はデータによる設定による組み込み指標に基づいて、
バイナリの状態で組み込んで供給媒体に格納し、
並びに/若しくは、
前記供給媒体接続手段により供給された供給媒体から組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータを読み込み、
組み込み用プログラムを
初期設定による組み込み用プログラム指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み用プログラム指標か、各種選択釦を有している場合、選択釦による組み込み用プログラム指標か、ファイル又はデータによる設定による組み込み用プログラム指標に基づいて、
組み込み用プログラムを追加、変更、及び/又は削除をし、
並びに/若しくは、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
並びに/若しくは、
初期設定を変更する為の(選択)操作機(コンピュータ)接続用の接続手段を有し、接続された(選択)操作機(コンピュータ)から初期設定を変更する
ことを特徴とする機械語コード埋め込み装置(電子機器)。
【請求項17】
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)。
【請求項18】
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込むことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)であって、
請求項17に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)において、
容器に格納されており、
電子機器又はコンピュータ上に存在する実行体に、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)に基づいて、電子機器又はコンピュータ上に存在する実行体に、実行体の実行を監視し、実行体の停止中に、機能を有する手段をバイナリの状態で組み込むことを特徴とし、
初期設定による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標選択手段による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器又はコンピュータが供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標を示すファイル又はデータを供給することによる集積回路(又は供給若しくは配布媒体)組み込み指標設定に基づいて、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込み、
並びに/若しくは、
(1)
供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を共有媒体により供給すると、供給された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標が変更され、及び/又は、集積回路(又は供給若しくは配布媒体)組み込み用プログラムが追加、変更、及び/又は削除され、
並びに/若しくは、
供給媒体を供給する供給媒体供給手段を有する場合、
(1−1)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と同じファイルを使用する場合)
ソフトウエアを共有媒体により供給すると、設定されている集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−1−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、集積回路(又は供給若しくは配布媒体)組み込み指標及び集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−2)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
ソフトウエアと組み込み指標と組み込み用プログラム及び/又は組み込み用指標を共有媒体により供給すると、組み込み指標と組み込み用プログラム及び/又は組み込み用指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−2−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−3)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
供給媒体を供給する供給媒体供給手段を有する場合、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を共有媒体により供給すると、初期設定が組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標により変更され、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択手段により選択された組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標に基づいて変更され、
供給媒体を供給する供給媒体供給手段を有する場合、
ソフトウエアを共有媒体により供給すると、設定されている組み込み指標に基づいて、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択手段による組み込み指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、及び/又は初期設定が変更され、
(1−3−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納する
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)。
【請求項1】
1電子機器にのみ唯一動作を許可するソフトウエアであって、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
初回起動時、動作する電子機器に固有の指標を実行体の固有指標確保手段にバイナリの状態で格納する固有指標格納手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する固有指標一致動作継続許可手段と
を有することを特徴とする1電子機器唯一動作許可ソフトウエア。
【請求項2】
第1のソフトウエアが組み込まれた第2のソフトウエアであり、第1及び/又は第2のソフトウエアが1電子機器にのみ唯一動作を許可するソフトウエアであって、
第1のソフトウエアを確保した第1のソフトウエア確保手段と、
第1のソフトウエアを生成する第1のソフトウエア生成手段と
を第2のソフトウエアに有し、
第1及び/又は第2のソフトウエアの少なくとも一方に、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合のみ動作継続を許可する固有指標一致動作継続許可手段と
を有し、
第1のソフトウエアに前記固有指標確保手段と前記固有指標一致動作継続許可手段を有している場合、
初回起動時、動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第1のソフトウエア存在第1のソフトウエア固有指標格納手段
を第1のソフトウエアに備えるか、又は、
初回起動時、動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第1のソフトウエア固有指標格納手段
を第2のソフトウエアに備え、
第2のソフトウエアに前記固有指標確保手段と前記固有指標一致動作継続許可手段を有している場合、
初回起動時、動作する電子機器に固有の指標を第2のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第2のソフトウエア固有指標格納手段
を第2のソフトウエアに備え、
第1及び第2のソフトウエアの両方に前記固有指標確保手段と前記固有指標一致動作継続許可手段を有している場合、
動作する電子機器に固有の指標を第2のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第2のソフトウエア固有指標格納手段
を第2のソフトウエアに備え、さらに、
動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第1のソフトウエア存在第1のソフトウエア固有指標格納手段
を第1のソフトウエアに備えるか、又は、
動作する電子機器に固有の指標を第1のソフトウエアの実行体の固有指標確保手段にバイナリの状態で格納する第2のソフトウエア存在第1のソフトウエア固有指標格納手段
を第2のソフトウエアに備えることを特徴とする1電子機器唯一動作許可ソフトウエア。
【請求項3】
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可ソフトウエア生成装置であって、
第1のソフトウエア確保手段に第1のソフトウエアを格納する第1のソフトウエア格納手段を備える
ことを特徴とする1電子機器唯一動作許可ソフトウエア生成装置。
【請求項4】
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、
動作する電子機器に固有の指標がインストールする電子機器に固有の指標であり、請求項2に記載の1電子機器唯一動作許可ソフトウエアは、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)であることを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
【請求項5】
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、
第1のソフトウエアを起動する第1のソフトウエア起動手段を第2のソフトウエアに有し、
第2のソフトウエアが起動時、固有指標一致動作継続許可手段を第2のソフトウエアに有する場合、第1のソフトウエアの終了を待機して第1のソフトウエアを削除する終了待機削除手段を有し、第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが起動後、第2のソフトウエアを削除する起動後削除手段を第1のソフトウエアに有する
ことを特徴とする1電子機器唯一動作許可ソフトウエア管理装置。
【請求項6】
請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の動作する電子機器に固有の指標がインストールする電子機器に固有の指標であり、
請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置を請求項4に記載の1電子機器唯一動作許可インストーラの第1のソフトウエア及び/又は第2のソフトウエアとし、
請求項4に記載の第2のソフトウエアとした場合、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを確保した第1のソフトウエア確保手段と、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを生成する第1のソフトウエア生成手段とを請求項4に記載の1電子機器唯一動作許可インストーラに備え、
請求項4に記載の第1のソフトウエアとした場合、請求項4に記載の第2のソフトウエアの第1のソフトウエア確保手段は、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを確保した手段であり、請求項4に記載の第2のソフトウエアの第1のソフトウエア生成手段は、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを生成する手段である
ことを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
【請求項7】
請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置を請求項4に記載の1電子機器唯一動作許可インストーラの第1のソフトウエア及び/又は第2のソフトウエアとし、
請求項4に記載の第2のソフトウエアとした場合、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを確保した第1のソフトウエア確保手段と、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第1のソフトウエアを生成する第1のソフトウエア生成手段とを請求項4に記載の1電子機器唯一動作許可インストーラに備え、
請求項4に記載の第1のソフトウエアとした場合、請求項4に記載の第2のソフトウエアの第1のソフトウエア確保手段は、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを確保した手段であり、請求項4に記載の第2のソフトウエアの第1のソフトウエア生成手段は、請求項6に記載の1電子機器唯一動作許可ソフトウエア管理装置の第2のソフトウエアを生成する手段である
ことを特徴とし、上記の適用関係を少なくとも一回以上繰り返した構成であることを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
【請求項8】
請求項4、請求項6、又は請求項7に記載の1電子機器唯一動作許可インストーラにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可インストーラ生成装置であって、
第1のソフトウエア確保手段に第1のソフトウエアを格納する手段を第1のソフトウエア格納手段を備える
ことを特徴とする1電子機器唯一動作許可インストーラ生成装置。
【請求項9】
第1のソフトウエアを第2のソフトウエアにバイナリの状態で組み込む1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置であって、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
初回起動時、固有指標確保手段に動作する電子機器に固有の指標を格納する固有指標格納手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合のみ動作継続を許可する固有指標一致動作継続許可手段と
を第1のソフトウエアにバイナリの状態で組み込むことを特徴とする1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置。
【請求項10】
動作する電子機器に固有の指標がMACアドレスである
ことを特徴とする請求項1、若しくは請求項2に記載の1電子機器唯一動作許可ソフトウエア、請求項3に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、若しくは請求項7に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置。
【請求項11】
第1のソフトウエアを第2のソフトウエアに格納する領域及び/又は動作する電子機器に固有の指標を格納する領域に格納するデータは、暗号化されている
ことを特徴とする請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置。
【請求項12】
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置。
【請求項13】
ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置であって、
請求項12に記載のソフトウエア製造装置において、
1.<コードの挿入>
1.1.デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合であって、コードの開始以前に何らかの処理を行う場合、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの開始アドレスの前に、コードを挿入するコード挿入手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに挿入したコードアドレスを減算した開始アドレスに書き換えるコールコード開始アドレス変更手段と、
1.2.デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後にコードを挿入するコード挿入手段と、
2.<データアドレスの変更>
挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と、
3.<呼び出し関数群格納ファイルを使用している場合>
3.1<呼び出し関数群格納ファイル存在チェック>
挿入したコード内に呼び出し関数群格納ファイル被格納呼び出し関数をコールしている場合、呼び出し関数群呼び出しセクションを検索し、呼び出し関数群格納ファイルが存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段と、
3.1.1<呼び出し関数群格納ファイルが存在している場合>
呼び出し関数群格納ファイルが存在している場合、
呼び出し関数群格納ファイル被格納呼び出し関数が存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段と、
3.1.1.1<呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合>
呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合、
その呼び出し関数群格納ファイル被格納呼び出し関数のアドレスにより挿入するコードの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する挿入コード呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
3.1.1.2<呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合>
呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合、
呼び出し関数群格納ファイル被格納呼び出し関数を追加し、呼び出し関数群格納ファイル被格納呼び出し関数追加によるサイズ変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
3.1.2<呼び出し関数群格納ファイルが存在していない場合>
呼び出し関数群格納ファイルが存在していない場合、
呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数を呼び出し関数群呼び出しセクションに追加し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数追加によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
4.<他のセクションの要素を使用している場合>
4.1<他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と、
4.1.1<他のセクションの要素存在時>
他のセクションの要素が存在している場合、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と、
4.1.2<他のセクションの要素非存在時>
他のセクションの要素が存在していない場合、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と、
5.
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらす手段と、
6.
(コード挿入によりコードサイズが初めより大きくなる場合)
コード挿入により、コードサイズがコード記載セクションヘッダーに記載されているサイズよりも大きくなる場合、
コード記載セクションヘッダーのコードサイズをコード挿入分より大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と、
コードサイズ変更手段により増分したサイズ分、他のセクションヘッダー内に記載の他のセクションの開始アドレスを変更する他のセクション開始アドレス変更手段と、
コード内に他のセクションの要素のアドレスを使用している場合、コード挿入により、他のセクションの要素のアドレスが変化した分、コード内に他のセクションの要素のアドレスを変更するコード内他のセクションの要素アドレス変更手段と、
コード挿入により、他のセクションヘッダーのサイズが他のセクションヘッダーに記載されているサイズよりも大きくなる場合、
他のセクションヘッダーのサイズを他のセクション挿入分より大きい規定幅の大きさのサイズに変更する他のセクションサイズ変更手段と、
他のセクションの開始アドレス以降に開始アドレスを有する第2の他のセクションの開始アドレスを他のセクションのサイズの増分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード挿入により、第2の他のセクションの要素のアドレスが変化した分、コード内に第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置、
並びに/若しくは、
電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、実行体の停止中に、ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置。
【請求項14】
請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置、又は、請求項12若しくは請求項13に記載のソフトウエア製造装置
に記載の処理を実行させるコンピュータが読みとり可能なプログラムを供給若しくは配布することを特徴とする供給若しくは配布媒体。
【請求項15】
処理を施したいソフトウエアを供給媒体によって供給することによって、
ソフトウエアに機能を有する手段をバイナリの状態で組み込んで供給媒体に格納する
ことを特徴とする機械語コード埋め込み装置(電子機器)。
【請求項16】
処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで供給媒体に格納することを特徴とする機械語コード埋め込み装置(電子機器)であって、
請求項15に記載の機械語コード埋め込み装置(電子機器)において、
容器に格納されており、
供給媒体を供給する供給媒体供給手段を有し、
前記供給媒体供給手段により供給された供給媒体からソフトウエア及び/又は組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)を示すファイル又はデータを読み込み、
前記ソフトウエアに機能を有する手段を
初期設定による組み込み指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み指標か、各種選択釦を有している場合、選択釦による組み込み指標か、ファイル又はデータによる設定による組み込み指標に基づいて、
バイナリの状態で組み込んで供給媒体に格納し、
並びに/若しくは、
前記供給媒体接続手段により供給された供給媒体から組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータを読み込み、
組み込み用プログラムを
初期設定による組み込み用プログラム指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み用プログラム指標か、各種選択釦を有している場合、選択釦による組み込み用プログラム指標か、ファイル又はデータによる設定による組み込み用プログラム指標に基づいて、
組み込み用プログラムを追加、変更、及び/又は削除をし、
並びに/若しくは、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
並びに/若しくは、
初期設定を変更する為の(選択)操作機(コンピュータ)接続用の接続手段を有し、接続された(選択)操作機(コンピュータ)から初期設定を変更する
ことを特徴とする機械語コード埋め込み装置(電子機器)。
【請求項17】
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)。
【請求項18】
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込むことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)であって、
請求項17に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)において、
容器に格納されており、
電子機器又はコンピュータ上に存在する実行体に、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)に基づいて、電子機器又はコンピュータ上に存在する実行体に、実行体の実行を監視し、実行体の停止中に、機能を有する手段をバイナリの状態で組み込むことを特徴とし、
初期設定による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標選択手段による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器又はコンピュータが供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標を示すファイル又はデータを供給することによる集積回路(又は供給若しくは配布媒体)組み込み指標設定に基づいて、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込み、
並びに/若しくは、
(1)
供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を共有媒体により供給すると、供給された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標が変更され、及び/又は、集積回路(又は供給若しくは配布媒体)組み込み用プログラムが追加、変更、及び/又は削除され、
並びに/若しくは、
供給媒体を供給する供給媒体供給手段を有する場合、
(1−1)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と同じファイルを使用する場合)
ソフトウエアを共有媒体により供給すると、設定されている集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−1−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、集積回路(又は供給若しくは配布媒体)組み込み指標及び集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−2)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
ソフトウエアと組み込み指標と組み込み用プログラム及び/又は組み込み用指標を共有媒体により供給すると、組み込み指標と組み込み用プログラム及び/又は組み込み用指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−2−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−3)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
供給媒体を供給する供給媒体供給手段を有する場合、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を共有媒体により供給すると、初期設定が組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標により変更され、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択手段により選択された組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標に基づいて変更され、
供給媒体を供給する供給媒体供給手段を有する場合、
ソフトウエアを共有媒体により供給すると、設定されている組み込み指標に基づいて、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択手段による組み込み指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、及び/又は初期設定が変更され、
(1−3−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納する
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−157209(P2010−157209A)
【公開日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願番号】特願2009−237806(P2009−237806)
【出願日】平成21年10月15日(2009.10.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.フロッピー
【出願人】(708005105)
【Fターム(参考)】
【公開日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願日】平成21年10月15日(2009.10.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.フロッピー
【出願人】(708005105)
【Fターム(参考)】
[ Back to top ]