JP2010073218A - Installer (software distributor) for permitting operation to only one electronic appliance, method for installing operation permission (software distribution method) to only one electronic appliance, and supplied or distributed medium - Google Patents

Installer (software distributor) for permitting operation to only one electronic appliance, method for installing operation permission (software distribution method) to only one electronic appliance, and supplied or distributed medium Download PDF

Info

Publication number
JP2010073218A
JP2010073218A JP2009291607A JP2009291607A JP2010073218A JP 2010073218 A JP2010073218 A JP 2010073218A JP 2009291607 A JP2009291607 A JP 2009291607A JP 2009291607 A JP2009291607 A JP 2009291607A JP 2010073218 A JP2010073218 A JP 2010073218A
Authority
JP
Japan
Prior art keywords
software
code
index
section
address
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
JP2009291607A
Other languages
Japanese (ja)
Inventor
Akio Saji
佐治章生
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.)
Individual
Original Assignee
Individual
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
Priority claimed from JP2009237806A external-priority patent/JP2010157209A/en
Application filed by Individual filed Critical Individual
Priority to JP2009291607A priority Critical patent/JP2010073218A/en
Publication of JP2010073218A publication Critical patent/JP2010073218A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an installer which is operable only in one computer, program analysis and the like of which is hard to perform and which has high-security function, an installer management device, and a software management device. <P>SOLUTION: When the installer management device is started, a MAC (Media Access Control) address is incorporated into a stored installer and the installer is generated and started. The installer compares stored or acquired MAC addresses with each other and, only when matching is obtained, generates the software management device. The installer management device is deleted after the installer is finished. When the software management device is started, it operates only when matching of the stored or acquired MAC addresses is obtained, and generates and starts the software. The software operates only when matching of the stored or acquired MAC addresses is obtained. The software management device is deleted after the software is finished. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)及び1電子機器唯一動作許可インストール方法(ソフトウエア配布方法)並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア管理装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可インストーラ管理装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可インストーラ生成装置及び1電子機器唯一動作許可インストーラ生成方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア及び1電子機器唯一動作許可ソフトウエアの1電子機器唯一動作許可方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア生成装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア製造装置及び方法並びに供給若しくは配布媒体、ソフトウエア製造装置及び方法並びに供給若しくは配布媒体、並びに、機械語コード埋め込み装置(電子機器)若しくはシステム集積回路及び方法並びに供給若しくは配布媒体に関する。   The present invention relates to an electronic device unique operation permission installer (software distribution apparatus), an electronic device unique operation permission installation method (software distribution method), a supply or distribution medium, and an electronic device unique operation permission software management apparatus and method. Supply and distribution medium, one electronic device unique operation permission installer management apparatus and method, and supply or distribution medium, one electronic device unique operation permission installer generation device and one electronic device unique operation permission installer generation method, and supply or distribution medium, one electronic Device only operation permission software and one electronic device only operation permission software, one electronic device only operation permission method and supply or distribution medium, one electronic device only operation permission software generation device and method, and supply or distribution medium, one electronic device The only operation permission software Wear manufacturing apparatus and method, and supply or distribution medium, the software production apparatus and method, and supply or distribution medium, and to a machine language code embedding device (electronic device) or system integrated circuits and method and supply or distribution medium.

従来、ソフトウエア配布において、インストーラは、複数台のコンピュータで使用が可能であり、一台のコンピュータのみでしか使用が不可能とすることができないという問題があった。   Conventionally, in software distribution, there is a problem that an installer can be used by a plurality of computers and cannot be used by only one computer.

また、ソフトウエア配布において、配布されたソフトウエアは、複数台のコンピュータで使用が可能であり、一台のコンピュータのみでしか使用が不可能とすることができないという問題があった。   Further, in software distribution, there is a problem that the distributed software can be used by a plurality of computers and cannot be used by only one computer.

また、暗号化されていない実行体等のデータは、逆アセンブル等し、プログラム解析等されるというという問題があった。   In addition, there is a problem that unencrypted execution body data is disassembled and analyzed for programs.

本発明は、上記問題を解決する為に、一台の電子機器でのみしか使用不可能であり、プログラム解析等が困難であり、セキュリティ機能が高い、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)及び1電子機器唯一動作許可インストール方法(ソフトウエア配布方法)、1電子機器唯一動作許可ソフトウエア管理装置及び方法、1電子機器唯一動作許可インストーラ管理装置及び方法、1電子機器唯一動作許可インストーラ生成装置及び1電子機器唯一動作許可インストーラ生成方法、1電子機器唯一動作許可ソフトウエア及び1電子機器唯一動作許可ソフトウエアの1電子機器唯一動作許可方法、1電子機器唯一動作許可ソフトウエア生成装置及び方法、1電子機器唯一動作許可ソフトウエア製造装置及び方法、ソフトウエア製造装置及び方法並びに供給若しくは配布媒体、並びに、機械語コード埋め込み装置(電子機器)若しくはシステム集積回路及び方法並びに供給若しくは配布媒体を提供することを目的とする。   In order to solve the above problems, the present invention can only be used with one electronic device, is difficult to analyze programs, and has a high security function. Device) and one electronic device only operation permission installation method (software distribution method), one electronic device only operation permission software management device and method, one electronic device only operation permission installer management device and method, and one electronic device only operation permission installer Generation apparatus, one electronic device unique operation permission installer generation method, one electronic device unique operation permission software and one electronic device unique operation permission software, one electronic device unique operation permission method, one electronic device unique operation permission software generation device, and Method, software manufacturing apparatus and method that allows only one electronic device to operate, software, software Manufacturing apparatus and method, and supply or distribution medium, as well, and to provide a machine code embedding device (electronic device) or system integrated circuits and method and supply or distribution medium.

上記課題を解決するために、請求項1に記載の1電子機器唯一動作許可ソフトウエアは、1電子機器にのみ唯一動作を許可するソフトウエアであって、動作する電子機器に固有の指標を確保する固有指標確保手段と、初回起動時、動作する電子機器に固有の指標を実行体の固有指標確保手段にバイナリの状態で格納する固有指標格納手段と、起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する固有指標一致動作継続許可手段とを有することを特徴とする1電子機器唯一動作許可ソフトウエアとした。尚、動作する電子機器に固有の指標である固有指標とは、動作する一台の電子機器に唯一(固有)の指標であればどのようなものであってもよい。   In order to solve the above-mentioned problem, the electronic device unique operation permission software according to claim 1 is a software that permits only one electronic device to operate, and secures an index specific to the electronic device that operates. Specific index securing means, a unique index storage means for storing an index specific to an electronic device that operates at the first start-up in a binary state in the specific index securing means of the execution body, and an operating electronic acquired at startup and at startup It has a unique index matching operation continuation permitting means that compares the index unique to the device with the unique index of the operating electronic device secured in the unique index securing means, and permits the continuation of operation only when they match. This is the only operation permission software for one electronic device. The unique index, which is an index unique to the electronic device that operates, may be any index that is unique (unique) to one electronic device that operates.

これにより、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   This compares the index unique to the operating electronic device acquired at startup and the index unique to the operating electronic device secured in the initial startup unique index securing means, and operates only when they match. Since the continuation is permitted, the use of the software can be disabled except for the electronic device at the first activation.

また、上記課題を解決するために、請求項2に記載の1電子機器唯一動作許可ソフトウエアは、第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電子機器唯一動作許可ソフトウエアとした。   Further, in order to solve the above-described problem, the electronic device only operation permission software according to claim 2 is second software in which the first software is incorporated, and the first and / or second software is incorporated. The first software securing means that secures the first software and the first software that generates the first software are software that allows only one electronic device to operate. The second software has a generating means, and at least one of the first and / or second software has a unique index securing means for securing a unique index for the electronic device to be operated, and at startup and at startup The obtained index unique to the operating electronic device is compared with the index unique to the operating electronic device secured in the unique index securing means, and the unique index matching operation continuation permission permitting operation continuation only when they match. When the first software has the unique index securing means and the unique index matching operation continuation permission means, the first software sets the index unique to the electronic device to be operated at the first startup. The first software exists in the binary state in the unique index securing means of the execution body of the software The first software has the first software unique index storage means, or the electronic that operates at the first activation The second software has first software specific index storage means in the second software for storing the index specific to the device in the binary status in the unique index securing means of the execution entity of the first software, When the second software has the unique index securing means and the unique index matching operation continuation permission means, the index unique to the electronic device to be operated at the first activation is unique to the execution body of the second software. Second software existence second software unique index storage means for storing in a binary state in the mark securing means is provided in the second software, and the unique index securing means is provided in both the first and second software. And the unique index matching operation continuation permitting means, the second software for storing the index unique to the operating electronic device in the binary status in the unique index securing means of the execution body of the second software The second software unique index storage means is provided in the second software, and an index unique to the electronic device to be operated is stored in a binary state in the unique index securing means of the execution body of the first software. 1st software existence 1st software intrinsic | native index storage means is provided in 1st software, or the execution body of the 1st software has an index unique to the electronic device which operate | moves And a second software exists 1 electronic device only operation permitted software the first software unique index storage means, characterized in that it comprises a second software to be stored in a binary state to a unique index securing means.

これにより、第1及び/又は第2のソフトウエアが、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   As a result, the first and / or second software is specific to the operating electronic device acquired at the time of starting and starting and the operating electronic device secured in the initial starting unique index securing means. Compared to the index, the operation is allowed to continue only when the index matches, so that the software can be disabled except for the electronic device at the first activation.

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、上記課題を解決するために、請求項3に記載の1電子機器唯一動作許可ソフトウエア生成装置は、請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可ソフトウエア生成装置であって、第1のソフトウエア確保手段に第1のソフトウエアを格納する第1のソフトウエア格納手段を備えることを特徴とする1電子機器唯一動作許可ソフトウエア生成装置とした。   In order to solve the above-mentioned problem, the one electronic device unique operation permission software generating device according to claim 3 is the first electronic device unique operation permission software generating device according to claim 2, wherein the first software is The secured first software securing means is a one-electronic-device-only operation-permitted software generation device as the first software securing preparation means for securing the first software, and the first software securing The electronic device unique operation permission software generating apparatus is characterized in that the first software storage means for storing the first software in the means is provided.

これにより、1電子機器唯一動作許可ソフトウエア生成装置により生成された1電子機器唯一動作許可ソフトウエアは、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   As a result, the one electronic device unique operation permission software generated by the one electronic device unique operation permission software generation device secures the index unique to the operating electronic device acquired at the time of start-up and the unique index at the first start-up. Compared with the index unique to the operating electronic device secured in the means, and the operation is allowed to continue only when they match, it is possible to disable the use of software other than the electronic device at the first startup .

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、上記課題を解決するために、請求項4に記載の1電子機器唯一動作許可ソフトウエアは、請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、動作する電子機器に固有の指標がインストールする電子機器に固有の指標であり、請求項2に記載の1電子機器唯一動作許可ソフトウエアは、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)であることを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)とした。   In order to solve the above problem, the one electronic device unique operation permission software according to claim 4 is an index unique to the electronic device operating in the one electronic device unique operation permission software according to claim 2. The electronic device unique operation permission software according to claim 2 is an electronic device unique operation permission installer (software distribution device). The device is the only operation permitted installer (software distribution device).

これにより、第1のソフトウエア及び/又は1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)が、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   As a result, the first software and / or one electronic device unique operation permission installer (software distribution apparatus) acquires an index unique to the operating electronic device acquired at the time of activation, and a unique index securing means at the first activation. Compared with an index unique to the operating electronic device secured in the above, the continuation of the operation is permitted only when the two match, so that it is impossible to use the software other than the electronic device at the first activation.

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、上記課題を解決するために、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置は、請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、第1のソフトウエアを起動する第1のソフトウエア起動手段を第2のソフトウエアに有し、第2のソフトウエアが起動時、固有指標一致動作継続許可手段を第2のソフトウエアに有する場合、第1のソフトウエアの終了を待機して第1のソフトウエアを削除する終了待機削除手段を有し、第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが起動後、第2のソフトウエアを削除する起動後削除手段を第1のソフトウエアに有することを特徴とする1電子機器唯一動作許可ソフトウエア管理装置とした。   In order to solve the above problem, the electronic device unique operation permission software management device according to claim 5 is the electronic device unique operation permission software management device according to claim 2, in which the first software is When the second software has the first software activation means to be activated, and the second software has the unique index coincidence operation continuation permission means when the second software is activated, the first software If the first software only has the unique index matching operation continuation permission means, the first software is started after the first software is started. The first software has an operation-permitted software management device characterized in that the first software has a post-startup deletion means for deleting the second software.

これにより、第2のソフトウエアが起動時、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが動作していない場合、第1のソフトウエアに組み込まれている為、逆アセンブル等のプログラム解析等を行うことが困難となり、セキュリティ機能が高まる。また、第2のソフトウエアは、初回起動した電子機器以外では動作ができなくなる。   As a result, when the second software has a unique index coincidence operation continuation permission means at the time of start-up, when the first software is not operating, since it is incorporated in the first software, disassembly, etc. It becomes difficult to perform program analysis and the like, and the security function is enhanced. In addition, the second software cannot operate except for the electronic device that is activated for the first time.

また、第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが初回起動後、第2のソフトウエアは削除される為、初回起動した電子機器の初回起動時以外では第1のソフトウエアを生成することができず、また、第2のソフトウエアは、初回生成時の電子機器以外では動作ができなくなる。   In addition, when only the first software has the unique index coincidence operation continuation permission means, the second software is deleted after the first software is started for the first time. The first software cannot be generated at times other than the time, and the second software cannot operate except for the electronic device at the time of the initial generation.

また、上記課題を解決するために、請求項6に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)は、請求項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電子機器唯一動作許可インストーラ(ソフトウエア配布装置)とした。   In order to solve the above problem, the one electronic device unique operation permission installer (software distribution device) according to claim 6 operates as the one electronic device unique operation permission software management device according to claim 5. The index unique to the electronic device is an index unique to the electronic device to be installed, and the one electronic device unique operation permission software management device according to claim 5 is the first electronic device unique operation permission installer. 1 software and / or second software, and when the second software according to claim 4 is used, the first software of the electronic device only operation permission software management device according to claim 5 A first software securing means that secures the wear, and a first software for generating the first software for the one-electronic-device-only operation-permitted software management device according to claim 5 If the software generation means is provided in the one electronic device unique operation permission installer according to claim 4 and the first software according to claim 4 is used, the first software of the second software according to claim 4 is provided. The software securing means is a means for securing the second software of the one-electronic-device-only operation-permitted software management device according to claim 5, and the first software of the second software according to claim 4. The software generation means is a means for generating the second software of the one electronic device unique operation permission software management apparatus according to claim 5, wherein the one electronic device unique operation permission installer (software Distribution device).

これにより、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第2のソフトウエアが起動時、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが動作していない場合、請求項5に記載の第1のソフトウエアに組み込まれている為、逆アセンブル等のプログラム解析等を行うことが困難となり、セキュリティ機能が向上する。また、請求項5に記載の第1のソフトウエアは、初回起動した電子機器以外では動作ができなくなる。   As a result, the first or second software according to claim 4 is the one electronic device unique operation permission software management device according to claim 5, and the second software according to claim 5 is started up. In the case of having the unique index matching operation continuation permitting means, when the first software according to claim 5 is not operating, it is incorporated into the first software according to claim 5, and therefore, disassembly is performed. It becomes difficult to perform program analysis and the like, and the security function is improved. Further, the first software according to claim 5 cannot operate except for the electronic device that is activated for the first time.

また、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが初回起動後、削除される為、初回起動した電子機器の初回起動時以外では請求項5に記載の第2のソフトウエアを生成することができず、また、請求項5に記載の第2のソフトウエアは、初回生成時の電子機器以外では動作ができなくなる。   In addition, the first or second software according to claim 4 is the only electronic-permitted software management device according to claim 5, wherein only the first software according to claim 5 is unique. When the index matching operation continuation permitting unit is included, the first software according to claim 5 is deleted after the first activation, and therefore the second software according to claim 5 is not used at the first activation of the electronic device activated for the first time. In addition, the second software according to the fifth aspect cannot operate except for the electronic device at the time of the initial generation.

また、上記課題を解決するために、請求項7に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)は、請求項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電子機器唯一動作許可インストーラ(ソフトウエア配布装置)とした。   Further, in order to solve the above-mentioned problem, the one electronic device unique operation permission installer (software distribution device) according to claim 7 claims the one electronic device unique operation permission software management device according to claim 6. When the first software and / or the second software of the one electronic device unique operation permission installer according to claim 4 is used and the second software according to claim 4 is used, the one electronic device according to claim 6 is used. 7. The first software securing means that secures the first software of the device-only operation-permitted software management device, and the first software of the one-electronic device-only operation-permitted software management device according to claim 6 are generated When the first software generation means is provided in the one-electronic-device-only-operation-permitted installer according to claim 4, the first software according to claim 4, The first software securing means of the second software according to claim 1 is means for securing the second software of the one-electronic-device-only operation-permitted software management device according to claim 6, wherein The first software generation means of the second software described in claim 1 is means for generating the second software of the one electronic device only operation-permitted software management device according to claim 6. The one-electronic-device-only operation-permitted installer (software distribution device) is characterized in that the above-described application relationship is repeated at least once.

また、上記課題を解決するために、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置は、請求項4に記載の1電子機器唯一動作許可インストーラにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可インストーラ生成装置であって、第1のソフトウエア確保手段に第1のソフトウエアを格納する手段を第1のソフトウエア格納手段を備えることを特徴とする1電子機器唯一動作許可インストーラ生成装置とした。   In order to solve the above problem, the one-electronic-device-only-operation-permitted installer generating device according to claim 8 secures the first software in the one-electronic device-only operation-permitted installer according to claim 4. The first software securing means is an electronic device unique operation permission installer generating device as the first software securing preparing means for securing the first software, and the first software securing means includes the first software securing means. The means for storing one piece of software is the only operation-permitted installer generating device for one electronic device, characterized in that it comprises first software storage means.

これにより、1電子機器唯一動作許可インストーラ生成装置により生成された1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)は、第1のソフトウエア及び/又は1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)が、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   Thus, the one electronic device unique operation permission installer (software distribution device) generated by the one electronic device unique operation permission installer generation device is the first software and / or one electronic device unique operation permission installer (software distribution). The device) compares the index specific to the operating electronic device acquired at startup and the index specific to the operating electronic device secured in the initial startup unique index securing means, and only when they match Since the operation is allowed to continue, the use of the software can be disabled except for the electronic device at the first activation.

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、上記課題を解決するために、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置は、請求項6、又は請求項7に記載の1電子機器唯一動作許可インストーラにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可インストーラ生成装置であって、第1のソフトウエア確保手段に第1のソフトウエアを格納する手段を第1のソフトウエア格納手段を備えることを特徴とする1電子機器唯一動作許可インストーラ生成装置とした。   In order to solve the above-mentioned problem, the one electronic device unique operation permission installer generating device according to claim 8 is the first electronic device unique operation permission installer according to claim 6, The first software securing means securing the software is an electronic device unique operation permission installer generating device as the first software securing preparing means for securing the first software. The means for storing the first software in the wear securing means includes the first software storage means, which is an electronic device unique operation permission installer generating device.

これにより、1電子機器唯一動作許可インストーラ生成装置により生成された1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)は、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第2のソフトウエアが起動時、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが動作していない場合、請求項5に記載の第1のソフトウエアに組み込まれている為、逆アセンブル等のプログラム解析等を行うことが困難となり、セキュリティ機能が向上する。また、請求項5に記載の第1のソフトウエアは、初回起動した電子機器以外では動作ができなくなる。   Thus, the one electronic device unique operation permission installer (software distribution device) generated by the one electronic device unique operation permission installer generation device includes the first or second software according to claim 4 in claim 5. When the second software according to claim 5 has a unique index coincidence operation continuation permitting means at the time of activation, the first software according to claim 5 is provided. When the hardware is not operating, since it is incorporated in the first software according to claim 5, it becomes difficult to perform program analysis such as disassembly, and the security function is improved. Further, the first software according to claim 5 cannot operate except for the electronic device that is activated for the first time.

また、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが初回起動後、削除される為、初回起動した電子機器の初回起動時以外では請求項5に記載の第2のソフトウエアを生成することができず、また、請求項5に記載の第2のソフトウエアは、初回生成時の電子機器以外では動作ができなくなる。   In addition, the first or second software according to claim 4 is the only electronic-permitted software management device according to claim 5, wherein only the first software according to claim 5 is unique. When the index matching operation continuation permitting unit is included, the first software according to claim 5 is deleted after the first activation, and therefore the second software according to claim 5 is not used at the first activation of the electronic device activated for the first time. In addition, the second software according to the fifth aspect cannot operate except for the electronic device at the time of the initial generation.

また、上記課題を解決するために、請求項9に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置は、第1のソフトウエアを第2のソフトウエアにバイナリの状態で組み込む1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置であって、動作する電子機器に固有の指標を確保する固有指標確保手段と、初回起動時、固有指標確保手段に動作する電子機器に固有の指標を格納する固有指標格納手段と、起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合のみ動作継続を許可する固有指標一致動作継続許可手段とを第1のソフトウエアにバイナリの状態で組み込むことを特徴とする1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置とした。   In order to solve the above-mentioned problem, the one electronic device unique operation permission software generation or manufacturing apparatus or the one electronic device unique operation permission installer generation device according to claim 9 uses the first software as the second software. 1 electronic device unique operation permission software generation or manufacturing apparatus or 1 electronic device unique operation permission installer generation device to be incorporated into the software in a binary state, and a unique index securing means for securing an index unique to the operating electronic device; Secured in the unique index storage means for storing the unique index of the electronic device operating in the unique index securing means at the first startup, and in the unique index and unique index securing means acquired during startup and startup The unique index matching operation continuation permitting means that compares the index unique to the electronic device to be operated and permits the continuation of the operation only when they match is the first software. It was 1 an electronic apparatus only operation permitted, characterized in that incorporated in the binary state software product or production device, or 1 electronic device only operation permitted installer generator to Touea.

また、上記課題を解決するために、請求項10に記載の1電子機器唯一動作許可ソフトウエア、1電子機器唯一動作許可ソフトウエア生成装置、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、1電子機器唯一動作許可ソフトウエア管理装置、1電子機器唯一動作許可インストーラ生成装置、1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置は、動作する電子機器に固有の指標がMACアドレスであることを特徴とする請求項1、若しくは請求項2に記載の1電子機器唯一動作許可ソフトウエア、請求項3に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、若しくは請求項7に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置とした。   Further, in order to solve the above-mentioned problem, one electronic device unique operation permission software according to claim 10, one electronic device unique operation permission software generation device, one electronic device unique operation permission installer (software distribution device), One electronic device only operation permission software management device, one electronic device only operation permission installer generation device, one electronic device only operation permission software generation or manufacturing device, or one electronic device only operation permission installer generation device The unique operation-permitting software for one electronic device according to claim 1 or 2, and the unique operation-permitting software generating device for one electronic device according to claim 3, wherein the unique index is a MAC address. , Claim 4, claim 6, or claim 7, an electronic device only operation permission installer (software Software distribution device), an electronic device unique operation permission software management device according to claim 5, an electronic device unique operation permission installer generation device according to claim 8, or an electronic device unique operation device according to claim 9. An operation-permitted software generation or manufacturing apparatus, or an electronic apparatus unique operation permission installer generation apparatus was used.

ここで、MACアドレスとは、Media Access Control Addressを示す。   Here, the MAC address indicates Media Access Control Address.

これにより、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   This makes it impossible to use the software except for the electronic device at the time of initial activation.

また、上記課題を解決するために、請求項11に記載の1電子機器唯一動作許可ソフトウエア、1電子機器唯一動作許可ソフトウエア生成装置、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、1電子機器唯一動作許可ソフトウエア管理装置、1電子機器唯一動作許可インストーラ生成装置、1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置は、第1のソフトウエアを第2のソフトウエアに格納する領域及び/又は動作する電子機器に固有の指標を格納する領域に格納するデータは、暗号化されていることを特徴とする請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置とした。   Further, in order to solve the above-mentioned problem, one electronic device unique operation permission software according to claim 11, one electronic device unique operation permission software generation device, one electronic device unique operation permission installer (software distribution device), 1 electronic device only operation permission software management device, 1 electronic device only operation permission installer generation device, 1 electronic device only operation permission software generation or manufacturing device, or 1 electronic device only operation permission installer generation device The data stored in the area for storing the software in the second software and / or in the area for storing the index unique to the electronic device to be operated is encrypted. Alternatively, the electronic device only operation permission software according to claim 10, or the electronic device according to claim 3 or claim 10. Device unique operation permission software generation device, one electronic device unique operation permission installer (software distribution device) according to claim 4, claim 6, claim 7, or claim 10, claim 5, or claim 10 The one electronic device unique operation permission software management device according to claim 8, the one electronic device unique operation permission installer generation device according to claim 8, or the one electronic device according to claim 9 or claim 10. A device unique operation permission software generation or manufacturing device, or an electronic device unique operation permission installer generation device.

これにより、逆アセンブル等によるプログラム解析等を困難とし、セキュリティ機能を高めることができる。   This makes it difficult to analyze the program by disassembly or the like, and can enhance the security function.

また、上記課題を解決するために、請求項12に記載のソフトウエア製造装置は、ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置とした。   In order to solve the above-mentioned problem, the software manufacturing apparatus according to claim 12 incorporates means having a function in software in a binary state and / or is incorporated in software in a binary state. A software manufacturing apparatus is characterized in that means having functions that are not incorporated are incorporated and deleted in a binary state.

これにより、ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することができる。   Thereby, means having a function in software can be incorporated in a binary state and / or means having a function incorporated / not incorporated in software in a binary state can be incorporated and deleted in a binary state.

また、上記課題を解決するために、請求項13に記載のソフトウエア製造装置は、
ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置であって、
請求項12に記載のソフトウエア製造装置において、
1.<コードの挿入>
1.0 組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
組み込むソフトウエアのコードのどの位置に機能を有する手段を挿入するかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に何らかの処理を行う場合(コード挿入位置選択判断手段による判断に依る)、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの開始アドレスの前に、コードを挿入するコード挿入手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに挿入したコードアドレスを減算した開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後にコードを挿入するコード挿入手段と
を有し、
2.<データアドレスの変更>
2.0 挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段と
を有し、
挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合(システムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段による判断に依る)、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と
を有し、
3.<機能を有する手段が呼び出し関数群格納ファイルを使用している場合>
3.0 機能を有する手段が呼び出し関数群格納ファイルを使用しているかどうかを判断する、機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段と
を有し、
3.1<組み込むソフトウエアの呼び出し関数群格納ファイル存在チェック>
挿入したコード内に呼び出し関数群格納ファイル被格納呼び出し関数をコールしている場合(機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段による判断に依る)、組み込むソフトウエアの呼び出し関数群呼び出しセクションを検索し、呼び出し関数群格納ファイルが存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段と
を有し、
3.1.1<組み込むソフトウエアに呼び出し関数群格納ファイルが存在している場合>
組み込むソフトウエアに呼び出し関数群格納ファイルが存在している場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段による判断に依る)、
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段と
を有し、
3.1.1.1<組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合>
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段による判断に依る)、
その呼び出し関数群格納ファイル被格納呼び出し関数のアドレスにより挿入するコードの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する挿入コード呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.1.2<組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合>
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数を追加し、呼び出し関数群格納ファイル被格納呼び出し関数追加によるサイズ変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.2<組み込むソフトウエアに呼び出し関数群格納ファイルが存在していない場合>
組み込むソフトウエアに呼び出し関数群格納ファイルが存在していない場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段による判断に依る)、
呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数を呼び出し関数群呼び出しセクションに追加し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数追加によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
4.<機能を有する手段が(コード記載、呼び出し関数群呼び出し、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0 機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1<組み込むソフトウエアの他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と
を有し、
4.1.1<組み込むソフトウエアに他のセクションの要素存在時>
組み込むソフトウエアに他のセクションの要素が存在している場合(他のセクション要素存在/非存在検索手段による判断に依る)、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と
を有し、
4.1.2<組み込むソフトウエアに他のセクションの要素非存在時>
組み込むソフトウエアに他のセクションの要素が存在していない場合(他のセクション要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0 コードの挿入により、コード内のアドレスを指定しているかどうかを判断するコード挿入コード内アドレス指定/非指定判断手段と
を有し、
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
(コード挿入コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらし手段と
を有し、
6.
6.0 コード挿入によりコードサイズが初めより大きくなるかどうかを判断するコード挿入コードサイズ大/非大判断手段と
を有し、
(コード挿入によりコードサイズが初めより大きくなる場合)
コード挿入により、コードサイズが(コード記載セクション)ヘッダーに記載されているサイズよりも大きくなる場合(コード挿入コードサイズ大/非大判断手段による判断に依る)、
(コード記載セクション)ヘッダー内に記載のコード記載セクション及び/又はコード記載セクションのコードサイズをコード挿入後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コード記載セクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により増分したサイズ分、(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションの開始アドレスを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード挿入により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより大きくなる場合)
コード挿入により、第1の他のセクションのサイズが(第1の他のセクション)ヘッダー内に記載されているサイズよりも大きくなる場合(コード挿入により他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段による判断に依る)、
(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション挿入後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コード記載セクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する(第2の他のセクション)ヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの増分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード挿入により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有し、
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置、
並びに/若しくは、
電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、実行体の停止中に、ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置
とした。
Moreover, in order to solve the said subject, the software manufacturing apparatus of Claim 13 is the following.
A software manufacturing apparatus characterized by incorporating means having a function in software in a binary state,
In the software manufacturing apparatus according to claim 12,
1. <Insert code>
1.0 Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in the embedded software;
A code insertion position selection judging means for selecting and judging at which position of the code of the software to be embedded the functioning means is inserted;
1.1. When there is a part that calls the code start address in the current code, such as debugging information, in the embedded software (depends on the judgment by the code start address call part search means), and some processing is performed before the code starts (Depends on the determination by the code insertion position selection determination means),
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code insertion means for inserting a code before the start address of the code description section based on the code start address searched by the code start address call location search means in the code description section;
A code start address in the code description section, a call code start address changing means for rewriting the code start address obtained by subtracting the code address inserted in the code start address of the code start address searched by the call position search means;
1.2. If the embedded software does not have a location to call the code start address in the current code, such as debug information (depending on the judgment by the code start address call location search means), or other than 1.1 (code description section) header Code start address search means for searching the code start address of
A code insertion means for inserting a code at the beginning, middle or end of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or calling function group storage file stored call function is called in the inserted code, and the system call or calling function group storage file stored call to determine whether the function uses data Function data use / non-use judgment means,
When a system call or calling function group storage file stored call function is called in the inserted code and the function uses data (system call or calling function group storage file stored call function data used / not used) Data section adding means for adding data to the data section)
Insertion code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a calling function group storage file>
3.0 means for determining whether or not a means having a function uses a calling function group storage file, and means for determining whether a function calling function group storage file is used / not used.
3.1 <Existing software call function group storage file existence check>
Call function group storage file stored call function is called in the inserted code (depending on judgment by means of using / non-use judging means having function calling function group storage file) A calling function group calling section calling function group storage file existence / non-existence searching means for searching for a section and searching whether a calling function group storage file exists;
3.1.1 <When calling function group storage file exists in software to be embedded>
When the call function group storage file exists in the software to be embedded (depending on the judgment by the calling function group call section call function group storage file existence / non-existence search means)
A call function group calling section calling function group storage file stored call function existence / non-existence search means for searching whether or not a call function group storage file stored call function exists in the embedded software;
3.1.1.1 <When a call function group storage file stored call function exists in the embedded software>
If the call function group storage file stored call function exists in the software to be embedded (depending on the judgment by the call function group call section call function group storage file stored call function existence / non-existence search means),
A call function group storage file stored call function address changing means for changing a call function group storage file stored call function address of a code to be inserted according to an address of the call function group storage file stored call function;
3.1.1.2 <When the call function group storage file stored call function does not exist in the embedded software>
If the call function group storage file stored call function does not exist in the software to be embedded (depending on the judgment by the call function group call section call function group storage file stored call function existence / non-existence search means),
Call function group storage file stored call function is added, and the call function group storage file stored call function in the call function group call section in the call function group call section for the size change by adding the call function group storage file stored call function A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a calling function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means,
3.1.2 <When the calling function group storage file does not exist in the software to be embedded>
If the calling function group storage file does not exist in the software to be embedded (depending on the judgment by the calling function group calling section calling function group storage file existence / non-existence retrieval means),
Call function group storage file and call function group storage file stored call function are added to the call function group call section, and the call function group storage file and call function group storage file stored call function added address call function group call section Calling function group storage file address, calling function group storage file stored call function address, and / or other address reference address in the calling function group calling section is changed. , Calling function group storage file stored call function address changing means,
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a calling function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means,
4). <When the functional means uses elements of other sections (single code or plurals other than code description, calling function group call, data section)>
4.0 means for determining whether a means having a function uses an element of another section; a means for determining a function use / non-use of another section;
4.1 <Element existence check of other sections of software to be incorporated>
When other section elements are used in the inserted code (depending on the determination by the means for using / not using the elements of other sections that have a function), search for other sections and elements of other sections Other section element presence / absence search means for searching whether or not exists,
4.1.1 <When other section elements exist in the embedded software>
When other section elements exist in the software to be incorporated (depending on judgment by other section element presence / absence search means)
An insertion code for changing an address of an element of another section of code to be inserted according to an address of an element of another section;
4.1.2 <When other section elements are not present in the embedded software>
When there are no other section elements in the software to be incorporated (depending on the judgment by other section element presence / absence search means)
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0 having code insertion code address designation / non-designation judging means for judging whether or not an address in the code is designated by inserting the code;
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
(If there is a designated part depending on the judgment by the address designation / non-designation judgment means in the code insertion code) Search the current code for the instruction that refers to the address, and refer to the address in the code description section. And an address shifting means for shifting the inserted address by the size of the inserted code.
6).
6.0 code insertion code size large / non-large judgment means for judging whether or not the code size is larger than the beginning by code insertion;
(When code size becomes larger than the beginning due to code insertion)
When the code size becomes larger than the size described in the (code description section) header due to code insertion (depending on the judgment by the code insertion code size large / non-large judgment means)
(Code description section) code size changing means for changing the code size of the code description section described in the header and / or the code size of the code description section to a size having a specified width larger than the size after the code is inserted;
A first other section for determining whether a first other section (other than the code-written section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section for changing the start address of the first other section and / or the first other section described in the header by the size incremented by the code size changing means. Starting address changing means;
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code insertion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size large / non-large judgment means for judging whether or not the first other section size is larger than the first by insertion of the code,
(When the code inserts the first other section size larger than the beginning)
If code insertion causes the size of the first other section to be larger than the size described in the header (first other section) The code insertion to be determined depends on the first other section size large / non-large judgment means),
(First other section) The size of the first other section and / or the first other section described in the header is larger than the size after insertion of the first other section. A first other section size changing means for changing to
A second other section for determining whether there is a second other section (other than the code-written section);
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the header having the start address after the start address of the first other section (second other section) Means for changing the start address of the second other section that is shifted by an increment in size from the start address of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code insertion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. 1 processing repetition execution means,
Software manufacturing apparatus characterized by incorporating means having a function in software in a binary state,
And / or
The software manufacturing apparatus is characterized in that execution of an execution body of a program on an electronic device or a computer is monitored, and means having a function in software is incorporated in a binary state while the execution body is stopped.

これにより、ソフトウエアに機能を有する手段をバイナリの状態で組み込むことができる。   Thereby, means having a function in software can be incorporated in a binary state.

また、上記課題を解決するために、請求項14に記載のソフトウエア製造装置は、
ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置であって、
請求項12又は請求項13に記載のソフトウエア製造装置において、
ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置であって、
<機能を有する手段のソフトウエア存在/非存在>
単数又は複数の、(あるアドレスからあるアドレス迄の)固まった単位で存在する機能を有する手段が参照するシステムコール、呼び出し関数群格納ファイル被格納呼び出し関数、呼び出し関数群呼び出しセクション、データセクション、及び/又は、他のデータセクション等のアドレス参照箇所の関数及び/又はデータと、ソフトウエアの該当箇所との一致を含め、機能を有する手段がソフトウエア内に存在するかどうかの判断を行う機能を有する手段ソフトウエア内存在/非存在判断手段と
を及び/又は有し、
<機能を有する手段のソフトウエア存在時>(及び/又は機能を有する手段ソフトウエア内存在/非存在判断手段による一致の判断の場合)
1.<コードの削除>
1.0. 機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
機能を有する手段を組み込んだ/組み込んでいないソフトウエアのコードのどの位置に機能を有する手段を挿入しているかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に機能を有する手段を挿入している場合(コード挿入位置選択判断手段による判断に依る)、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード開始アドレスからコード記載セクションの開始アドレス(又は、組み込み前のコード記載セクションの通常の開始アドレス)の前までに挿入したコードを削除するコード削除手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに削除した機能を有する手段のコードアドレスを加算した(又は、通常の)開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合(システムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合>
3.0. 削除した機能を有する手段が呼び出し関数群格納ファイルを使用しているかどうかを判断する、機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段と
を有し、
3.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数使用/非使用チェック>
削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合(機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段による判断に依る)、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していない場合>
コード内の他の箇所で使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していると判断されなかった場合(他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群呼び出しセクション内に、使用呼び出し関数群格納ファイル被格納呼び出し関数が属する呼び出し関数群格納ファイルの他の呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群呼び出しセクション内他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と
を有し、
3.1.1.1.<呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合>
呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合、
他の呼び出し関数群格納ファイル被格納呼び出し関数をコード内の他の箇所で使用しているかどうかを検索する他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していない場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断されなかった場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイル被格納呼び出し関数の呼び出し関数群格納ファイルに属する全ての他の呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイルを削除し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.1.1.2.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断された場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数を削除し、呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード記載、呼び出し関数群呼び出し、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素非存在時>
機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有し、
6.
6.0. 機能を有する手段削除によりコードサイズが初めより小さくなるかどうかを判断するコード削除コードサイズ小/非小判断手段と
を有し、
(機能を有する手段削除によりコードサイズが初めより小さくなる場合)
機能を有する手段削除により、コードサイズが(コード記載セクション)ヘッダーに記載されているサイズよりも小さくなる場合(コード削除コードサイズ小/非小判断手段による判断に依る)、
(コード記載セクション)ヘッダー内に記載のコード記載セクション及び/又はコード記載セクションのコードサイズをコード削除後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コード記載セクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により減分したサイズ分、(第1の他のセクション)ヘッダー内に記載の第1の他のセクションの開始アドレス及び/又は第1の他のセクションを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード削除により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより小さくなる場合)
コード削除により、第1の他のセクションのサイズが(第1の他のセクション)ヘッダー内に記載されているサイズよりも小さくなる場合(コード挿入により他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段による判断に依る)、
(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション削除後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コード記載セクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する(第2の他のセクション)ヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの減分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード削除により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有し、
ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除する
ことを特徴とするソフトウエア製造装置、
並びに/若しくは、
電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、実行体の停止中に、ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置
とした。
Moreover, in order to solve the said subject, the software manufacturing apparatus of Claim 14 is the following.
Software having a function incorporated in software in a binary state and / or means having a function incorporated / not incorporated in software in a binary state and deleted in a binary state Manufacturing equipment,
In the software manufacturing apparatus according to claim 12 or 13,
A software manufacturing apparatus characterized in that means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state,
<Software presence / absence of means having functions>
A system call, a calling function group storage file stored call function, a calling function group calling section, a data section, which is referred to by means having a function existing in a unit (from one address to a certain address) A function for judging whether or not there is a means having a function in the software, including a match between a function and / or data of an address reference location such as another data section and a corresponding location of the software. And / or having and / or having presence / non-existence judging means in software,
<When software having a function means is present> (and / or in the case of coincidence determination by means of presence / absence determination means in a function means software having a function)
1. <Deleting code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in software incorporating / not having a function having a function;
Code insertion position selection determining means for selecting and determining at which position of the software code in which the means having the function is incorporated / not incorporated the function means is inserted;
1.1. If the software with or without a function means has a part that calls the code start address in the current code, such as debug information (depending on the judgment by the code start address call part search means), When means having a function is inserted before the start of the code (depending on the judgment by the code insertion position selection judgment means),
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code start address in code description section Based on the code start address searched by the call location search means, from the code start address to the start address of the code description section (or the normal start address of the code description section before installation) A code deletion means for deleting the inserted code;
Code start address in the code description section Code start address searched by the call location search means Code start address obtained by adding the code address of the means having the deleted function to the code start address of the call location (or normal) to rewrite the start address Address changing means,
1.2. 1. When software having built-in / non-built-in means does not have a place to call a code start address in the current code, such as debug information (depending on judgment by a code start address call place search means), or Other than 1 (Code description section) Code start address search means for searching for the code start address of the header;
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 System call or call function group storage file stored call function is called in the code of the means having the deleted function, and the system call or call function group for determining whether the function uses data A storage file stored call function data use / non-use determination means,
When a system call or calling function group storage file stored call function is called in the code of the means having the deleted function and the function uses data (system call or calling function group storage file stored call) Data section deletion means for deleting data from the data section, depending on the determination by the function data use / non-use determination means),
3. <When the means with the deleted function uses the calling function group storage file>
3.0. A means for determining whether the function having the deleted function is using the calling function group storage file; a means for determining whether the function calling function group storage file is used / not used;
3.1. <Use / non-use check of stored function for calling stored function in other locations>
When the means having the deleted function uses the calling function group storage file (depending on the judgment by the means for using / not using the function calling function group storage file having the function),
A call function group storage file stored call function address search means for searching for an address of a call function group storage file stored call function used by a means having a function;
Called function group storage file stored call function address used to search whether the address of the call function group stored file stored call function used by the means having the function is used elsewhere in the code Use / non-use search means,
3.1.1. <When other part use call function group storage file stored call function is not used>
When it is not determined that the used call function group storage file stored call function is being used elsewhere in the code (according to another location use call function group storage file stored call function address use / non-use search means Depending on judgment),
In the calling function group calling section, the other calling function group storage file to which the used calling function group storage file stored call function belongs is searched. A call function group storage file stored call function address search means,
3.1.1.1. <When another call function group storage file stored call function is found in the call function group call section>
If another call function group storage file stored call function is found in the call function group call section,
Search whether other call function group storage file stored call function is used elsewhere in the code Use other group use file non-use search in other call function group storage file stored call function address code Means,
3.1.1.1.1. <When other call function group storage file stored call function address is not used>
When it is not determined that another call function group storage file stored call function address is used (determination by other place use / non-use search means in another call function group storage file stored call function address code )
Delete all other call function group storage file stored call functions and call function group storage files belonging to the call function group storage file stored call function of the call function group storage file, call function group storage file storage call function, Call function group storage file, call function group storage file stored call function stored address call function group storage file address, call function group storage file stored call function address and / or call function A calling function group storage file for calling function group calling section for changing other address reference addresses in the group calling section, a calling function group storage file stored call function address changing means,
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
3.1.1.1.2. <When other call function group storage file stored call function address is used>
When it is determined that another call function group storage file stored call function address is used (depending on determination by other call function group storage file stored call function address use / non-use search means)
The call function group storage file stored call function is deleted by deleting the call function group storage file stored call function and deleting the call function group storage file stored call function. A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
4). <When the means having the deleted function uses elements of other sections (single or plural other than code description, calling function group call, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements are not present in the software with or without a function means>
When the element of the other section does not exist in the software incorporating / not incorporating the means having the function (depending on the determination by the element existence / non-existence search means of the other section in the code),
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(When there is a designated part depending on the judgment by the address designation / non-designation judgment means in the means deleting code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code description section And an address shifting means for deleting the code corresponding to the deleted code size.
6).
6.0. A code deletion code size small / non-small determination means for determining whether or not the code size is smaller than the beginning by deleting the function having the function;
(When code size becomes smaller than the beginning due to deletion of means with functions)
When the code size becomes smaller than the size described in the (code description section) header due to the deletion of means having a function (depending on the determination by the code deletion code size small / non-small determination means),
(Code description section) code size changing means for changing the code size of the code description section described in the header and / or the code size of the code description section to a size having a specified width larger than the size after the code is deleted;
A first other section for determining whether a first other section (other than the code-written section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section that changes the start address of the first other section and / or the first other section described in the (first other section) header by the size decremented by the code size changing means Section start address changing means,
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code deletion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size small / non-small judgment means for judging whether or not the first other section size is smaller than the first by insertion of the code,
(When the code inserts the first other section size smaller than the beginning)
If code deletion causes the size of the first other section to be smaller than the size described in the header (first other section) The code insertion to be determined first depends on the judgment by the other section size small / non-small judgment means),
(First other section) The size of the first other section and / or the first other section described in the header is larger than the size after the first other section is deleted. A first other section size changing means for changing to
A second other section for determining whether there is a second other section (other than the code-written section);
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the header having the start address after the start address of the first other section (second other section) Means for changing the start address of the second other section shifted by a decrement in size from the start address of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code deletion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. 1 processing repetition execution means,
A software manufacturing apparatus characterized in that means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state;
And / or
The execution of the execution body of the program on the electronic device or the computer is monitored, and the means having the function in the software is incorporated in the binary state and / or the software is incorporated in the binary state while the execution body is stopped. The software manufacturing apparatus is characterized in that means having functions that are not incorporated are incorporated and deleted in a binary state.

これにより、ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することができる。   Thereby, means having a function in software can be incorporated in a binary state and / or means having a function incorporated / not incorporated in software in a binary state can be incorporated and deleted in a binary state.

また、上記課題を解決するために、請求項15に記載の供給若しくは配布媒体は、請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置、又は、請求項12乃至請求項14に記載のソフトウエア製造装置に記載の処理を実行させるコンピュータが読みとり可能なプログラムを供給若しくは配布することを特徴とする供給若しくは配布媒体とした。   In order to solve the above problem, the supply or distribution medium according to claim 15 is the electronic device only operation permission software according to claim 1, claim 2, or claim 10, claim 3, Alternatively, the electronic device unique operation permission software generation device according to claim 10, or the electronic device unique operation permission installer (software distribution device) according to claim 4, claim 6, claim 7, or claim 10. 11. An electronic device unique operation permission software management device according to claim 5, claim 10, or an electronic device unique operation permission installer generation device according to claim 8, or claim 9, or claim 10. Item 10. The electronic device unique operation permission software generation or manufacturing device according to Item 10, or the electronic device unique operation permission installer generation device, or claim Was supplied or distribution medium, characterized in that the process computer for executing supplying or distributing program readable according to a software manufacturing apparatus according to 12 or claim 14.

これにより、供給若しくは配布媒体を供給若しくは配布することにより、請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置、又は、請求項12乃至請求項14に記載のソフトウエア製造装置に記載の処理を実行させることができる。   Thus, by supplying or distributing a supply or distribution medium, the electronic device only operation permission software according to claim 1, claim 2, or claim 10, claim 3, or claim 10, One electronic device unique operation permission software generation device, one electronic device unique operation permission installer (software distribution device) according to claim 4, claim 6, claim 7, or claim 10, claim 5, or claim 10. The one electronic device unique operation permission software management device according to claim 10, the one electronic device unique operation permission installer generation device according to claim 8, or the one electronic device according to claim 9 or claim 10. Device unique operation permission software generation or manufacturing device, or one electronic device unique operation permission installer generation device, or claim 12 It is possible to execute the process according to the software production apparatus according to claim 14.

また、上記課題を解決するために、請求項16に記載の機械語コード埋め込み装置(電子機器)は、処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納することを特徴とする機械語コード埋め込み装置(電子機器)とした。   In order to solve the above problem, the machine language code embedding device (electronic device) according to claim 16 is provided with means having a function in software by supplying software to be processed by a supply medium. A machine language code which is incorporated in a binary state and / or a means having a function which is incorporated / not incorporated in a software in a binary state is incorporated and deleted in a binary state and stored in a supply medium An embedding device (electronic device) was used.

これにより、処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納することができる。   Thus, by supplying software to be processed by the supply medium, means having a function in the software is incorporated in a binary state and / or incorporated in the software in a binary state / not incorporated. Means having a function can be incorporated and deleted in a binary state and stored in the supply medium.

また、上記課題を解決するために、請求項17に記載の機械語コード埋め込み装置(電子機器)は、
処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで供給媒体に格納することを特徴とする機械語コード埋め込み装置(電子機器)であって、
請求項16に記載の機械語コード埋め込み装置(電子機器)において、
容器に格納されており、
供給媒体を供給する供給媒体供給手段を有し、
前記供給媒体供給手段により供給された供給媒体からソフトウエア及び/又は組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)を示すファイル又はデータを読み込み、
前記ソフトウエアに機能を有する手段を
初期設定による組み込み指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み指標か、各種選択釦を有している場合、選択釦による組み込み指標か、ファイル又はデータによる設定による組み込み指標に基づいて、
バイナリの状態で組み込んで供給媒体に格納し、
並びに/若しくは、
前記供給媒体供給手段により供給された供給媒体から組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータを読み込み、
組み込み用プログラムを
初期設定による組み込み用プログラム指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み用プログラム指標か、各種選択釦を有している場合、選択釦による組み込み用プログラム指標か、ファイル又はデータによる設定による組み込み用プログラム指標に基づいて、
組み込み用プログラムを追加、変更、及び/又は削除をし、
並びに/若しくは、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
並びに/若しくは、
初期設定を変更する為の(選択)操作機(コンピュータ)接続用の接続手段を有し、接続された(選択)操作機(コンピュータ)から初期設定を変更する
ことを特徴とする機械語コード埋め込み装置(電子機器)
とした。
In order to solve the above problem, a machine language code embedding device (electronic device) according to claim 17 is:
A machine language code embedding device (electronic device) characterized in that by supplying software to be processed with a supply medium, means having a function in the software is incorporated in a binary state and stored in the supply medium. And
The machine language code embedding device (electronic device) according to claim 16,
Stored in a container,
A supply medium supply means for supplying the supply medium;
Software and / or built-in indicators from which the supply medium supplied by the supply medium supply means (which embedded program is installed in which position, which software is described in machine language or any high-level language) And / or whether to make initial settings, etc.)
If the means having the function in the software is a built-in index by initial setting or a display means, a built-in index by a selection means displayed on the display means, or a selection button if it has various selection buttons Based on built-in metrics or built-in metrics set by file or data,
Embed in binary form and store in supply medium,
And / or
An embedded program and / or an embedded program index (adding, changing, and / or deleting an embedded program from the supply medium supplied by the supply medium supply means, the order of the embedded program, and the embedded program is a machine language Or in which high-level language and / or whether to perform initial settings, etc.)
If the built-in program is a program index for installation by default or if it has a display means, if it has a program index for installation by a selection means displayed on the display means, or if it has various selection buttons, use a selection button Based on the embedded program index or the embedded program index set by file or data,
Add, change, and / or delete embedded programs;
And / or
If the embedded program is written in a high-level language and the high-level language is described in the embedded program index, the embedded program is compiled with the designated high-level language compiler and software The compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and the high-level language is written in the built-in index. The software is compiled with a high-level language compiler, the embedded program is stored in a binary form in the software execution body, and the software and the embedded program are also written in the high-level language. When a high-level language is described in the built-in index and the program index for embedding, Compile the embedded program with the specified high-level language compiler, compile the software with the specified high-level language compiler, and compile the compiled embedded program into a binary state. In the executable,
And / or
A machine language code embedding characterized by having connection means for connecting a (selection) operating device (computer) for changing the initial setting, and changing the initial setting from the connected (selection) operating device (computer) Equipment (electronic equipment)
It was.

これにより、処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで供給媒体に格納することができる。   Thus, by supplying software to be processed by the supply medium, means having a function in the software can be incorporated in a binary state and stored in the supply medium.

また、上記課題を解決するために、請求項18に記載の機械語コード埋め込み装置(電子機器)は、
処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納することを特徴とする機械語コード埋め込み装置(電子機器)であって、
請求項16又は請求項17に記載の機械語コード埋め込み装置(電子機器)において、
容器に格納されており、
供給媒体を供給する供給媒体供給手段を有し、
前記供給媒体供給手段により供給された供給媒体から機能を有する手段が組み込まれた/組み込んでいないソフトウエア及び/又は組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を示すファイル又はデータを読み込み、
前記機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段を
初期設定による組み込み指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み指標か、各種選択釦を有している場合、選択釦による組み込み指標か、ファイル又はデータによる設定による組み込み指標に基づいて、
バイナリの状態で組み込み削除し、機能を有する手段が組み込み削除されたソフトウエアを供給媒体に格納し、
並びに/若しくは、
前記供給媒体供給手段により供給された供給媒体から組み込み削除用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を示すファイル又はデータを読み込み、
組み込み削除用プログラムを
初期設定による組み込み用プログラム指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み用プログラム指標か、各種選択釦を有している場合、選択釦による組み込み用プログラム指標か、ファイル又はデータによる設定による組み込み用プログラム指標に基づいて、
組み込み削除用プログラムを追加、変更、及び/又は削除をし、
並びに/若しくは、
組み込み削除用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、
並びに/若しくは、
初期設定を変更する為の(選択)操作機(コンピュータ)接続用の接続手段を有し、接続された(選択)操作機(コンピュータ)から初期設定を変更する
ことを特徴とする機械語コード埋め込み装置(電子機器)
とした。
In order to solve the above problem, a machine language code embedding device (electronic device) according to claim 18 is provided:
By supplying the software to be processed by the supply medium, the means having the function in the software is incorporated in the binary state and / or the software has the function incorporated / not incorporated in the software in the binary state. A machine language code embedding device (electronic device) characterized in that a means is incorporated and deleted in a binary state and stored in a supply medium,
The machine language code embedding device (electronic device) according to claim 16 or 17,
Stored in a container,
A supply medium supply means for supplying the supply medium;
Software in which means having functions are incorporated / not incorporated from the supply medium supplied by the supply medium supply means and / or an installation index (which software is to be installed in which position of which software, Whether the machine language or the high-level language is used, and / or which function is deleted, such as whether to perform initial setting, and which function is deleted from which software, The means having the function is a means for selecting at which position of the software the size is installed, whether to execute the embedded deletion, whether to perform the embedded process or the embedded deletion process, or whether to perform the initial setting at the start of the process Read the file or data indicating whether
The means having the function from the software with or without the means having the function incorporated is a built-in index by default setting, or a display means if the means having the function is a built-in index by the selection means displayed on the display means, If you have various selection buttons, based on the built-in index by the selection button or the built-in index by setting by file or data,
Incorporating and deleting in the binary state, the means having the function is stored in the supply medium software that has been included and deleted,
And / or
The program for embedding deletion and / or the program index for embedding from the supply medium supplied by the supply medium supply means (adding, changing, and / or deleting an embedding program, the order of the embedding program, the embedding program is a machine Whether to delete a means having a function such as a word or a high-level language and / or whether to perform initial setting, to delete a means having a function from which software, Which means the software has at what size and size, whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use the initial setting at the start of processing, or depending on the selection means Etc.)
If the built-in deletion program is a program index for incorporation by default or has a display means, a program index for incorporation by a selection means displayed on the display means, or a selection button if it has various selection buttons Based on the program index for embedded by or the program index for embedded by setting by file or data,
Add, change, and / or delete programs for built-in deletion
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the built-in program index, the built-in deletion program is compiled with the designated high-level language compiler, Based on the compiled program for removing embedded programs, the embedded program is deleted from the executable program in the binary state based on the compiled program for deleting embedded software with or without means having a function. If it is written in a high-level language and the high-level language is written in the built-in index, the software is compiled with a high-level language compiler, and the built-in removal program is based on the built-in removal program. Incorporated / incorporating means with functionality in binary state Incorporation / deletion from a non-software executable, and the high-level language is also included in the software and the program for deinstallation, and the high-level language is described in the embedding index and the program index for embedding In this case, the embedded deletion program is compiled with the designated high-level language compiler, and the software is compiled with the designated high-level language compiler. Based on the compiled program for deleting embedded programs, the embedded program is deleted from the executable program in the binary state,
And / or
A machine language code embedding characterized by having connection means for connecting a (selection) operating device (computer) for changing the initial setting, and changing the initial setting from the connected (selection) operating device (computer) Equipment (electronic equipment)
It was.

これにより、処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納することができる。   Thus, by supplying software to be processed by the supply medium, means having a function in the software is incorporated in a binary state and / or incorporated in the software in a binary state / not incorporated. Means having a function can be incorporated and deleted in a binary state and stored in the supply medium.

また、上記課題を解決するために、請求項19に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)は、電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、実行体にバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)とした。   In order to solve the above-mentioned problem, the machine language code embedding system integrated circuit (or supply or distribution medium) according to claim 19 is present on an electronic device or computer by being mounted on the electronic device or computer. A machine characterized in that a means having a function is incorporated in the execution body in a binary state and / or a means having a function incorporated / not incorporated in the execution body in a binary state is incorporated and deleted in a binary state. The word code embedding system integrated circuit (or supply or distribution medium) was used.

これにより、電子機器上に存在する実行体に、機能を有する手段をバイナリの状態で組み込むことができ、機械語コード組込システム集積回路を電子機器又はコンピュータに装着しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上すると共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する。   As a result, means having a function can be incorporated in an executable form existing on the electronic device in a binary state, and only by mounting the machine language code embedded system integrated circuit on the electronic device or the computer, for example, If the operation permission program for only one electronic device is incorporated as the binary embedded code, all execution objects on the electronic device or computer can be operated only on the electronic device or computer. For this reason, for example, in the case where another person uses an electronic device or computer, even if another person takes out the execution body, it can be operated only by this electronic device or computer, and the security function is improved. The means having the incorporated function can be deleted from the software in which the means having the incorporated function is incorporated, and the original software can be deleted, and further, the means having the function from the software not incorporating the means having the function. Can be incorporated and deleted, functions not desired to be used by others can be prevented from being used, and the security function is improved.

また、上記課題を解決するために、請求項20に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)は、
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、実行体にバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)であって、
請求項19に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)において、
容器に格納されており、
電子機器又はコンピュータ上に存在する実行体に、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)に基づいて、電子機器又はコンピュータ上に存在する実行体に、実行体の実行を監視し、実行体の停止中に、機能を有する手段をバイナリの状態で組み込むことを特徴とし、
初期設定による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標選択手段による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器又はコンピュータが供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標を示すファイル又はデータを供給することによる集積回路(又は供給若しくは配布媒体)組み込み指標設定に基づいて、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込み、
並びに/若しくは、
(1)
供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を供給媒体により供給すると、供給された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標が変更され、及び/又は、集積回路(又は供給若しくは配布媒体)組み込み用プログラムが追加、変更、及び/又は削除され、
並びに/若しくは、
供給媒体を供給する供給媒体供給手段を有する場合、
(1−1)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と同じファイルを使用する場合)
ソフトウエアを供給媒体により供給すると、設定されている集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−1−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、集積回路(又は供給若しくは配布媒体)組み込み指標及び集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−2)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
ソフトウエアと組み込み指標と組み込み用プログラム及び/又は組み込み用指標を供給媒体により供給すると、組み込み指標と組み込み用プログラム及び/又は組み込み用指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−2−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−3)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
供給媒体を供給する供給媒体供給手段を有する場合、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を供給媒体により供給すると、初期設定が組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標により変更され、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択手段により選択された組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標に基づいて変更され、
供給媒体を供給する供給媒体供給手段を有する場合、
ソフトウエアを供給媒体により供給すると、設定されている組み込み指標に基づいて、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択手段による組み込み指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、及び/又は初期設定が変更され、
(1−3−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納する
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)
とした。
In order to solve the above problem, the machine language code embedding system integrated circuit according to claim 20 (or supply or distribution medium)
By mounting on an electronic device or a computer, means having a function are incorporated in a binary state in the execution body existing on the electronic device or the computer and / or incorporated / not incorporated in the execution body in a binary state. A machine language code embedding system integrated circuit (or supply or distribution medium) characterized by incorporating and deleting means having a function in a binary state,
The machine language code embedding system integrated circuit (or supply or distribution medium) of claim 19
Stored in a container,
An embedded circuit (or supply or distribution medium) built-in indicator (which embedded program is installed in which position in which software, software in machine language or in any high-level language) The execution body present on the electronic device or computer is monitored for execution of the execution body based on what is described and / or whether or not the initial setting is performed, and the function is executed while the execution body is stopped. Incorporating means in a binary state,
Integrated circuit (or supply or distribution medium) built-in indicators by default, electronic (selection) operating device, or computer (selection) operating device, or if the computer has display means, on the display means of the computer If the integrated circuit (or supply or distribution medium) built-in indicator by the integrated circuit (or supply or distribution medium) built-in index selection means to be displayed or the electronic device or computer has the supply medium supply means for supplying the supply medium, the integrated circuit (Or supply or distribution medium) an integrated circuit (or supply or distribution medium) by supplying a file or data indicating a built-in index, or a function in an execution unit existing on an electronic device or computer based on a built-in index setting Incorporate means in binary form,
And / or
(1)
In the case of having a supply medium supply means for supplying a supply medium, an integrated circuit (or supply or distribution medium) built-in indicator (which embedded program is incorporated in which position in which software, software is a machine language or which high-level language) The integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files, or the integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files. And / or whether to store an embedded index and / or whether to perform initialization, etc.) and / or an embedded program and / or an integrated circuit (or supply or distribution medium) an embedded program index (which embedded program Add, change, and / or delete, the order of the program for installation, installation Whether the program is written in a machine language or a high-level language, the integrated circuit (or supply or distribution medium) embedded program index and the embedded program index are in separate files, or the integrated circuit (or supplied or Distribution medium) When the program index for embedding and the program index for embedding are set as separate files and the program index for embedding is stored and / or whether initialization is performed, etc. Based on the circuit (or supply or distribution medium) built-in indicator and / or the program for installation and / or the program indicator for integration of the integrated circuit (or supply or distribution medium) and of the (selection) operating device of the electronic device, Or the computer (selection) operating device or the computer An integrated circuit (or supply or distribution medium) built-in indicator displayed on the display means and / or an integrated circuit (or supply or distribution medium) selected by the program index selection means for incorporation into the computer. Supply or distribution medium) embedded index and / or integrated circuit and / or integrated circuit (or supply or distribution medium) based on the program index for integrated circuit (or supply or distribution medium) embedded index and / or integration A program index for circuit (or supply or distribution medium) integration is changed and / or a program for integration of an integrated circuit (or supply or distribution medium) is added, changed, and / or deleted,
And / or
When having a supply medium supply means for supplying a supply medium,
(1-1)
(When using the same file as the embedded index and / or embedded program index for the integrated circuit (or supply or distribution medium) embedded index and / or the integrated circuit (or supply or distribution medium) embedded program index)
When the software is supplied by the supply medium, the integrated circuit (or supply or distribution medium) built-in index and / or the integrated circuit (or supply or distribution medium) program index for embedding, and ( (Choice of) integrated circuit (or supply or distribution medium) built-in indicators and / or integrated circuits (displayed on display means) of an operating device or of a (selective) operating device of a computer or of a computer if the computer has display means Or supply or distribution medium) based on the integrated circuit (or supply or distribution medium) built-in index selected by the built-in program index selection means and / or the integrated circuit (or supply or distribution medium) built-in program index selection Incorporate a functional means in the binary state,
(1-1-1)
And / or
If the embedded program is written in a high-level language and the high-level language is described in the integrated circuit (or supply or distribution medium) built-in program index, the embedded program is designated as the high-level language. Compiled by a language compiler, the compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and is integrated circuit ( (Or supply or distribution medium) When the high-level language is described in the embedded index, the software is compiled with a high-level language compiler, and the embedded program is stored in the software execution body in a binary state. Software and embedded programs are also written in high-level languages, and (Or supply or distribution medium) If an embedded index and an integrated circuit (or supply or distribution medium) embedded program index describe which high-level language, compile the embedded program with the specified high-level language compiler. Compile the software with the specified high-level language compiler, store the compiled embedded program in the executable in binary form,
Or
(1-2)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). (When not storing on device or computer)
When the software, the built-in index, the built-in program and / or the built-in index are supplied by the supply medium, based on the built-in index, the built-in program and / or the built-in index, and the electronic device (selection) operating device, Alternatively, if the computer has a selection means, or if the computer has a display means, the means having the function in the software based on the selection of the built-in index displayed on the display means and / or the built-in index is displayed in binary form. Built in state,
(1-2-1)
And / or
If the embedded program is written in a high-level language and the high-level language is described in the embedded program index, the embedded program is compiled with the designated high-level language compiler and software The compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and the high-level language is written in the built-in index. The software is compiled with a high-level language compiler, the embedded program is stored in a binary form in the software execution body, and the software and the embedded program are also written in the high-level language. When a high-level language is described in the built-in index and the program index for embedding, Compile the embedded program with the specified high-level language compiler, compile the software with the specified high-level language compiler, and compile the compiled embedded program into a binary state. In the executable,
Or
(1-3)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). When storing on a device or computer)
In the case of having a supply medium supply means for supplying a supply medium, an embedded index (which embedded program is embedded in which position in which software, whether the software is written in a machine language or in a high-level language, an integrated circuit) (Or supply or distribution medium) the built-in index and the built-in index are in separate files, or the integrated circuit (or supply or distribution medium) built-in index and the built-in index are in separate files and store the built-in index, and And / or whether to make initial settings, etc.) and / or embedded programs and / or embedded program indices (which embedded programs are added, changed, and / or deleted, embedded program order, embedded Whether the program is written in machine language or in any high-level language, integrated circuit Alternatively, the program index for installation and the program index for installation are set as separate files, or the program index for installation of the integrated circuit (or supply or distribution medium) and the program index for installation are set as separate files, and embedded. For example, whether to store the program index and / or whether to perform initial setting) by the supply medium, the initial setting is changed by the embedded index and / or the embedded program and / or the embedded program index, Further, the built-in index displayed on the display means and / or the built-in program index selection means of the electronic device (selection) operating device, or the computer (selection) operating device, or when the computer has a display means Built-in indicators selected by Or it is changed based on the embedded program and / or embedded program indicators,
When having a supply medium supply means for supplying a supply medium,
When the software is supplied by the supply medium, the electronic device (selection) controller, or the computer (selection) controller, or the computer if the computer has display means, based on the set built-in index, Based on the built-in index selection by the built-in index selection means displayed on the display means, means having a function in the software is incorporated in a binary state and / or the initial setting is changed,
(1-3-1)
And / or
If the embedded program is written in a high-level language and the high-level language is described in the embedded program index, the embedded program is compiled with the designated high-level language compiler and software The compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and the high-level language is written in the built-in index. The software is compiled with a high-level language compiler, the embedded program is stored in a binary form in the software execution body, and the software and the embedded program are also written in the high-level language. When a high-level language is described in the built-in index and the program index for embedding, Compile the embedded program with the specified high-level language compiler, compile the software with the specified high-level language compiler, and compile the compiled embedded program into a binary state. Machine language code embedded system integrated circuit (or supply or distribution medium)
It was.

これにより、電子機器上に存在する実行体に、機能を有する手段をバイナリの状態で組み込むことができ、機械語コード組込システム集積回路を電子機器又はコンピュータに装着しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上する。   As a result, means having a function can be incorporated in an executable form existing on the electronic device in a binary state, and only by mounting the machine language code embedded system integrated circuit on the electronic device or the computer, for example, If the operation permission program for only one electronic device is incorporated as the binary embedded code, all execution objects on the electronic device or computer can be operated only on the electronic device or computer. For this reason, for example, when another person uses an electronic device or a computer, even if another person takes out the execution body, it can be operated only by the electronic device or the computer, and the security function is improved.

また、上記課題を解決するために、請求項21に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)は、
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、実行体にバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)であって、
請求項19又は請求項20に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)において、
容器に格納されており、
電子機器又はコンピュータ上に存在する機能を有する手段が組み込まれた/組み込んでいない実行体に、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)に基づいて、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段が組み込まれた/組み込んでいない実行体の実行を監視し、実行体の停止中に、機能を有する手段をバイナリの状態で組み込み削除することを特徴とし、
初期設定による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標選択手段による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器又はコンピュータが供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標を示すファイル又はデータを供給することによる集積回路(又は供給若しくは配布媒体)組み込み指標設定に基づいて、電子機器又はコンピュータ上に存在する実行体から、機能を有する手段をバイナリの状態で組み込み削除し、
並びに/若しくは、
(2)
供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み削除用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を供給媒体により供給すると、供給された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み削除用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標が変更され、及び/又は、集積回路(又は供給若しくは配布媒体)組み込み削除用プログラムが追加、変更、及び/又は削除され、
並びに/若しくは、
供給媒体を供給する供給媒体供給手段を有する場合、
(2−1)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と同じファイルを使用する場合)
機能を有する手段が組み込まれた/組み込んでいないソフトウエアを供給媒体により供給すると、設定されている集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択に基づいて、機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段をバイナリの状態で組み込み削除し、
(2−1−1)
及び/又は、
組み込み削除用プログラムが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、集積回路(又は供給若しくは配布媒体)組み込み指標及び集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、
又は、
(2−2)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
ソフトウエアと組み込み指標と組み込み削除用プログラム及び/又は組み込み用指標を供給媒体により供給すると、組み込み指標と組み込み削除用プログラム及び/又は組み込み用指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用指標選択に基づいて、機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段をバイナリの状態で組み込み削除し、
(2−2−1)
及び/又は、
組み込み削除用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、
又は、
(2−3)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
供給媒体を供給する供給媒体供給手段を有する場合、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を供給媒体により供給すると、初期設定が組み込み指標、並びに/若しくは、組み込み削除用プログラム及び/又は組み込み用プログラム指標により変更され、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択手段により選択された組み込み指標、並びに/若しくは、組み込み削除用プログラム及び/又は組み込み用プログラム指標に基づいて変更され、
供給媒体を供給する供給媒体供給手段を有する場合、
機能を有する手段が組み込まれた/組み込んでいないソフトウエアを供給媒体により供給すると、設定されている組み込み指標に基づいて、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択手段による組み込み指標選択に基づいて、機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段をバイナリの状態で組み込み削除、及び/又は初期設定が変更され、
(2−3−1)
及び/又は、
組み込み削除用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除する
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)
とした。
In order to solve the above problem, the machine language code embedding system integrated circuit (or supply or distribution medium) according to claim 21 is:
By mounting on an electronic device or a computer, means having a function are incorporated in a binary state in the execution body existing on the electronic device or the computer and / or incorporated / not incorporated in the execution body in a binary state. A machine language code embedding system integrated circuit (or supply or distribution medium) characterized by incorporating and deleting means having a function in a binary state,
A machine language code embedding system integrated circuit (or supply or distribution medium) according to claim 19 or claim 20,
Stored in a container,
An integrated circuit (or supply or distribution medium) built-in index (which built-in program is installed at which location in which software) in an execution body that incorporates / does not incorporate means having functions existing on an electronic device or computer , Whether the software is written in machine language or in any high-level language, and / or which function has to be deleted, such as whether to perform initial setting, and which function has which function from which software Deletion or means with a function is installed in what position and size of software, whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, initial setting at the start of processing On the electronic device or on the computer based on the selection means) Monitoring the execution means is integrated / incorporated in not executing entity having the function, during the stop of the running body, and characterized in that the embedded remove means having a function in the form of binary,
Integrated circuit (or supply or distribution medium) built-in indicators by default, electronic (selection) operating device, or computer (selection) operating device, or if the computer has display means, on the display means of the computer If the integrated circuit (or supply or distribution medium) built-in indicator by the integrated circuit (or supply or distribution medium) built-in index selection means to be displayed or the electronic device or computer has the supply medium supply means for supplying the supply medium, the integrated circuit (Or supply or distribution medium) integrated circuit (or supply or distribution medium) by supplying a file or data indicating a built-in index, or a function from an execution body existing on the electronic device or computer based on the built-in index setting Incorporate and delete means in binary state,
And / or
(2)
In the case of having a supply medium supply means for supplying a supply medium, an integrated circuit (or supply or distribution medium) built-in indicator (which embedded program is incorporated in which position in which software, software is a machine language or which high-level language) The integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files, or the integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files. , Whether to store a built-in index and / or whether to perform initial setting, delete which means having functions, delete which means from which software, which means have software How much size is installed at which position of the software, whether to execute the deletion, For example, whether to perform only processing or embedded deletion processing, whether to use initial setting at the start of processing, or selection means), and / or embedded program and / or integrated circuit (or supply or distribution medium) embedded program index ( Which embedded programs are added, changed, and / or deleted, the order of the embedded programs, which embedded programming is written in machine language or in any high-level language, integrated circuit (or supply or distribution medium) embedded Whether the program index for installation and the program index for installation are in separate files, or the program index for installation in the integrated circuit (or supply or distribution medium) and the program index for installation are in separate files and the program index for installation is stored And / or whether to make initial settings, etc. Deletes the means having the function of, deletes the means having the function from which software, the size of the function means in which position the software is incorporated, and executes the built-in deletion Whether the embedded process is performed or the embedded deletion process is performed, whether the initial setting at the start of the process or the selection means is supplied by the supply medium, and the supplied integrated circuit (or supply or distribution medium) built-in index, And / or on the basis of embedded program and / or integrated circuit (or supply or distribution medium) embedded program indicators and / or (selective) operating devices of electronic devices, or (selective) operating devices of computers, or If the computer has a display means, the integrated circuit (or supply) of the computer displayed on the display means Or distribution medium) built-in index and / or integrated circuit (or supply or distribution medium) integrated circuit (or supply or distribution medium) built-in index selected by the program index selection means and / or embedded deletion program and / or Or the integrated circuit (or supply or distribution medium) embedded index and / or the integrated circuit (or supply or distribution medium) embedded program index is changed based on the integrated circuit (or supply or distribution medium) embedded program index; and And / or an integrated circuit (or supply or distribution medium) built-in deletion program is added, changed, and / or deleted,
And / or
When having a supply medium supply means for supplying a supply medium,
(2-1)
(When using the same file as the embedded index and / or embedded program index for the integrated circuit (or supply or distribution medium) embedded index and / or the integrated circuit (or supply or distribution medium) embedded program index)
When software having a function incorporated or not incorporated is supplied by a supply medium, a set integrated circuit (or supply or distribution medium) built-in indicator and / or integrated circuit (or supply or distribution medium) is incorporated. An integrated circuit (or supply) displayed on the display means of the (selection) operating device of the electronic device, or of the (selection) operating device of the computer, or of the computer if the computer has a display means, based on the program index Or distribution medium) built-in index and / or integrated circuit (or supply or distribution medium) integrated circuit (or supply or distribution medium) built-in index and / or integrated circuit (or supply or distribution medium) selected by the program index selection means for incorporation ) Hands with functionality based on embedded program index selection And embedded remove means having a function from the built-in / built in no software in the form of binary,
(2-1-1)
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the integrated circuit (or supply or distribution medium) built-in program index, the built-in deletion program is designated. Compile with a high-level language compiler, and execute the embedded program from the executable in the binary state based on the compiled program for deleting the embedded program, with or without a built-in function means. If the software is written in a high-level language and the high-level language is described in the integrated circuit (or supply or distribution medium) built-in index, the software is stored in the high-level language. Compile with the compiler and remove the built-in based on the built-in removal program The program is incorporated and deleted from a software execution body in which a function having a function in a binary state is incorporated / not incorporated, and the software and the program for removing the software are written in a high-level language, When an integrated circuit (or supply or distribution medium) built-in index and an integrated circuit (or supply or distribution medium) built-in program index indicate which high-level language is included, the built-in deletion program is designated as a compiler for the designated high-level language. Compile the software with the compiler of the designated high-level language, and based on the program for deleting the embedded program compiled from the execution body of the software with or without the means having the compiled function, Built-in deletion program in binary form And built-removed from the running body in,
Or
(2-2)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). (When not storing on device or computer)
When software, a built-in index, a built-in deletion program and / or a built-in index are supplied from a supply medium, based on the built-in index, the built-in deletion program and / or the built-in index, and a (selection) operating device for an electronic device Or a computer (selection) operating device, or if the computer has a display means, a function means is incorporated based on the built-in index displayed on the display means and / or the index selection for the computer / Remove the means that has the function from the software that has not been installed in the binary state,
(2-2-1)
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the built-in program index, the built-in deletion program is compiled with the designated high-level language compiler, Based on the compiled program for removing embedded programs, the embedded program is deleted from the executable program in the binary state based on the compiled program for deleting embedded software with or without means having a function. If it is written in a high-level language and the high-level language is written in the built-in index, the software is compiled with a high-level language compiler, and the built-in removal program is based on the built-in removal program. Incorporated / incorporating means with functionality in binary state Incorporation / deletion from a non-software executable, and the high-level language is also included in the software and the program for deinstallation, and the high-level language is described in the embedding index and the program index for embedding In this case, the embedded deletion program is compiled with the designated high-level language compiler, and the software is compiled with the designated high-level language compiler. Based on the compiled program for deleting embedded programs, the embedded program is deleted from the executable program in the binary state,
Or
(2-3)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). When storing on a device or computer)
In the case of having a supply medium supply means for supplying a supply medium, an embedded index (which embedded program is embedded in which position in which software, whether the software is written in a machine language or in a high-level language, an integrated circuit) (Or supply or distribution medium) the built-in index and the built-in index are in separate files, or the integrated circuit (or supply or distribution medium) built-in index and the built-in index are in separate files and store the built-in index, and / Or which function to delete, such as whether to perform initial setting, which function to delete from which software, and what size the function means has at which position in the software Whether to execute embedded deletion, whether to perform embedded processing, Or whether it depends on the initial setting at the start of processing or by the selection means) and / or embedded program and / or embedded program index (which embedded program is added, changed, and / or deleted, embedded program) Order, whether the embedded program is written in machine language or in any high-level language, whether the integrated circuit (or supply or distribution medium) embedded program index and the embedded program index are separate files, or the integrated circuit (Or supply or distribution medium) The program index for installation and the program index for installation are set as separate files, and the means having the functions such as whether to store the program index for installation and / or whether to perform initial setting are deleted. Which software has which function from which software The size of the function means is embedded in which position in the software, whether to execute the embedded deletion, whether to perform the embedded processing or the embedded deletion processing, initial setting at the start of processing The initial setting is changed by the built-in index and / or the built-in deletion program and / or the built-in program index, and the (selection) operating device of the electronic device. A built-in index displayed on the display means and / or a built-in index selected by the built-in program index selection means, and / or , Embedded deletion program and / or embedded program Based on the mark,
When having a supply medium supply means for supplying a supply medium,
When software with integrated / non-incorporated means having a function is supplied from the supply medium, the electronic device (selection) operating device or the computer (selection) operation device Or, if the computer has display means, means having a function from software in which a means having a function is incorporated / not incorporated based on selection of an incorporated index by a built-in index selection means displayed on the display means of the computer Built-in deletion and / or initial settings are changed in the binary state,
(2-3-1)
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the built-in program index, the built-in deletion program is compiled with the designated high-level language compiler, Based on the compiled program for removing embedded programs, the embedded program is deleted from the executable program in the binary state based on the compiled program for deleting embedded software with or without means having a function. If it is written in a high-level language and the high-level language is written in the built-in index, the software is compiled with a high-level language compiler, and the built-in removal program is based on the built-in removal program. Incorporated / incorporating means with functionality in binary state Incorporation / deletion from a non-software executable, and the high-level language is also included in the software and the program for deinstallation, and the high-level language is described in the embedding index and the program index for embedding In this case, the embedded deletion program is compiled with the designated high-level language compiler, and the software is compiled with the designated high-level language compiler. Embedded in a machine language code embedded system integrated circuit (or supply or distribution medium) characterized in that the embedded deletion program is embedded and deleted from the executable in binary state based on the compiled deletion program from the executable
It was.

これにより、電子機器上に存在する実行体に、機能を有する手段をバイナリの状態で組み込むことができ、機械語コード組込システム集積回路を電子機器又はコンピュータに装着しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上すると共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する。   As a result, means having a function can be incorporated in an executable form existing on the electronic device in a binary state, and only by mounting the machine language code embedded system integrated circuit on the electronic device or the computer, for example, If the operation permission program for only one electronic device is incorporated as the binary embedded code, all execution objects on the electronic device or computer can be operated only on the electronic device or computer. For this reason, for example, in the case where another person uses an electronic device or computer, even if another person takes out the execution body, it can be operated only by this electronic device or computer, and the security function is improved. The means having the incorporated function can be deleted from the software in which the means having the incorporated function is incorporated, and the original software can be deleted, and further, the means having the function from the software not incorporating the means having the function. Can be incorporated and deleted, functions not desired to be used by others can be prevented from being used, and the security function is improved.

請求項1に記載の1電子機器唯一動作許可ソフトウエアによれば、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   According to the one electronic device only operation permission software according to claim 1, at the time of start-up, an index unique to the operating electronic device acquired at the time of start-up, and an electronic device to be operated that is secured in the initial-time unique index securing means Since the operation is permitted only when the indices are compared with each other and matched, it is possible to make it impossible to use the software except for the electronic device at the first activation.

また、請求項2に記載の1電子機器唯一動作許可ソフトウエアによれば、第1及び/又は第2のソフトウエアが、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   In addition, according to the electronic device only operation permission software according to claim 2, the first and / or the second software, at the time of starting, an index specific to the operating electronic device acquired at the time of starting, Compared to the index unique to the operating electronic device secured by the means for securing the unique index at start-up, and the operation is allowed to continue only if it matches, so it is impossible to use the software other than the electronic device at the first start-up It can be.

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、請求項3に記載の1電子機器唯一動作許可ソフトウエア生成装置によれば、1電子機器唯一動作許可ソフトウエア生成装置により生成された1電子機器唯一動作許可ソフトウエアは、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   According to the one electronic device unique operation permission software generating device according to claim 3, the one electronic device unique operation permission software generated by the one electronic device unique operation permission software generating device is activated at the time of activation. Compare the index specific to the operating electronic device acquired from time to time and the index specific to the operating electronic device secured in the initial startup unique index securing means, and allow the continuation of the operation only when they match, so the first time It is possible to make it impossible to use the software other than the electronic device at the time of startup.

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、請求項4に記載の1電子機器唯一動作許可ソフトウエアによれば、第1のソフトウエア及び/又は1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)が、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   In addition, according to the one electronic device unique operation permission software according to claim 4, the first software and / or one electronic device unique operation permission installer (software distribution device) is obtained at the time of starting and at the time of starting. Compare the index specific to the operating electronic device with the index specific to the operating electronic device secured in the initial startup unique index securing means, and allow the continuation of the operation only when they match. The use of software can be made impossible except for electronic devices.

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置によれば、第2のソフトウエアが起動時、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが動作していない場合、第1のソフトウエアに組み込まれている為、逆アセンブル等のプログラム解析等を行うことが困難となり、セキュリティ機能が高まる。また、第2のソフトウエアは、初回起動した電子機器以外では動作ができなくなる。   Further, according to the electronic device unique operation permission software management apparatus according to claim 5, when the second software has the unique index coincidence operation continuation permission means at the time of activation, the first software operates. If not, since it is incorporated in the first software, it becomes difficult to perform program analysis such as disassembly, and the security function is enhanced. In addition, the second software cannot operate except for the electronic device that is activated for the first time.

また、第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが初回起動後、第2のソフトウエアは削除される為、初回起動した電子機器の初回起動時以外では第1のソフトウエアを生成することができず、また、第2のソフトウエアは、初回生成時の電子機器以外では動作ができなくなる。   In addition, when only the first software has the unique index coincidence operation continuation permission means, the second software is deleted after the first software is started for the first time. The first software cannot be generated at times other than the time, and the second software cannot operate except for the electronic device at the time of the initial generation.

また、請求項6又は請求項7に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)によれば、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第2のソフトウエアが起動時、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが動作していない場合、請求項5に記載の第1のソフトウエアに組み込まれている為、逆アセンブル等のプログラム解析等を行うことが困難となり、セキュリティ機能が向上する。また、請求項5に記載の第1のソフトウエアは、初回起動した電子機器以外では動作ができなくなる。   In addition, according to the one electronic device unique operation permission installer (software distribution device) according to claim 6 or claim 7, the first or second software according to claim 4 is described in claim 5. In the electronic device unique operation permission software management apparatus, when the second software according to claim 5 has a unique index coincidence operation continuation permission means when activated, the first software according to claim 5 When not operating, since it is incorporated in the first software described in claim 5, it becomes difficult to perform program analysis such as disassembly, and the security function is improved. Further, the first software according to claim 5 cannot operate except for the electronic device that is activated for the first time.

また、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが初回起動後、削除される為、初回起動した電子機器の初回起動時以外では請求項5に記載の第2のソフトウエアを生成することができず、また、請求項5に記載の第2のソフトウエアは、初回生成時の電子機器以外では動作ができなくなる。   In addition, the first or second software according to claim 4 is the only electronic-permitted software management device according to claim 5, wherein only the first software according to claim 5 is unique. When the index matching operation continuation permitting unit is included, the first software according to claim 5 is deleted after the first activation, and therefore the second software according to claim 5 is not used at the first activation of the electronic device activated for the first time. In addition, the second software according to the fifth aspect cannot operate except for the electronic device at the time of the initial generation.

また、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置によれば、1電子機器唯一動作許可インストーラ生成装置により生成された1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)は、第1のソフトウエア及び/又は1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)が、起動時、起動時に取得した動作する電子機器に固有の指標と、初回起動時固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する為、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   According to the one-electronic-device-only-operation-permitted installer generating device according to claim 8, the one-electronic device-only-operation-permitted installer (software distribution device) generated by the one-electronic device-only-operation-permitted installer generating device 1 software and / or 1 electronic device unique operation permission installer (software distribution device) was secured at the time of start-up, the index unique to the operating electronic device acquired at the time of start-up, and the first-time start unique index securing means Compared with an index specific to the electronic device that operates, and the operation is allowed to continue only when they match, it is possible to make it impossible to use the software other than the electronic device at the first activation.

また、第1のソフトウエアが第2のソフトウエアに組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   Further, since the first software is incorporated in the second software, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

また、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置によれば、1電子機器唯一動作許可インストーラ生成装置により生成された1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)は、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第2のソフトウエアが起動時、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが動作していない場合、請求項5に記載の第1のソフトウエアに組み込まれている為、逆アセンブル等のプログラム解析等を行うことが困難となり、セキュリティ機能が向上する。また、請求項5に記載の第1のソフトウエアは、初回起動した電子機器以外では動作ができなくなる。   Further, according to the one-electronic-device-only-operation-permitted installer generating device according to claim 8, the one-electronic device-only-operation-permitted installer (software distribution device) generated by the one-electronic device-only-operation-permitted installer generating device The first or second software according to item 4 is the one electronic device unique operation permission software management device according to claim 5, and the second software according to claim 5 matches the unique index when activated. When the operation continuation permission unit is provided, when the first software according to claim 5 is not operating, since it is incorporated in the first software according to claim 5, program analysis such as disassembly Etc., and the security function is improved. Further, the first software according to claim 5 cannot operate except for the electronic device that is activated for the first time.

また、請求項4に記載の第1又は第2のソフトウエアを請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置において、請求項5に記載の第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、請求項5に記載の第1のソフトウエアが初回起動後、削除される為、初回起動した電子機器の初回起動時以外では請求項5に記載の第2のソフトウエアを生成することができず、また、請求項5に記載の第2のソフトウエアは、初回生成時の電子機器以外では動作ができなくなる。   In addition, the first or second software according to claim 4 is the only electronic-permitted software management device according to claim 5, wherein only the first software according to claim 5 is unique. When the index matching operation continuation permitting unit is included, the first software according to claim 5 is deleted after the first activation, and therefore the second software according to claim 5 is not used at the first activation of the electronic device activated for the first time. In addition, the second software according to the fifth aspect cannot operate except for the electronic device at the time of the initial generation.

また、請求項10に記載の1電子機器唯一動作許可ソフトウエア、1電子機器唯一動作許可ソフトウエア生成装置、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、1電子機器唯一動作許可ソフトウエア管理装置、1電子機器唯一動作許可インストーラ生成装置、1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置によれば、初回起動時の電子機器以外ではソフトウエアの使用を不可能とすることができる。   The electronic device unique operation permission software according to claim 10, the electronic device unique operation permission software generation device, the electronic device unique operation permission installer (software distribution device), and the electronic device unique operation permission software According to the management device, the one electronic device unique operation permission installer generation device, the one electronic device unique operation permission software generation or manufacturing device, or the one electronic device unique operation permission installer generation device, the software other than the electronic device at the first start-up Can be made impossible to use.

また、請求項11に記載の1電子機器唯一動作許可ソフトウエア、1電子機器唯一動作許可ソフトウエア生成装置、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、1電子機器唯一動作許可ソフトウエア管理装置、1電子機器唯一動作許可インストーラ生成装置、1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置によれば、逆アセンブル等によるプログラム解析等を困難とし、セキュリティ機能を高めることができる。   The electronic device unique operation permission software according to claim 11, the electronic device unique operation permission software generation device, the electronic device unique operation permission installer (software distribution device), and the electronic device unique operation permission software According to the management device, one electronic device unique operation permission installer generation device, one electronic device unique operation permission software generation or manufacturing device, or one electronic device unique operation permission installer generation device, it is difficult to analyze a program by disassembly or the like. , Can enhance the security function.

また、請求項12又は請求項13に記載のソフトウエア製造装置によれば、ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することができる。   Further, according to the software manufacturing apparatus of claim 12 or 13, the means having the function in the software is incorporated in a binary state and / or the software is incorporated / incorporated in a binary state. It is possible to incorporate and delete means having a function that is not in a binary state.

また、請求項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に記載のソフトウエア製造装置に記載の処理を実行させることができる。   In addition, according to the supply or distribution medium described in claim 14, by supplying or distributing the supply or distribution medium, the electronic device only operation permission software according to claim 1, claim 2, or claim 10 is provided. The one-electronic-device-only operation-permitted software generation device according to claim 3, or the one-electronic-device-only operation-permitted installer according to claim 4, claim 6, claim 7, or 10. (Software distribution device), one electronic device unique operation permission software management device according to claim 5 or claim 10, one electronic device unique operation permission installer generation device according to claim 8, or claim 10, 11. The electronic device unique operation permission software generation or manufacturing apparatus according to claim 9 or claim 10, or the electronic device unique operation permission The installer generator, or can execute a process according to the software manufacturing apparatus according to claim 12 or claim 13.

また、請求項15に記載の機械語コード埋め込み装置(電子機器)によれば、処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納することができる。   According to the machine language code embedding device (electronic device) according to claim 15, the software having a function is incorporated in a binary state by supplying the software to be processed by the supply medium. And / or means having a function incorporated / not incorporated in software in a binary state can be incorporated and deleted in a binary state and stored in the supply medium.

また、請求項16に記載の機械語コード埋め込み装置(電子機器)によれば、処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納することができる。   According to the machine language code embedding device (electronic device) of the sixteenth aspect, the software having a function is incorporated in a binary state by supplying the software to be processed by the supply medium. And / or means having a function incorporated / not incorporated in software in a binary state can be incorporated and deleted in a binary state and stored in the supply medium.

また、請求項17に記載の機械語コード埋め込みシステム集積回路によれば、電子機器上に存在する実行体に、機能を有する手段をバイナリの状態で組み込むことができ、機械語コード組込システム集積回路を電子機器又はコンピュータに装着しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上すると共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する。   Furthermore, according to the machine language code embedding system integrated circuit according to claim 17, means having a function can be incorporated in an executable form existing on the electronic device in a binary state. For example, if an electronic device unique operation permission program is incorporated as a binary built-in code only by mounting the circuit on the electronic device or computer, all execution objects on the electronic device or computer can be executed on the electronic device or computer. Only can be disabled. For this reason, for example, in the case where another person uses an electronic device or computer, even if another person takes out the execution body, it can be operated only by this electronic device or computer, and the security function is improved. The means having the incorporated function can be deleted from the software in which the means having the incorporated function is incorporated, and the original software can be deleted, and further, the means having the function from the software not incorporating the means having the function. Can be incorporated and deleted, functions not desired to be used by others can be prevented from being used, and the security function is improved.

また、請求項18に記載のことを特徴とする機械語コード埋め込みシステム集積回路によれば、電子機器上に存在する実行体に、機能を有する手段をバイナリの状態で組み込むことができ、機械語コード組込システム集積回路を電子機器又はコンピュータに装着しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上すると共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する。   Furthermore, according to the machine language code embedding system integrated circuit according to claim 18, means having a function can be incorporated into an execution body existing on the electronic device in a binary state. If the code embedded system integrated circuit is only mounted on the electronic device or computer, for example, if one electronic device only operation permission program is incorporated as a binary embedded code, all the execution objects on the electronic device or computer are stored in the electronic device or computer. It can only be run on equipment or computers. For this reason, for example, in the case where another person uses an electronic device or computer, even if another person takes out the execution body, it can be operated only by this electronic device or computer, and the security function is improved. The means having the incorporated function can be deleted from the software in which the means having the incorporated function is incorporated, and the original software can be deleted, and further, the means having the function from the software not incorporating the means having the function. Can be incorporated and deleted, functions not desired to be used by others can be prevented from being used, and the security function is improved.

したがって、本発明により、一台の電子機器でのみしか使用不可能であり、プログラム解析等が困難であり、セキュリティ機能が高い、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)及び1電子機器唯一動作許可インストール方法(ソフトウエア配布方法)並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア管理装置及び方法並びに供給若しくは供給若しくは配布媒体、1電子機器唯一動作許可インストーラ管理装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可インストーラ生成装置及び1電子機器唯一動作許可インストーラ生成方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア及び1電子機器唯一動作許可ソフトウエアの1電子機器唯一動作許可方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア生成装置及び方法並びに供給若しくは配布媒体、1電子機器唯一動作許可ソフトウエア製造装置及び方法並びに供給若しくは配布媒体、ソフトウエア製造装置及び方法並びに供給若しくは配布媒体、並びに、機械語コード埋め込み装置(電子機器)若しくはシステム集積回路及び方法並びに供給若しくは配布媒体を提供することができた。   Therefore, according to the present invention, only one electronic device operation permission installer (software distribution apparatus) and one electronic device which can be used only by one electronic device, difficult to analyze a program, and have a high security function. Unique operation permission installation method (software distribution method) and supply or distribution medium, one electronic device unique operation permission software management device and method, and supply or supply or distribution medium, one electronic device unique operation permission installer management device and method and supply Or distribution medium, one electronic device unique operation permission installer generating apparatus and one electronic device unique operation permission installer generating method and supply or distribution medium, one electronic device unique operation permission software and one electronic device unique operation permission software The only operation permission method and service Or distribution medium, one electronic device unique operation permission software generating apparatus and method, and supply or distribution medium, one electronic device unique operation permission software manufacturing apparatus and method, and supply or distribution medium, software manufacturing apparatus and method, and supply or distribution Media, machine language code embedding devices (electronic devices) or system integrated circuits and methods, and supply or distribution media could be provided.

本発明の1電子機器唯一動作許可ソフトウエアの実施の形態について図1を用いて説明する。   An embodiment of the operation permission software for one electronic device according to the present invention will be described with reference to FIG.

本発明の実施の形態の1電子機器唯一動作許可ソフトウエアの実施の形態の構成について説明する。   A configuration of an embodiment of the one electronic device unique operation permission software according to the embodiment of the present invention will be described.

本実施の形態の1電子機器唯一動作許可ソフトウエア0は、MACアドレスを取得するMACアドレス取得部19と、初回起動時のMACアドレスを格納するMACアドレス格納領域11と、初回起動時に取得したMACアドレスを1電子機器唯一動作許可ソフトウエア0自身の実行体のMACアドレス格納領域11にバイナリの状態で書き込むMACアドレス自身書込部16とから構成されている。   The one electronic device unique operation permission software 0 of the present embodiment includes a MAC address acquisition unit 19 that acquires a MAC address, a MAC address storage area 11 that stores a MAC address at the first activation, and a MAC acquired at the first activation. It is composed of a MAC address writing unit 16 that writes an address in a binary state to the MAC address storage area 11 of the execution body of the one electronic device unique operation permission software 0 itself.

尚、本明細書中、特許請求の範囲中、図面中、要約書中において、MACアドレスとは、Media Access Control Addressのことを示すこととする。   In the present specification, in the claims, in the drawings, and in the abstract, the MAC address indicates Media Access Control Address.

次に、本発明の実施の形態の1電子機器唯一動作許可ソフトウエア0の動作及び1電子機器唯一動作許可ソフトウエア0の1電子機器唯一動作許可方法について説明する。   Next, the operation of the one electronic device unique operation permission software 0 and the one electronic device unique operation permission software 0 of the embodiment of the present invention will be described.

1電子機器唯一動作許可ソフトウエア0は、初回起動時、MACアドレス取得部19により取得したMACアドレスが、MACアドレス自身書込部16により、1電子機器唯一動作許可ソフトウエア0自身の実行体のMACアドレス格納領域11にバイナリの状態で書き込まれる。そして、MACアドレス比較判定部13により、起動時にMACアドレス取得部19により取得されたMACアドレスと、MACアドレス格納領域11に格納されているMACアドレスとが比較され、一致した場合にのみ動作を継続し、一致しない場合、1電子機器唯一動作許可ソフトウエア0を終了する。   When the first electronic device unique operation permission software 0 is started for the first time, the MAC address acquired by the MAC address acquisition unit 19 is stored in the MAC address self writing unit 16 by the execution unit of the one electronic device unique operation permission software 0 itself. It is written in the MAC address storage area 11 in a binary state. Then, the MAC address comparison / determination unit 13 compares the MAC address acquired by the MAC address acquisition unit 19 at the time of activation with the MAC address stored in the MAC address storage area 11 and continues the operation only when they match. If they do not match, the operation permission software 0 for only one electronic device is terminated.

以上のように、本発明の実施の形態の1電子機器唯一動作許可ソフトウエア0によれば、初回起動時、MACアドレスをMACアドレス格納領域11に格納し、起動時、MACアドレス比較判定部13により、MACアドレス格納領域11に格納してあるMACアドレスと取得したMACアドレスとを比較し、一致した場合にのみ起動する為、初回起動した電子機器以外では起動できなくすることができる。   As described above, according to the one electronic device unique operation permission software 0 of the embodiment of the present invention, the MAC address is stored in the MAC address storage area 11 at the first activation, and the MAC address comparison / determination unit 13 at the activation. Thus, the MAC address stored in the MAC address storage area 11 is compared with the acquired MAC address, and the activation is performed only when they match, so that it is impossible to activate other than the electronic device activated for the first time.

本発明の実施の形態の1電子機器唯一動作許可被生成ソフトウエア生成ソフトウエア2(以下においては、被生成ソフトウエア生成ソフトウエア2と略称する)及び1電子機器唯一動作許可被生成ソフトウエア生成ソフトウエア生成装置5(以下においては、被生成ソフトウエア生成ソフトウエア生成装置5と略称する)の実施の形態について図2を用いて説明する。   1 electronic device unique operation permission generated software generation software 2 (hereinafter abbreviated as generated software generation software 2) and 1 electronic device unique operation permission generated software generation according to the embodiment of the present invention An embodiment of the software generation device 5 (hereinafter, abbreviated to be generated software generation software generation device 5) will be described with reference to FIG.

本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2及び被生成ソフトウエア生成ソフトウエア生成装置5の実施の形態の構成について説明する。   The configuration of the embodiment of the generated software generation software 2 and the generated software generation software generation device 5 according to the embodiment of the present invention will be described.

被生成ソフトウエア生成ソフトウエア2において、被生成ソフトウエア1と被生成ソフトウエア生成ソフトウエア2との構成のパターンには、図2に示すように、(構成1)から(構成5)までの構成のパターンがある。   In the generated software generation software 2, the configuration patterns of the generated software 1 and the generated software generation software 2 include (configuration 1) to (configuration 5) as shown in FIG. There is a pattern of composition.

(構成1)から(構成5)の全てのパターンについて共通に、生成被生成の関係にある2つのソフトウエアから構成され、被生成ソフトウエア1を格納するメモリ領域である被生成ソフトウエア格納領域20と、被生成ソフトウエア格納領域20に格納されている被生成ソフトウエア1から被生成ソフトウエア1を生成する被生成ソフトウエア生成部24とから構成されている。   A generated software storage area that is a memory area for storing the generated software 1 and is composed of two pieces of software that are generated and generated in common for all the patterns of (Configuration 1) to (Configuration 5) 20 and a generated software generation unit 24 that generates the generated software 1 from the generated software 1 stored in the generated software storage area 20.

また、被生成ソフトウエア生成ソフトウエア生成装置5は、被生成ソフトウエア1と、被生成ソフトウエア生成ソフトウエア2と、被生成ソフトウエア生成ソフトウエア5のソフトウエア格納領域20に被生成ソフトウエア1を格納する為のソフトウエア組込器100とから構成されている。   The generated software generation software generation device 5 includes the generated software 1, the generated software generation software 2, and the generated software in the software storage area 20 of the generated software generation software 5. 1 and a software built-in device 100 for storing 1.

被生成ソフトウエア生成ソフトウエア生成装置5の動作は、全パターン共通で、ソフトウエア組込器100により被生成ソフトウエア生成ソフトウエア5のソフトウエア格納領域20に被生成ソフトウエア1を格納する。   The operation of the generated software generation software generation device 5 is common to all patterns, and the generated software 1 is stored in the software storage area 20 of the generated software generation software 5 by the software embedder 100.

尚、図2に示す(構成2)、(構成3)、(構成5)のパターンでは、被生成ソフトウエア生成ソフトウエア生成装置5の構成は、MACアドレス取得部19とMACアドレス比較判定部13とMACアドレス格納領域11をも含む構成としてよく、この場合、被生成ソフトウエア生成ソフトウエア生成装置5の動作は、MACアドレス取得部19とMACアドレス比較判定部13とMACアドレス格納領域11を、被生成ソフトウエア生成ソフトウエア2のソフトウエア格納領域20に被生成ソフトウエア1を格納する際に、被生成ソフトウエア1の実行体にバイナリの状態で自動的に組み込むようにする(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   In the pattern of (Configuration 2), (Configuration 3), and (Configuration 5) shown in FIG. 2, the configuration of the generated software generation software generation device 5 includes the MAC address acquisition unit 19 and the MAC address comparison determination unit 13. And the MAC address storage area 11, and in this case, the operation of the generated software generation software generation device 5 includes the MAC address acquisition unit 19, the MAC address comparison determination unit 13, and the MAC address storage area 11. When the generated software 1 is stored in the software storage area 20 of the generated software generated software 2, it is automatically incorporated into the execution body of the generated software 1 in a binary state (this installation). The method is the same as the machine language code embedding apparatus and method of the embodiment of the present invention shown in FIG.

また、図2に示す(構成4)のパターンでは、被生成ソフトウエア生成ソフトウエア生成装置5の構成は、MACアドレス取得部19とMACアドレス比較判定部13とMACアドレス格納領域11とMACアドレス自身書込部16をも含む構成としてよく、この場合、被生成ソフトウエア生成ソフトウエア生成装置5の動作は、MACアドレス取得部19とMACアドレス比較判定部13とMACアドレス格納領域11とMACアドレス自身書込部16を、被生成ソフトウエア生成ソフトウエア2のソフトウエア格納領域20に被生成ソフトウエア1を格納する際、被生成ソフトウエア1の実行体にバイナリの状態で自動的に組み込むようにする(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   In the pattern of (Configuration 4) shown in FIG. 2, the configuration of the generated software generation software generation device 5 includes the MAC address acquisition unit 19, the MAC address comparison / determination unit 13, the MAC address storage area 11, and the MAC address itself. The writing unit 16 may also be included. In this case, the operation of the generated software generation software generation device 5 is as follows: the MAC address acquisition unit 19, the MAC address comparison / determination unit 13, the MAC address storage area 11, and the MAC address itself. When storing the generated software 1 in the software storage area 20 of the generated software generation software 2, the writing unit 16 is automatically incorporated into the execution body of the generated software 1 in a binary state. (This assembling method is the same as the machine language code embedding device and method according to the embodiment of the present invention shown in FIG. In is.).

以下に、被生成ソフトウエア生成ソフトウエア2の図2に示す構成パターンごとの構成及び動作について詳細に説明する。   Below, the structure and operation | movement for every structure pattern shown in FIG. 2 of the to-be-generated software production | generation software 2 are demonstrated in detail.

(構成1)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の構成を説明する。   The configuration of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 1) will be described.

(構成1)の被生成ソフトウエア1は、何も組み込まれておらず、被生成ソフトウエア生成ソフトウエア2は、被生成ソフトウエア1を格納するメモリ領域である被生成ソフトウエア格納領域20と、MACアドレスを取得するMACアドレス取得部29と、MACアドレスを格納するMACアドレス格納領域21と、被生成ソフトウエア生成ソフトウエア2自身の実行体のMACアドレス格納領域21にバイナリの状態でMACアドレスを書き込むMACアドレス自身書込部26と、被生成ソフトウエア格納領域20に格納されている被生成ソフトウエア1から被生成ソフトウエア1を生成する被生成ソフトウエア生成部24とを有している。   None of the generated software 1 of (Configuration 1) is incorporated, and the generated software generating software 2 includes a generated software storage area 20 that is a memory area for storing the generated software 1. The MAC address acquisition unit 29 for acquiring the MAC address, the MAC address storage area 21 for storing the MAC address, and the MAC address storage area 21 of the execution body of the generated software generation software 2 itself in the binary state. MAC address writing unit 26 for writing the generated software, and generated software generating unit 24 for generating generated software 1 from generated software 1 stored in generated software storage area 20. .

次に、(構成1)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の動作を説明する。   Next, the operation of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 1) will be described.

(構成1)の被生成ソフトウエア生成ソフトウエア2は、初回起動時にMACアドレス取得部29により取得したMACアドレスを被生成ソフトウエア生成ソフトウエア2自身の実行体のMACアドレス自身書込部26によりバイナリの状態でMACアドレス格納領域21に格納する。そして、起動時に取得したMACアドレスとMACアドレス格納領域21に格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続する。   The generated software generation software 2 of (Configuration 1) uses the MAC address itself writing unit 26 of the execution body of the generated software generation software 2 itself to obtain the MAC address acquired by the MAC address acquisition unit 29 at the first activation. Stored in the MAC address storage area 21 in a binary state. Then, the MAC address acquired at the time of activation is compared with the MAC address stored in the MAC address storage area 21, and the activation is continued only when they match.

したがって、初回起動した電子機器以外では、被生成ソフトウエア生成ソフトウエア2の起動及び被生成ソフトウエア1の生成を行うことが不可能となる。   Accordingly, it is impossible to activate the generated software generation software 2 and generate the generated software 1 except for the electronic device that is activated for the first time.

(構成2)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の構成を説明する。   The configuration of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 2) will be described.

(構成2)の被生成ソフトウエア1は、MACアドレスを取得するMACアドレス取得部19と、初回起動時に取得したMACアドレスを格納するMACアドレス格納領域11と、取得したMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとを比較し、一致した場合にのみ動作継続するMACアドレス比較判定部13とから構成されている。   The generated software 1 of (Configuration 2) includes a MAC address acquisition unit 19 that acquires a MAC address, a MAC address storage area 11 that stores a MAC address acquired at the first activation, and an acquired MAC address and a MAC address storage area 11 is compared with the MAC address stored in the MAC address comparison / determination unit 13 which continues the operation only when they match.

また、(構成2)の被生成ソフトウエア生成ソフトウエア2は、MACアドレスを取得するMACアドレス取得部29と、被生成ソフトウエア1が格納さているソフトウエア格納領域20と、ソフトウエア格納領域20に格納されている被生成ソフトウエア1のMACアドレス格納領域11にMACアドレスを組み込むMACアドレス組込部22と、MACアドレスが組み込まれた被生成ソフトウエア1を生成するソフトウエア生成部24とから構成されている。   The generated software generation software 2 of (Configuration 2) includes a MAC address acquisition unit 29 that acquires a MAC address, a software storage area 20 in which the generated software 1 is stored, and a software storage area 20. A MAC address incorporating unit 22 that incorporates a MAC address into the MAC address storage area 11 of the generated software 1 stored in the software, and a software generating unit 24 that generates the generated software 1 incorporating the MAC address. It is configured.

次に、(構成2)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の動作を説明する。   Next, the operation of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 2) will be described.

(構成2)の被生成ソフトウエア生成ソフトウエア2は、初回起動時、MACアドレス取得部29により取得したMACアドレスをMACアドレス組込部22によりソフトウエア格納領域20に格納されている被生成ソフトウエア1のMACアドレス格納領域11に格納する。ソフトウエア生成部24は、MACアドレスが組み込まれた被生成ソフトウエア1を生成する。   The generated software generation software 2 of (Configuration 2) is generated software in which the MAC address acquired by the MAC address acquisition unit 29 is stored in the software storage area 20 by the MAC address incorporation unit 22 at the first activation. Stored in the MAC address storage area 11 of the wear 1. The software generation unit 24 generates the generated software 1 in which the MAC address is incorporated.

したがって、生成された被生成ソフトウエア1には、MACアドレスが組み込まれており、MACアドレス比較判定部13により、起動時、MACアドレス取得部19により取得されたMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとを比較し、一致した場合にのみ動作継続を行う為、被生成ソフトウエア1が生成された電子機器以外では、使用することができなくなる。   Therefore, the generated software 1 to be generated has a MAC address incorporated therein, and the MAC address comparison / determination unit 13 stores the MAC address acquired by the MAC address acquisition unit 19 and the MAC address storage area 11 at the time of activation. Since the operation is continued only when the stored MAC addresses are compared and matched, it is impossible to use the software other than the electronic device in which the generated software 1 is generated.

(構成3)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の構成を説明する。   The configuration of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 3) will be described.

(構成3)の被生成ソフトウエア1は、MACアドレスを取得するMACアドレス取得部19と、MACアドレスを格納するMACアドレス格納領域11と、取得したMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとを比較し、一致した場合にのみ動作継続させるMACアドレス比較判定部13とから構成されている。   The generated software 1 of (Configuration 3) is stored in the MAC address acquisition unit 19 that acquires the MAC address, the MAC address storage area 11 that stores the MAC address, and the acquired MAC address and MAC address storage area 11. And a MAC address comparison / determination unit 13 that continues the operation only when they match.

(構成3)の被生成ソフトウエア生成ソフトウエア2は、被生成ソフトウエア1を格納するソフトウエア格納領域20と、MACアドレスを取得するMACアドレス取得部29と、初回起動時に取得したMACアドレスを格納するMACアドレス格納領域21と、初回起動時、被生成ソフトウエア生成ソフトウエア2自身の実行体のMACアドレス格納領域21にバイナリの状態でMACアドレスを書き込むMACアドレス自身書込部26と、起動時に取得したMACアドレスとMACアドレス格納領域21に格納されているMACアドレスとを比較し、一致した場合にのみ動作継続させるMACアドレス比較判定部23と、ソフトウエア格納領域20に格納されている被生成ソフトウエア1のMACアドレス格納領域11にバイナリの状態でMACアドレスを組み込むMACアドレス組込部22と、MACアドレスが組み込まれた被生成ソフトウエア1を生成する被生成ソフトウエア生成部24とから構成されている。   The generated software generation software 2 of (Configuration 3) includes the software storage area 20 for storing the generated software 1, the MAC address acquisition unit 29 for acquiring the MAC address, and the MAC address acquired at the first activation. MAC address storage area 21 to store, MAC address writing unit 26 for writing the MAC address in a binary state in the MAC address storage area 21 of the execution body of the generated software generation software 2 itself at the first startup, and startup The MAC address acquired at the time and the MAC address stored in the MAC address storage area 21 are compared, and if they match, the MAC address comparison / determination unit 23 that continues operation only, and the target stored in the software storage area 20 Binary state in the MAC address storage area 11 of the generation software 1 A MAC address embedded portion 22 incorporating a MAC address, and a target generation software generator 24 for generating the target generation software 1 MAC address is incorporated.

次に、(構成3)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の動作を説明する。   Next, the operation of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 3) will be described.

被生成ソフトウエア生成ソフトウエア2を起動すると、MACアドレス取得部29によりMACアドレスが取得され、初回起動時、MACアドレス自身書込部26により被生成ソフトウエア生成ソフトウエア2自身の実行体のMACアドレス格納領域21にバイナリの状態でMACアドレスが書き込まれる。そして、起動時、MACアドレス比較判定部23により、MACアドレス取得部29により取得したMACアドレスとMACアドレス格納領域21に格納されているMACアドレスとが比較され、一致した場合にのみ動作継続を行う。取得されたMACアドレスは、ソフトウエア格納領域20に格納されている被生成ソフトウエア1のMACアドレス格納領域11に格納され、被生成ソフトウエア1は、ソフトウエア生成部24により生成される。   When the generated software generation software 2 is activated, the MAC address is acquired by the MAC address acquisition unit 29, and at the first activation, the MAC address itself writing unit 26 executes the MAC of the execution body of the generated software generation software 2 itself. The MAC address is written in the address storage area 21 in a binary state. At startup, the MAC address comparison / determination unit 23 compares the MAC address acquired by the MAC address acquisition unit 29 with the MAC address stored in the MAC address storage area 21 and continues operation only when they match. . The acquired MAC address is stored in the MAC address storage area 11 of the generated software 1 stored in the software storage area 20, and the generated software 1 is generated by the software generation unit 24.

したがって、被生成ソフトウエア生成ソフトウエア2は、初回起動した電子機器以外では動作することが不可能となる。   Accordingly, the generated software generation software 2 cannot operate except for the electronic device that is activated for the first time.

生成された被生成ソフトウエア1は、起動時、MACアドレス比較判定部13によりMACアドレス取得部19により取得されたMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとが比較され、一致した場合にのみ動作継続を行う。   When the generated software 1 is generated, the MAC address acquired by the MAC address acquisition unit 19 is compared with the MAC address stored in the MAC address storage area 11 by the MAC address comparison / determination unit 13 to match. Continue operation only when

したがって、生成された被生成ソフトウエア1は、生成された電子機器以外では動作することが不可能となる。   Therefore, the generated software 1 to be generated cannot be operated other than the generated electronic device.

(構成4)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の構成を説明する。   The configuration of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 4) will be described.

(構成4)の被生成ソフトウエア1は、MACアドレスを取得するMACアドレス取得部19と、MACアドレスを格納するMACアドレス格納領域11と、起動時に取得したMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとを比較し、一致した場合にのみ動作継続させるMACアドレス比較判定部13と、初回起動時に取得したMACアドレスを被生成ソフトウエア1自身の実行体のMACアドレス格納領域11にバイナリの状態で書き込むMACアドレス自身書込部16とから構成されている。   The generated software 1 of (Configuration 4) stores the MAC address acquisition unit 19 that acquires the MAC address, the MAC address storage area 11 that stores the MAC address, and the MAC address and MAC address storage area 11 that are acquired at startup. The MAC address comparison / determination unit 13 that continues the operation only when they match and the MAC address acquired at the first activation is stored in the MAC address storage area 11 of the execution body of the generated software 1 itself. The MAC address itself writing unit 16 is written in a binary state.

(構成4)の被生成ソフトウエア生成ソフトウエア2は、MACアドレスを取得するMACアドレス取得部29と、被生成ソフトウエア1を格納するソフトウエア格納領域20と、初回起動時に取得したMACアドレスを格納するMACアドレス格納領域21と、初回起動時、被生成ソフトウエア生成ソフトウエア2自身の実行体のMACアドレス格納領域21にバイナリの状態でMACアドレスを書き込むMACアドレス自身書込部26と、起動時取得したMACアドレスとMACアドレス格納領域21に格納されているMACアドレスとを比較し、一致した場合のみ動作継続させるMACアドレス比較判定部23とから構成されている。   The generated software generation software 2 of (Configuration 4) includes the MAC address acquisition unit 29 for acquiring the MAC address, the software storage area 20 for storing the generated software 1, and the MAC address acquired at the first activation. MAC address storage area 21 to store, MAC address writing unit 26 for writing the MAC address in a binary state in the MAC address storage area 21 of the execution body of the generated software generation software 2 itself at the first startup, and startup The MAC address comparison / determination unit 23 is configured to compare the MAC address acquired at this time with the MAC address stored in the MAC address storage area 21 and continue the operation only when they match.

次に、(構成4)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の動作を説明する。   Next, the operation of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 4) will be described.

(構成4)の被生成ソフトウエア生成ソフトウエア2を起動すると、MACアドレス取得部29によりMACアドレスが取得され、初回起動時、MACアドレス自身書込部26により被生成ソフトウエア生成ソフトウエア2自身の実行体のMACアドレス格納領域21にバイナリの状態でMACアドレスが格納される。そして、起動時、MACアドレス比較判定部23により、MACアドレス取得部29により取得したMACアドレスとMACアドレス格納領域21に格納されているMACアドレスとが比較され、一致した場合にのみ動作継続を行う。ソフトウエア格納領域20に格納されている被生成ソフトウエア1は、被ソフトウエア生成部24により生成される。   When the generated software generation software 2 of (Configuration 4) is activated, the MAC address acquisition unit 29 acquires the MAC address, and at the first activation, the MAC address own writing unit 26 generates the generated software generation software 2 itself. The MAC address is stored in a binary state in the MAC address storage area 21 of the execution body. At startup, the MAC address comparison / determination unit 23 compares the MAC address acquired by the MAC address acquisition unit 29 with the MAC address stored in the MAC address storage area 21 and continues operation only when they match. . The generated software 1 stored in the software storage area 20 is generated by the software generation unit 24.

したがって、被生成ソフトウエア生成ソフトウエア2は、初回起動した電子機器以外では動作することが不可能となる。   Accordingly, the generated software generation software 2 cannot operate except for the electronic device that is activated for the first time.

生成された被生成ソフトウエア1は、初回起動時、MACアドレス取得部19によりMACアドレスを取得し、取得したMACアドレスはMACアドレス自身書込部16により被生成ソフトウエア1自身の実行体のMACアドレス格納領域11にバイナリの状態で書き込まれる。起動時、MACアドレス比較判定部13によりMACアドレス取得部19により取得されたMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとが比較され、一致した場合にのみ動作継続を行う。   The generated generated software 1 acquires the MAC address by the MAC address acquisition unit 19 at the first activation, and the acquired MAC address is the MAC address of the execution body of the generated software 1 itself by the MAC address own writing unit 16. It is written in the address storage area 11 in a binary state. At the time of activation, the MAC address comparison / determination unit 13 compares the MAC address acquired by the MAC address acquisition unit 19 with the MAC address stored in the MAC address storage area 11, and the operation is continued only when they match.

したがって、生成された被生成ソフトウエア1は、生成された電子機器以外では動作することが不可能となる。   Therefore, the generated software 1 to be generated cannot be operated other than the generated electronic device.

(構成5)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の構成を説明する。   The configuration of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 5) will be described.

(構成5)の被生成ソフトウエア1は、MACアドレスを取得するMACアドレス取得部19と、MACアドレスを格納するMACアドレス格納領域11と、取得したMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとを比較し、一致した場合にのみ動作継続させるMACアドレス比較判定部13と、初回起動時に取得したMACアドレスを被生成ソフトウエア1自身の実行体のMACアドレス格納領域11にバイナリの状態で書き込むMACアドレス自身書込部16とから構成されている。   The generated software 1 of (Configuration 5) is stored in the MAC address acquisition unit 19 that acquires the MAC address, the MAC address storage area 11 that stores the MAC address, and the acquired MAC address and MAC address storage area 11. MAC address comparison / determination unit 13 that continues the operation only when they match, and the MAC address acquired at the first activation is stored in the MAC address storage area 11 of the execution body of the generated software 1 itself. It is composed of a MAC address writing unit 16 that writes in a state.

(構成5)の被生成ソフトウエア生成ソフトウエア2は、被生成ソフトウエア1を格納するソフトウエア格納領域20と、ソフトウエア格納領域20に格納されている被生成ソフトウエア1とから構成されている。   The generated software generation software 2 of (Configuration 5) is composed of a software storage area 20 for storing the generated software 1 and a generated software 1 stored in the software storage area 20. Yes.

次に、(構成5)における本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の動作を説明する。   Next, the operation of the generated software generation software 2 according to the embodiment of the present invention in (Configuration 5) will be described.

(構成5)の被生成ソフトウエア生成ソフトウエア2を起動すると、ソフトウエア格納領域20に格納されている被生成ソフトウエア1がソフトウエア生成部24により生成される。   When the generated software generation software 2 of (Configuration 5) is activated, the generated software 1 stored in the software storage area 20 is generated by the software generation unit 24.

生成された(構成5)の被生成ソフトウエア1は、初回起動時、MACアドレス取得部19によりMACアドレスを取得し、取得したMACアドレスはMACアドレス自身書込部16により被生成ソフトウエア1自身の実行体のMACアドレス格納領域11にバイナリの状態で書き込まれる。起動時、MACアドレス比較判定部13によりMACアドレス取得部19により取得されたMACアドレスとMACアドレス格納領域11に格納されているMACアドレスとが比較され、一致した場合にのみ動作継続を行う。   The generated generated software 1 of (configuration 5) acquires the MAC address by the MAC address acquisition unit 19 at the first activation, and the acquired MAC address is generated by the MAC address own writing unit 16 itself. Is written in a binary state in the MAC address storage area 11 of the executable body. At the time of activation, the MAC address comparison / determination unit 13 compares the MAC address acquired by the MAC address acquisition unit 19 with the MAC address stored in the MAC address storage area 11, and the operation is continued only when they match.

したがって、生成された被生成ソフトウエア1は、生成された電子機器以外では動作することが不可能となる。   Therefore, the generated software 1 to be generated cannot be operated other than the generated electronic device.

本発明の実施の形態の1電子機器唯一動作許可ソフトウエア管理装置7の実施の形態について図3を用いて説明する。   An embodiment of an electronic device unique operation permission software management apparatus 7 according to an embodiment of the present invention will be described with reference to FIG.

本発明の実施の形態の1電子機器唯一動作許可ソフトウエア管理装置7の実施の形態の構成について説明する。   A configuration of an embodiment of the one-electronic-device-only operation-permitted software management device 7 according to the embodiment of the present invention will be described.

本発明の実施の形態の1電子機器唯一動作許可ソフトウエア管理装置7は、上述した本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の各(構成1)、(構成3)、(構成4)までの構成の被生成ソフトウエア生成ソフトウエア2に、生成した被生成ソフトウエア1を起動するソフトウエア起動部27と、起動した被生成ソフトウエア1の終了を待って削除する終了時削除部28とがさらに設けられた被生成ソフトウエア生成ソフトウエア2を1電子機器唯一動作許可ソフトウエア管理装置7とし、被生成ソフトウエア1を被管理ソフトウエア6とした構成となっており、ソフトウエア起動部27は、被生成ソフトウエア1を起動し、終了時削除部28は、起動した被生成ソフトウエア1の終了を待って削除する機能を有している。尚、1電子機器唯一動作許可ソフトウエア管理装置7は、1電子機器唯一動作許可ソフトウエア管理装置7が、ソフトウエア格納領域20とソフトウエア生成部24とソフトウエア起動部27と終了時削除部28のみを有する構成としてもよく、また、1電子機器唯一動作許可ソフトウエア管理装置7が、ソフトウエア格納領域20とソフトウエア生成部24とソフトウエア起動部27を有し、被管理ソフトウエア6が起動時削除部18を有する構成としてもよい。   The electronic device unique operation permission software management apparatus 7 according to the embodiment of the present invention includes the (configuration 1), (configuration 3), (configuration 3) of the generated software generation software 2 according to the embodiment of the present invention described above. In the generated software generation software 2 having the configuration up to the configuration 4), the software activation unit 27 that activates the generated generated software 1 and the end of deletion after waiting for the activated generated software 1 to end The generated software generation software 2 further provided with the deletion unit 28 is configured as one electronic device unique operation permission software management device 7, and the generated software 1 is set as the management software 6. The software activation unit 27 activates the generated software 1, and the end-time deletion unit 28 has a function of waiting for the activated generated software 1 to end and deleting it. . The one-electronic-device-only operation-permitted software management device 7 is different from the one-electronic-device-only operation-permitted software management device 7 in that the software storage area 20, the software generation unit 24, the software activation unit 27, and the termination deletion unit. The electronic operation unique software management apparatus 7 includes a software storage area 20, a software generation unit 24, and a software activation unit 27, and the managed software 6 It is good also as a structure which has the deletion part 18 at the time of starting.

また、本発明の実施の形態の1電子機器唯一動作許可ソフトウエア管理装置7は、上述した本発明の実施の形態の被生成ソフトウエア生成ソフトウエア2の各(構成2)、(構成3)、(構成4)、(構成5)までの構成の被生成ソフトウエア生成ソフトウエア2に、生成した被生成ソフトウエア1を起動するソフトウエア起動部27がさらに設けられた被生成ソフトウエア生成ソフトウエア2を1電子機器唯一動作許可ソフトウエア管理装置7とし、被生成ソフトウエア1に、起動時、被生成ソフトウエア生成ソフトウエア2を削除する起動時削除部18をさらに設けた被生成ソフトウエア1を被管理ソフトウエア6とした構成となっており、ソフトウエア起動部27は、被生成ソフトウエア1を起動し、起動時削除部18は、起動時、1電子機器唯一動作許可ソフトウエア管理装置7を削除する機能を有している。   In addition, the electronic device unique operation permission software management apparatus 7 according to the embodiment of the present invention is configured by each of (configuration 2) and (configuration 3) of the generated software generation software 2 according to the embodiment of the present invention described above. , (Configuration 4) and (Configuration 5) Generated software generation software in which a generated software generation unit 27 for starting the generated generation software 1 is further provided in the generation software generation software 2 configured as described above The generated software is provided with the software 2 as an electronic device unique operation-permitted software management device 7, and the generated software 1 is further provided with a startup deletion unit 18 for deleting the generated software generation software 2 at startup. 1 is configured as managed software 6, the software activation unit 27 activates the generated software 1, and the activation deletion unit 18 activates 1 It has a function to remove a child equipment only operation enabled software management device 7.

次に、本発明の1電子機器唯一動作許可ソフトウエア管理装置7の動作について説明する。   Next, the operation of the one-electronic-device-only operation-permitted software management device 7 of the present invention will be described.

(構成1)、(構成3)、(構成4)の場合、1電子機器唯一動作許可ソフトウエア管理装置7は、ソフトウエア起動部27により被管理ソフトウエア6を起動し、終了時削除部27により被管理ソフトウエア6の終了を待って、被管理ソフトウエア6を削除する。   In the case of (Configuration 1), (Configuration 3), and (Configuration 4), the one-electronic-device-only-operation-permitted software management device 7 activates the managed software 6 by the software activation unit 27 and deletes it at the end. The managed software 6 is deleted after waiting for the managed software 6 to end.

したがって、本実施の形態の1電子機器唯一動作許可ソフトウエア管理装置7は、起動した被管理ソフトウエア6の終了を待って、被管理ソフトウエア6を削除し、保存時では被管理ソフトウエア6はソフトウエア管理装置4に格納されている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が向上する。また、1電子機器唯一動作許可ソフトウエア管理装置7の初回起動時の電子機器以外では使用ができなくなる。   Therefore, the one-electronic-device-only operation-permitted software management device 7 according to the present embodiment waits for the started managed software 6 to be deleted, deletes the managed software 6, and manages the managed software 6 at the time of saving. Is stored in the software management device 4, it becomes difficult to analyze the program by disassembly or the like, and the security function is improved. In addition, the electronic device unique operation permission software management device 7 cannot be used except for the electronic device at the first activation time.

(構成2)、(構成3)、(構成4)、(構成5)の場合、被管理ソフトウエア6は、被管理ソフトウエア6の起動時、1電子機器唯一動作許可ソフトウエア管理装置7を削除する。   In the case of (Configuration 2), (Configuration 3), (Configuration 4), and (Configuration 5), the managed software 6 is the one-electronic-device-only operation permission software management device 7 when the managed software 6 is started. delete.

したがって、被管理ソフトウエア6は、初回起動時の電子機器以外では使用できないと共に、1電子機器唯一動作許可ソフトウエア管理装置7は初回起動時に削除される為、初回起動した電子機器以外では、被管理ソフトウエア6を生成及び動作させることは不可能となる。   Therefore, the managed software 6 cannot be used except for the electronic device at the first activation, and the one-electronic-device-only operation-permitted software management device 7 is deleted at the first activation. It becomes impossible to generate and operate the management software 6.

尚、以上の本発明の実施の形態において、動作する電子機器に固有の指標をMACアドレスとしたが、動作する電子機器に固有の指標であれば何でもよい。   In the above-described embodiment of the present invention, the index unique to the operating electronic device is the MAC address, but any index unique to the operating electronic device may be used.

また、以上の本発明の実施の形態において、格納するソフトウエア及び/又はMACアドレスを暗号化すれば、逆アセンブル等によるプログラム解析等が困難となり、さらにセキュリティ機能が向上する。この場合、ソフトウエア及び/又はMACアドレスを読み出す場合は、復号化して読み出すようにする。   Further, in the above embodiment of the present invention, if the stored software and / or MAC address is encrypted, program analysis by disassembly or the like becomes difficult, and the security function is further improved. In this case, when the software and / or the MAC address is read, it is read after being decoded.

また、以上の本発明の実施の形態において、図2に示す(構成1)から(構成5)までのパターンの被生成ソフトウエア生成ソフトウエア2において、被生成ソフトウエア1又は被生成ソフトウエア生成ソフトウエア2を1電子機器唯一動作許可ソフトウエア管理装置7としたインストーラとする構成としてもよい。さらに、その構成要素の1つ1つのソフトウエアを1電子機器唯一動作許可ソフトウエア管理装置7とする構成を無限に近い回数までの複数回まで繰り返す構成とした1電子機器唯一動作許可ソフトウエア又はインストーラとしてもよい。   In the embodiment of the present invention described above, the generated software 1 or generated software is generated in the generated software generation software 2 having the patterns (configuration 1) to (configuration 5) shown in FIG. The software 2 may be configured as an installer in which only one electronic device operation permission software management device 7 is used. In addition, the one-electronic-device-only operation-permitted software in which the configuration in which each piece of software of each component is the one-electronic-device-only operation-permitted software management device 7 is repeated up to multiple times up to an infinite number of times or It may be an installer.

以下に、本発明の実施の形態を応用した実施例を示す。   Examples in which the embodiment of the present invention is applied will be described below.

本発明の1電子機器唯一動作許可インストーラ(以下では、インストーラと略称する)及び1電子機器唯一動作許可インストール方法(以下では、インストール方法と略称する)、及び1電子機器唯一動作許可インストーラ生成装置及び方法(以下では、インストーラ生成装置及び方法と略称する)の1実施の形態としての第1の実施の形態は図2に示す(構成3)を応用した実施例である。尚、以下では、電子機器の一例としてコンピュータを使用し、電子機器に固有の指標としてMACアドレスを使用している。   1 electronic device unique operation permission installer (hereinafter abbreviated as installer), 1 electronic device unique operation permission installation method (hereinafter abbreviated as installation method), 1 electronic device unique operation permission installer generation device, and A first embodiment as an embodiment of a method (hereinafter abbreviated as an installer generation apparatus and method) is an example in which (Configuration 3) shown in FIG. 2 is applied. In the following, a computer is used as an example of an electronic device, and a MAC address is used as an index unique to the electronic device.

本発明のインストーラ及びインストール方法、及びインストーラ生成装置及び方法の1実施の形態としての第1の実施の形態を図4を用いて説明する。   A first embodiment as an embodiment of an installer, an installation method, and an installer generation apparatus and method according to the present invention will be described with reference to FIG.

本発明のインストーラ、インストーラ生成装置の1実施の形態としての第1の実施の形態の構成について説明する。   The configuration of the first embodiment as one embodiment of the installer and the installer generating apparatus of the present invention will be described.

本発明の第1の実施の形態のインストーラは、提供されたソフトウエア1aと、ソフトウエア1aを格納するインストーラ2aとから大略構成されている。   The installer according to the first embodiment of the present invention is roughly constituted by the provided software 1a and an installer 2a for storing the software 1a.

以下に、本発明の第1の実施の形態のインストーラの各構成について詳細に説明する。   Below, each structure of the installer of the 1st Embodiment of this invention is demonstrated in detail.

ソフトウエア1aは、MACアドレスを取得するMACアドレス取得部19aと、MACアドレスを格納するメモリ領域であるMACアドレス格納領域11aと、起動時に取得するMACアドレスとMACアドレス格納領域11aに格納されているMACアドレスとを比較するMACアドレス比較判定部13aが組み込まれた構成となっている。   The software 1a is stored in a MAC address acquisition unit 19a that acquires a MAC address, a MAC address storage area 11a that is a memory area for storing the MAC address, and a MAC address and MAC address storage area 11a that are acquired at startup. The MAC address comparison / determination unit 13a that compares the MAC address is incorporated.

インストーラ2aは、MACアドレスを取得するMACアドレス取得部29aと、ソフトウエア1aを格納するメモリ領域であるソフトウエア格納領域20aと、初回起動時に取得するMACアドレスを格納するメモリ領域であるMACアドレス格納領域21aと、初回起動時に取得するMACアドレスをインストーラ2aの自身の実行体のMACアドレス格納領域21aにバイナリの状態で格納するMACアドレス自身書込部26aと、初回起動時に取得するMACアドレスをソフトウエア格納領域20aに格納されているソフトウエア1aに組み込むMACアドレス組込部22aと、起動時に取得したMACアドレスとMACアドレス格納領域21aに格納されているMACアドレスとを比較し、一致した場合に起動を継続するMACアドレス比較判定部23aと、MACアドレスが組み込まれたソフトウエア1aを生成するソフトウエア生成部24aとから構成されている。   The installer 2a has a MAC address acquisition unit 29a for acquiring a MAC address, a software storage area 20a that is a memory area for storing the software 1a, and a MAC address storage that is a memory area for storing a MAC address acquired at the first activation. Area 21a, MAC address own writing unit 26a for storing the MAC address acquired at the first activation in the MAC address storage area 21a of the execution body of the installer 2a in a binary state, and the MAC address acquired at the first activation The MAC address incorporation unit 22a incorporated in the software 1a stored in the software storage area 20a is compared with the MAC address acquired at startup and the MAC address stored in the MAC address storage area 21a. MAC address that continues to start And less comparison determination unit 23a, is composed of a software generator 24a for generating a software 1a a MAC address embedded.

また、本発明の第1の実施の形態のインストーラ生成装置5aは、インストーラ2aと、ソフトウエア1aをソフトウエア管理装置3aに格納する為のソフトウエア組込器100aとから構成されている。尚、ソフトウエア1a中のMACアドレス比較判定部13aとMACアドレス格納領域11aとMACアドレス取得部19aまでを含んでインストーラ生成装置5aとしてもよい。この場合、インストーラ生成装置5aは、ソフトウエア1aをソフトウエア格納領域20aに格納する際、MACアドレス比較判定部13aとMACアドレス格納領域11aとMACアドレス取得部19aをソフトウエア1aの実行体にバイナリの状態で組み込む構成となる。   The installer generation device 5a according to the first embodiment of the present invention includes an installer 2a and a software embedded device 100a for storing the software 1a in the software management device 3a. The installer generation device 5a may include the MAC address comparison / determination unit 13a, the MAC address storage area 11a, and the MAC address acquisition unit 19a in the software 1a. In this case, when storing the software 1a in the software storage area 20a, the installer generating device 5a uses the MAC address comparison / determination unit 13a, the MAC address storage area 11a, and the MAC address acquisition unit 19a as binary for the execution body of the software 1a. It becomes the structure to incorporate in the state of.

次に、本発明の第1の実施の形態のインストーラ生成装置の動作及びインストーラ生成方法について説明する。   Next, the operation of the installer generation device and the installer generation method according to the first embodiment of the present invention will be described.

本発明の第1の実施の形態のインストーラ生成装置5aは、提供されたソフトウエア1aをソフトウエア組込器100aがインストーラ2aのソフトウエア格納領域20aに格納し、インストーラ2aを生成する。   In the installer generating apparatus 5a according to the first embodiment of the present invention, the software embedding device 100a stores the provided software 1a in the software storage area 20a of the installer 2a, and generates the installer 2a.

次に、本発明の第1の実施の形態のインストーラの動作及びインストール方法について説明する。   Next, the operation and installation method of the installer according to the first embodiment of this invention will be described.

本発明の第1の実施の形態のインストーラ2aは、初回起動時に取得したMACアドレスをMACアドレス自身書込部26aにより、インストーラ2a自身の実行体のMACアドレス格納領域21aにバイナリの状態で書き込む。すなわち、インストーラ2a自身の実行体をバイナリの状態で開いてMACアドレス格納領域21aに書き込む。また、初回起動時に取得したMACアドレスは、MACアドレス組込部22aにより、ソフトウエア格納領域20aに格納されているソフトウエア1aに組み込まれる。そして、MACアドレス比較判定部23aにより、起動時に取得されたMACアドレスとMACアドレス格納領域21に格納されているMACアドレスとを比較し、一致すれば起動動作を継続し、一致しなければ、終了する。また、MACアドレスが組み込まれたソフトウエア1aは、ソフトウエア生成部24aにより生成される。   The installer 2a according to the first embodiment of the present invention writes the MAC address acquired at the first activation in the MAC address storage area 21a of the execution body of the installer 2a in a binary state by the MAC address own writing unit 26a. That is, the execution body of the installer 2a itself is opened in a binary state and written in the MAC address storage area 21a. Further, the MAC address acquired at the first activation is incorporated into the software 1a stored in the software storage area 20a by the MAC address incorporation unit 22a. Then, the MAC address comparison / determination unit 23a compares the MAC address acquired at the time of activation with the MAC address stored in the MAC address storage area 21. If they match, the activation operation is continued. To do. Further, the software 1a in which the MAC address is incorporated is generated by the software generation unit 24a.

この為、インストール時のコンピュータ以外では、インストーラの起動が行えなくすることができる。   For this reason, it is possible to prevent the installer from being activated on a computer other than the computer at the time of installation.

また、ソフトウエア1aも起動時、MACアドレス比較判定部23aにより、取得したMACアドレスと、MACアドレス格納領域21aに格納してあるMACアドレスとを比較し、一致した場合にのみ起動し、一致しなければ終了する。   When the software 1a is also started, the MAC address comparison / determination unit 23a compares the acquired MAC address with the MAC address stored in the MAC address storage area 21a. If not, exit.

この為、インストール時のコンピュータ以外では、ソフトウエアの起動が行えなくすることができる。   For this reason, it is possible to make it impossible to start the software other than the computer at the time of installation.

以上のように、本発明の第1の実施の形態のインストーラ及びインストール方法、並びにインストーラ生成装置及び方法によれば、生成されたインストーラ及びソフトウエアにMACアドレスが組み込まれており、起動時に取得するMACアドレスと組み込まれているMACアドレスとが比較できる為、インストール時のコンピュータ以外のコンピュータでは、インストールが行えない為、1台のコンピュータ以外ではインストールが行えなくすることができる。   As described above, according to the installer and installation method, and the installer generation apparatus and method according to the first embodiment of the present invention, the MAC address is incorporated in the generated installer and software, and is acquired at startup. Since the MAC address and the built-in MAC address can be compared, installation cannot be performed on a computer other than the computer at the time of installation, so that installation cannot be performed except for one computer.

尚、上記した本発明の第1の実施の形態のインストーラ及びインストール方法、並びにインストーラ生成装置及び方法において、以下の(1)から(6)に箇条書きにて記すようにしてもよい。   In the installer, the installation method, and the installer generation apparatus and method according to the first embodiment of the present invention described above, the following items (1) to (6) may be indicated by items.

(1)インストーラ生成装置5aは、提供されたソフトウエア1aに対して、ソフトウエア1aに自動的にMACアドレス格納領域11aとMACアドレス比較判定部13aとMACアドレス取得部19aを組み込むような構成としてもよい(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。この場合、インストーラ生成装置5aは、MACアドレス格納領域11aとMACアドレス比較判定部13aとMACアドレス取得部19aをも含む構成となる。   (1) The installer generation device 5a is configured to automatically incorporate the MAC address storage area 11a, the MAC address comparison / determination unit 13a, and the MAC address acquisition unit 19a into the software 1a for the provided software 1a. (This method of incorporation is similar to the machine language code embedding device and method of the embodiment of the present invention shown in FIG. 9). In this case, the installer generation device 5a includes a MAC address storage area 11a, a MAC address comparison / determination unit 13a, and a MAC address acquisition unit 19a.

(2)また、インストーラ2aのMACアドレス組込部22aを削除し、ソフトウエア1aにMACアドレス自身書込部とMACアドレス組込部を設け、ソフトウエア1a生成の初回起動時にMACアドレスをMACアドレス格納領域にソフトウエア1a自身の実行体にバイナリの状態で書き込むようにしてもよい。   (2) In addition, the MAC address incorporating unit 22a of the installer 2a is deleted, and the MAC address itself writing unit and the MAC address incorporating unit are provided in the software 1a, and the MAC address is set to the MAC address when the software 1a is generated for the first time. The software 1a itself may be written in a binary state in the storage area.

(3)以上においては、図2に示す(構成3)の実施例としたが、他に(構成1)、(構成2)、(構成4)、(構成5)の構成としてもよい。   (3) In the above, the embodiment of (Configuration 3) shown in FIG. 2 is used, but the configurations of (Configuration 1), (Configuration 2), (Configuration 4), and (Configuration 5) may be used.

(4)また、ソフトウエア格納領域20aに格納するソフトウエア1aは暗号化したデータを組み込むようにし、ソフトウエア1aを生成時に復号化して生成するようにしてもよい。また、MACアドレス格納領域21aとMACアドレス格納領域11aに格納されるMACアドレスは暗号化したデータを格納するようにし、MACアドレス格納領域21a、11aに格納されているMACアドレスを読み出す際には、復号化して読み出すようにしてもよい。   (4) In addition, the software 1a stored in the software storage area 20a may incorporate encrypted data, and may be generated by decrypting the software 1a at the time of generation. In addition, the MAC addresses stored in the MAC address storage area 21a and the MAC address storage area 11a store encrypted data, and when reading the MAC addresses stored in the MAC address storage areas 21a and 11a, You may make it read after decoding.

このようにすれば、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   In this way, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

(5)また、第1の実施の形態においては、コンピュータに固有の指標としてMACアドレスを使用したが、コンピュータに固有の指標であればどのようなものでもよい。   (5) In the first embodiment, the MAC address is used as an index unique to the computer, but any index unique to the computer may be used.

(6)また、第1の実施の形態においては、動作又はインストール対象をコンピュータとしたが、電子機器であればどのようなものでもよい。   (6) In the first embodiment, the operation or installation target is a computer, but any electronic device may be used.

本発明の1電子機器唯一動作許可インストーラ(以下においては、インストーラと略称する)及び1電子機器唯一動作許可インストール方法(以下においては、インストール方法と略称する)、1電子機器唯一動作許可インストーラ生成装置及び方法(以下においては、インストーラ生成装置及び方法と略称する)、並びに1電子機器唯一動作許可インストーラ管理装置及び方法(以下においては、インストーラ管理装置及び方法と略称する)の1実施の形態としての第2の実施の形態は図2に示す(構成3)の被生成ソフトウエア生成ソフトウエア2に、図2に示す(構成2)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ実施例であり、また、インストーラ生成装置もその実施例に対応する実施例である。尚、以下では、電子機器の一例としてコンピュータを使用し、電子機器に固有の指標としてMACアドレスを使用している。   1 electronic device unique operation permission installer (hereinafter abbreviated as installer), 1 electronic device unique operation permission installation method (hereinafter abbreviated as installation method), 1 electronic device unique operation permission installer generation device And a method (hereinafter abbreviated as an installer generation apparatus and method), and an electronic device unique operation permission installer management apparatus and method (hereinafter abbreviated as an installer management apparatus and method) as one embodiment In the second embodiment, the generated software generation software 2 of (configuration 3) shown in FIG. 2 incorporates one electronic device unique operation permission software management device 7 having the pattern of (configuration 2) shown in FIG. This is an embodiment, and an installer generation device is an embodiment corresponding to the embodiment. In the following, a computer is used as an example of an electronic device, and a MAC address is used as an index unique to the electronic device.

本発明のインストーラ及びインストール方法、インストーラ生成装置及び方法、並びにインストーラ管理装置及び方法の1実施の形態としての第2の実施の形態を図5を用いて説明する。   A second embodiment as an embodiment of an installer and an installation method, an installer generation apparatus and method, and an installer management apparatus and method according to the present invention will be described with reference to FIG.

本発明の第2の実施の形態は、上述した第1の実施の形態にインストーラの生成起動を行うインストーラ管理装置を備えるようにした。   In the second embodiment of the present invention, an installer management device for generating and starting an installer is provided in the first embodiment described above.

本発明のインストーラ、インストーラ生成装置、及びインストーラ管理装置の1実施の形態としての第2の実施の形態の構成について説明する。   A configuration of a second embodiment as an embodiment of an installer, an installer generation device, and an installer management device of the present invention will be described.

本発明の第2の実施の形態のインストーラは、ソフトウエア1bと、ソフトウエア1bを格納するメモリ領域であるソフトウエア格納領域20bとMACアドレスを格納するメモリ領域であるMACアドレス格納領域21bを確保したインストーラ2bと、インストーラ2bを確保したインストーラ管理装置3bとから構成されている。   The installer according to the second embodiment of the present invention secures software 1b, a software storage area 20b that is a memory area for storing software 1b, and a MAC address storage area 21b that is a memory area for storing MAC addresses. The installer 2b and the installer management apparatus 3b that secures the installer 2b.

以下に、本発明の第2の実施の形態の各構成について詳細に説明する。   Below, each structure of the 2nd Embodiment of this invention is demonstrated in detail.

ソフトウエア1bは、MACアドレスを取得するMACアドレス取得部19bと、MACアドレスを格納するメモリ領域であるMACアドレス格納領域11bと、初回起動時に取得したMACアドレスとMACアドレス格納領域11bに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続するMACアドレス比較判定部13bとが組み込まれた構成となっている。   The software 1b is stored in the MAC address acquisition unit 19b that acquires the MAC address, the MAC address storage area 11b that is a memory area for storing the MAC address, and the MAC address and MAC address storage area 11b that are acquired at the first activation. And a MAC address comparison / determination unit 13b that continues to be activated only when they match with each other.

インストーラ2bは、MACアドレスを取得するMACアドレス取得部29bと、ソフトウエア1bを格納するメモリ領域であるソフトウエア格納領域20bと、初回起動時に取得するMACアドレスを格納するメモリ領域であるMACアドレス格納領域21bと、起動時に取得するMACアドレスとMACアドレス格納領域21bに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続するMACアドレス比較判定部23bと、ソフトウエア格納領域20bに格納されているソフトウエア1bを生成するソフトウエア生成部24bと、起動時、インストーラ管理装置3bを削除する起動時削除部27bとから構成されている。   The installer 2b includes a MAC address acquisition unit 29b that acquires a MAC address, a software storage area 20b that is a memory area for storing software 1b, and a MAC address storage that is a memory area for storing a MAC address acquired at the first activation. The MAC address comparison / determination unit 23b that continues the activation only when the area 21b is compared with the MAC address acquired at the time of activation and the MAC address stored in the MAC address storage area 21b, and the software storage area 20b Is composed of a software generation unit 24b that generates the software 1b stored therein, and a startup deletion unit 27b that deletes the installer management device 3b at startup.

インストーラ管理装置3bは、MACアドレスを取得するMACアドレス取得部39bと、インストーラ2bを格納するメモリ領域であるインストーラ格納領域30bと、起動時に取得したMACアドレスをインストーラ格納領域30bに格納されているインストーラ2bに組み込むMACアドレス組込部32bと、MACアドレスが組み込まれたインストーラ2bを生成するインストーラ生成部34bと、インストーラ生成部34bにより生成されたインストーラ2bを起動するインストーラ起動部37bとから構成されている。尚、このインストーラ管理装置3bまでを纏めてインストーラと考えてよい。   The installer management apparatus 3b includes a MAC address acquisition unit 39b that acquires a MAC address, an installer storage area 30b that is a memory area for storing the installer 2b, and an installer that stores the MAC address acquired at startup in the installer storage area 30b. 2b includes a MAC address incorporating unit 32b, an installer creating unit 34b that creates an installer 2b incorporating the MAC address, and an installer launching unit 37b that launches the installer 2b created by the installer creating unit 34b. Yes. The installer management device 3b may be collectively considered as an installer.

また、本発明の第2の実施の形態のインストーラ生成装置5bは、インストーラ2bと、インストーラ管理装置3bと、ソフトウエア1bをインストーラ2bに格納する為のソフトウエア組込器100bと、インストーラ2bをインストーラ管理装置3bに格納する為のインストーラ組込器110bとから構成されている。尚、ソフトウエア1b中のMACアドレス比較判定部13bとMACアドレス格納領域11bとMACアドレス取得部19bまでを含んでインストーラ生成装置としてもよい。この場合、ソフトウエア1bをインストーラ2bのソフトウエア格納領域20bに格納する際、MACアドレス比較判定部13bとMACアドレス格納領域11bとMACアドレス取得部19bをソフトウエア1bにバイナリの状態で組み込む構成となる。   The installer generation device 5b according to the second embodiment of the present invention includes an installer 2b, an installer management device 3b, a software embedded device 100b for storing the software 1b in the installer 2b, and an installer 2b. It comprises an installer built-in device 110b for storing in the installer management device 3b. Note that the installer generation device may include the MAC address comparison / determination unit 13b, the MAC address storage area 11b, and the MAC address acquisition unit 19b in the software 1b. In this case, when the software 1b is stored in the software storage area 20b of the installer 2b, the MAC address comparison / determination unit 13b, the MAC address storage area 11b, and the MAC address acquisition unit 19b are incorporated into the software 1b in a binary state. Become.

次に、本発明の第2の実施の形態のインストーラ生成装置の動作及びインストーラ生成方法について説明する。   Next, the operation of the installer generation apparatus and the installer generation method according to the second embodiment of the present invention will be described.

本発明の第2の実施の形態のインストーラ生成装置5bは、提供されたソフトウエア1bをソフトウエア組込器100bがインストーラ2bのソフトウエア格納領域20bに格納し、インストーラ2bを生成する。生成されたインストーラ2bは、インストーラ管理装置3bのインストーラ格納領域30bにインストーラ組込器110bにより格納される。   In the installer generating apparatus 5b according to the second embodiment of the present invention, the provided software 1b is stored in the software storage area 20b of the installer 2b by the software embedder 100b, and the installer 2b is generated. The generated installer 2b is stored in the installer storage area 30b of the installer management apparatus 3b by the installer incorporation unit 110b.

次に、本発明の第2の実施の形態のインストーラの動作及びインストール方法、並びにインストーラ管理装置の動作及びインストーラ管理方法について説明する。   Next, the operation and installation method of the installer and the operation and installer management method of the installer management apparatus according to the second embodiment of the present invention will be described.

本発明の第2の実施の形態のインストーラは、インストーラ管理装置3bが起動後、MACアドレス取得部39bによりMACアドレスを取得し、MACアドレス組込部32bにより、MACアドレスが、ソフトウエア1bのMACアドレス格納領域11bとインストーラ2bのMACアドレス格納領域21bに格納される。そして、インストーラ生成部34bによりインストーラ2bが生成され、インストーラ起動部37bによりインストーラ2bが起動される。インストーラ2bは、起動後、起動時削除部27bにより、インストーラ管理装置3bを削除する。また、インストーラ2bは、起動時、MACアドレス比較判定部13bにより、取得したMACアドレスとMACアドレス格納領域21bに格納してあるMACアドレスとを比較し、一致した場合のみ起動を継続し、一致しなければ終了する。   The installer according to the second embodiment of the present invention acquires the MAC address by the MAC address acquisition unit 39b after the installer management device 3b is started, and the MAC address incorporation unit 32b sets the MAC address of the software 1b. It is stored in the address storage area 11b and the MAC address storage area 21b of the installer 2b. Then, the installer 2b is generated by the installer generation unit 34b, and the installer 2b is activated by the installer activation unit 37b. After startup, the installer 2b deletes the installer management apparatus 3b by the startup deletion unit 27b. In addition, when the installer 2b is activated, the MAC address comparison / determination unit 13b compares the acquired MAC address with the MAC address stored in the MAC address storage area 21b. If not, exit.

この為、インストール時のコンピュータ以外では、インストーラ2bの起動が行えなくすることができる。   For this reason, it is possible to prevent the installer 2b from being activated by a computer other than the computer at the time of installation.

また、ソフトウエア1bも起動時、MACアドレス取得部29bによりMACアドレスを取得し、MACアドレス比較判定部23bにより、取得したMACアドレスと、MACアドレス格納領域21bに格納してあるMACアドレスと比較し、一致した場合にのみ起動を継続し、一致しなければ終了する。   When the software 1b is also started up, the MAC address acquisition unit 29b acquires the MAC address, and the MAC address comparison / determination unit 23b compares the acquired MAC address with the MAC address stored in the MAC address storage area 21b. The activation is continued only when they match, and ends when they do not match.

この為、インストール時のコンピュータ以外では、ソフトウエア1bの起動が行えなくすることができる。   For this reason, it is possible to prevent the software 1b from being activated by a computer other than the computer at the time of installation.

以上のように、本発明の第2の実施の形態のインストーラ及びインストール方法、インストーラ管理装置及び方法、並びにインストーラ生成装置及び方法によれば、生成されたインストーラ及びソフトウエアにMACアドレスが組み込まれており、起動時に取得したMACアドレスと格納されているMACアドレスとが一致する場合にのみ起動を継続する為、インストール時のコンピュータ以外のコンピュータでは、インストールが行えず、1台のコンピュータ以外ではインストールが行えなくすることができる。また、生成したソフトウエアにおいても生成時にMACアドレスが組み込まれており、起動時に取得したMACアドレスと格納されているMACアドレスとが一致する場合にのみ起動を継続する為、生成時のコンピュータ以外では使用ができなくすることができる。   As described above, according to the installer and installation method, the installer management apparatus and method, and the installer generation apparatus and method according to the second embodiment of the present invention, the MAC address is incorporated into the generated installer and software. Because startup is continued only when the MAC address acquired at startup matches the stored MAC address, installation cannot be performed on computers other than the computer at the time of installation, and installation can be performed only on one computer. It can be disabled. Also, the generated software has a MAC address built in at the time of generation, and since the activation is continued only when the MAC address acquired at the time of activation matches the stored MAC address, It can be disabled.

尚、上記した本発明の第2の実施の形態のインストーラ及びインストール方法、インストーラ管理装置及び方法、並びにインストーラ生成装置及び方法において、以下の(1)から(6)に箇条書きにて記すようにしてもよい。   In the above-described installer and installation method, installer management apparatus and method, and installer generation apparatus and method according to the second embodiment of the present invention, the following items (1) to (6) are described in items. May be.

(1)インストーラは、インストーラ管理装置3bまでを含めてインストーラとしてもよいし、しなくてもよい。   (1) The installer may or may not be an installer including the installer management device 3b.

(2)また、ソフトウエア格納領域20b及びインストーラ格納領域30bに格納するデータを暗号化して格納するようにし、インストーラ2b及び、ソフトウエア1bを生成する際に復号化して生成するようにしてもよい。また、MACアドレス格納領域11b及びMACアドレス格納領域21bに格納するMACアドレスを暗号化したデータを組み込むようにし、読み出す場合、復号化するようにしてもよい。   (2) Data stored in the software storage area 20b and the installer storage area 30b may be encrypted and stored, and decrypted and generated when the installer 2b and the software 1b are generated. . Further, data obtained by encrypting the MAC address stored in the MAC address storage area 11b and the MAC address storage area 21b may be incorporated, and may be decrypted when read.

このようにすれば、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   In this way, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

(3)また、インストーラ管理装置3bに、MACアドレス格納領域とMACアドレス比較判定部とMACアドレス自身書込部を設け、初回起動時にMACアドレスをインストーラ管理装置3b自身の実行体のMACアドレス格納領域にバイナリの状態で組み込み、起動時、取得したMACアドレスとMACアドレス格納領域に格納されたMACアドレスとが一致するかどうかを判定し、一致した場合にのみ起動するようにしてもよい。この場合、インストーラ2bの起動時にインストーラ管理装置3を削除せずに、インストーラ2bの終了後、インストーラ管理装置3bがインストーラ2bを削除する終了時削除部を設けるようにする。   (3) The installer management apparatus 3b is provided with a MAC address storage area, a MAC address comparison / determination section, and a MAC address writing section, and the MAC address storage area of the execution body of the installer management apparatus 3b itself at the first activation. In a binary state, it may be determined whether or not the acquired MAC address and the MAC address stored in the MAC address storage area match at the time of start-up, and start-up only when they match. In this case, the installer management device 3 is not deleted when the installer 2b is started, and an end-time deletion unit is provided for the installer management device 3b to delete the installer 2b after the installer 2b ends.

ここで(2)及び(3)の構成とすると、保存されているインストーラ管理装置3bに格納されているインストーラ2b及びインストーラ2bに格納されているソフトウエア1bが暗号化された状態となり、逆アセンブル等によるプログラム解析等がさらに困難となり、セキュリティ機能がさらに高まる。   Here, with the configurations of (2) and (3), the installer 2b stored in the saved installer management apparatus 3b and the software 1b stored in the installer 2b are in an encrypted state, and disassembled. Etc., the program analysis etc. becomes more difficult, and the security function is further enhanced.

(4)また、インストーラ生成装置5bは、提供されたソフトウエアに対して、ソフトウエア1bに自動的にMACアドレス格納領域11bとMACアドレス比較判定部13bとMACアドレス取得部19bをバイナリの状態で組み込むような構成としてもよい(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。この場合、インストーラ生成装置5bは、MACアドレス格納領域11bとMACアドレス比較判定部13bとMACアドレス取得部19bをも含む構成となる。   (4) Further, the installer generating apparatus 5b automatically sets the MAC address storage area 11b, the MAC address comparison / determination unit 13b, and the MAC address acquisition unit 19b in the binary state for the provided software. It may be configured to be incorporated (this assembling method is the same as the machine language code embedding device and method of the embodiment of the present invention shown in FIG. 9). In this case, the installer generation device 5b includes a MAC address storage area 11b, a MAC address comparison / determination unit 13b, and a MAC address acquisition unit 19b.

(5)また、以上においては、第2の実施の形態は図2に示す(構成3)の被生成ソフトウエア生成ソフトウエア2に、図2に示す(構成2)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ実施例であるが、図2に示す(構成1)から(構成5)の其々の被生成ソフトウエア生成ソフトウエア2において、被生成ソフトウエア及び/又は被生成ソフトウエア生成ソフトウエア2に(構成1)から(構成5)の其々のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ構成としてもよく、また、インストーラ生成装置5bもその構成に対応する構成としてもよい。   (5) Also, in the above, the second embodiment is the only one electronic device having the pattern of (Configuration 2) shown in FIG. 2 in the generated software generation software 2 of (Configuration 3) shown in FIG. In the embodiment in which the operation permission software management device 7 is incorporated, in each of the generated software generation software 2 of (Configuration 1) to (Configuration 5) shown in FIG. The generated software generation software 2 may have a configuration in which one electronic device unique operation permission software management device 7 of each pattern of (configuration 1) to (configuration 5) is incorporated, and an installer generation device 5b is also included. It is good also as a structure corresponding to the structure.

また、(5)の場合に、格納するソフトウエア及び/又はMACアドレスを暗号化して格納するようにし、読み出す場合、復号化するようにしてもよい。   In the case of (5), the software and / or MAC address to be stored may be encrypted and stored, and when read, it may be decrypted.

このようにすれば、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   In this way, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

(6)また、以上の第2の実施の形態においては、コンピュータに固有の指標としてMACアドレスを使用したが、コンピュータに固有の指標であればどのようなものでもよい。   (6) In the second embodiment described above, the MAC address is used as an index unique to the computer, but any index unique to the computer may be used.

(7)また、以上の第2の実施の形態においては、動作又はインストール対象をコンピュータとしたが、電子機器であればどのようなものでもよい。   (7) In the second embodiment described above, the operation or installation target is a computer, but any electronic device may be used.

本発明の1電子機器唯一動作許可インストーラ(以下においては、インストーラと略称する)及び1電子機器唯一動作許可インストール方法(以下においては、インストール方法と略称する)、1電子機器唯一動作許可インストーラ管理装置及び方法(以下においては、インストーラ管理装置及び方法と略称する)、1電子機器唯一動作許可ソフトウエア管理装置及び方法(以下においては、ソフトウエア管理装置及び方法と略称する)、並びに1電子機器唯一動作許可インストーラ生成装置及び方法(以下においては、インストーラ生成装置及び方法と略称する)の1実施の形態としての第3の実施の形態は図2に示す(構成3)の被生成ソフトウエア生成ソフトウエア2の被生成ソフトウエア1に、図2に示す(構成3)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ実施例であり、また、インストーラ生成装置もその実施例に対応した実施例である。   1 electronic device unique operation permission installer (hereinafter abbreviated as installer) and 1 electronic device unique operation permission installation method (hereinafter abbreviated as installation method), 1 electronic device unique operation permission installer management apparatus And a method (hereinafter abbreviated as “installer management device and method”), one electronic device unique operation permission software management device and method (hereinafter abbreviated as “software management device and method”), and one electronic device only. The third embodiment as an embodiment of the operation-permitted installer generation apparatus and method (hereinafter abbreviated as the installer generation apparatus and method) is the generated software generation software (configuration 3) shown in FIG. The generated software 1 of the wear 2 has a pattern 1 (configuration 3) shown in FIG. An embodiment incorporating the child device only operation permitted software management apparatus 7, also, the installer generator also an embodiment corresponding to the embodiment.

本発明のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法の1実施の形態としての第3の実施の形態を図6を用いて説明する。   A third embodiment as an embodiment of the installer and installation method, installer management apparatus and method, software management apparatus and method, and installer generation apparatus and method of the present invention will be described with reference to FIG.

本発明の第3の実施の形態のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法は、第1の実施の形態に、さらに、ソフトウエア管理装置4cが追加され、ソフトウエア1cがソフトウエア管理装置4cに組み込まれ、ソフトウエア管理装置4cがインストーラ2cにインストーラソフトウエア管理装置組込器120cにより組み込まれた構成となっており、ソフトウエア管理装置4cが生成し、起動したソフトウエア1cは、その終了を待って削除される構成となっている。尚、以下では、電子機器の一例としてコンピュータを使用し、電子機器に固有の指標としてMACアドレスを使用している。   The installer and installation method, installer management apparatus and method, software management apparatus and method, and installer generation apparatus and method according to the third embodiment of the present invention are the same as those in the first embodiment. 4c is added, the software 1c is incorporated in the software management device 4c, and the software management device 4c is incorporated in the installer 2c by the installer software management device incorporation device 120c. The software 1c generated and activated by 4c is configured to be deleted after its completion. In the following, a computer is used as an example of an electronic device, and a MAC address is used as an index unique to the electronic device.

本発明のインストーラ及びインストーラ管理装置の1実施の形態としての第3の実施の形態の構成について以下に説明する。   The configuration of the third embodiment as one embodiment of the installer and the installer management apparatus of the present invention will be described below.

本発明のインストーラ2cは、ソフトウエア1を格納するソフトウエア管理装置4cと、ソフトウエア管理装置4cを格納するインストーラ2cとから大略構成されている。   The installer 2c of the present invention is roughly composed of a software management device 4c that stores the software 1 and an installer 2c that stores the software management device 4c.

以下に、各構成の詳細について説明する。   Details of each component will be described below.

ソフトウエア1cは、第1の実施の形態と同様に、MACアドレスを取得するMACアドレス取得部19cと、MACアドレスを格納する為のメモリ領域であるMACアドレス格納領域11cと、起動時に取得するMACアドレスとMACアドレス格納領域11cに格納されているMACアドレスとを比較し、起動を継続するかどうかの判定を行い、一致した場合にのみ起動を継続するMACアドレス比較判定部13cとが組み込まれた構成となっている。   As in the first embodiment, the software 1c includes a MAC address acquisition unit 19c that acquires a MAC address, a MAC address storage area 11c that is a memory area for storing the MAC address, and a MAC that is acquired at startup. A MAC address comparison / determination unit 13c that compares the address and the MAC address stored in the MAC address storage area 11c, determines whether to continue the activation, and continues the activation only when they match is incorporated. It has a configuration.

また、ソフトウエア管理装置4cは、MACアドレスを取得するMACアドレス取得部49cと、ソフトウエア1cを格納する為のメモリ領域であるソフトウエア格納領域40cと、MACアドレスを格納する為のメモリ領域であるMACアドレス格納領域41cと、起動時に取得したMACアドレスとMACアドレス格納領域41cに格納しているMACアドレスとを比較し、一致した場合にのみ起動を継続するMACアドレス比較判定部43cと、ソフトウエア格納領域40cに格納されているソフトウエア1cを生成するソフトウエア生成部44cと、生成されたソフトウエア1cを起動するソフトウエア起動部47cとソフトウエア1c起動後、終了を待ってソフトウエア1cを削除する終了時削除部48cとから構成されている。   The software management device 4c includes a MAC address acquisition unit 49c that acquires a MAC address, a software storage area 40c that is a memory area for storing the software 1c, and a memory area that stores a MAC address. A MAC address storage area 41c, a MAC address acquired at the time of activation and a MAC address stored in the MAC address storage area 41c are compared, and a MAC address comparison / determination unit 43c that continues activation only when they match, A software generation unit 44c that generates the software 1c stored in the software storage area 40c, a software activation unit 47c that activates the generated software 1c, and after the software 1c is activated, the software 1c waits for completion. And an end-time deletion unit 48c.

また、インストーラ2cは、MACアドレスを取得するMACアドレス取得部29cと、ソフトウエア管理装置4cを格納する為のソフトウエア管理装置格納領域20cと、MACアドレスを格納するMACアドレス格納領域21cと、初回起動時に取得したMACアドレスを自身の実行体のMACアドレス格納領域21cにバイナリの状態で書き込むMACアドレス自身書込部26cと、起動時に取得したMACアドレスとMACアドレス格納領域21cに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続し、一致しなければインストーラ2cを終了させるMACアドレス比較判定部23cと、ソフトウエア管理装置格納領域20cに格納されているソフトウエア管理装置4cを生成するソフトウエア管理装置生成部24cとから構成されている。   The installer 2c also includes a MAC address acquisition unit 29c for acquiring a MAC address, a software management device storage area 20c for storing the software management device 4c, a MAC address storage area 21c for storing the MAC address, The MAC address itself writing unit 26c that writes the MAC address acquired at startup in the MAC address storage area 21c of its execution body in a binary state, and the MAC address acquired at startup and the MAC address stored in the MAC address storage area 21c The MAC address comparison / determination unit 23c that compares the addresses and continues activation only when the addresses match and ends the installer 2c if they do not match, and the software management device 4c stored in the software management device storage area 20c. Software management device student to generate It is composed of a part 24c.

本発明の第3の実施の形態のインストーラ生成装置の構成について以下に説明する。   The configuration of the installer generation apparatus according to the third embodiment of the present invention will be described below.

本発明の第3の実施の形態のインストーラ生成装置5cは、ソフトウエア管理装置4cと、インストーラ2cと、ソフトウエア1cをソフトウエア管理装置4cに組み込む為のソフトウエア組込器100cと、ソフトウエア管理装置4cをインストーラ2cに組み込む為のソフトウエア管理装置組込器120cとから構成されている。尚、ソフトウエア1cのMACアドレス比較判定部13cとMACアドレス格納領域11cとMACアドレス取得部19cを含んでインストーラ生成装置5cとしてもよい。この場合、インストーラ生成装置5cは、ソフトウエア1cをソフトウエア管理装置4cのソフトウエア格納領域40cに組み込む際に、ソフトウエア1cの実行体にMACアドレス比較判定部13cとMACアドレス格納領域11cとMACアドレス取得部19cを自動的にバイナリの状態で組み込む構成となる(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   The installer generation device 5c according to the third embodiment of the present invention includes a software management device 4c, an installer 2c, a software embedder 100c for incorporating the software 1c into the software management device 4c, and software. A software management device built-in device 120c for incorporating the management device 4c into the installer 2c is configured. The installer generation device 5c may include the MAC address comparison / determination unit 13c, the MAC address storage area 11c, and the MAC address acquisition unit 19c of the software 1c. In this case, the installer generating device 5c incorporates the MAC address comparison / determination unit 13c, the MAC address storage region 11c, and the MAC address into the execution body of the software 1c when the software 1c is incorporated into the software storage region 40c of the software management device 4c. The address acquisition unit 19c is automatically incorporated in a binary state (this incorporation method is the same as the machine language code incorporation apparatus and method of the embodiment of the present invention shown in FIG. 9).

次に、本発明の第3の実施の形態のインストーラ生成装置の動作及びインストーラ生成方法について説明する。   Next, the operation of the installer generation apparatus and the installer generation method according to the third embodiment of the present invention will be described.

提供されたソフトウエア1cがソフトウエア組込器100cによりソフトウエア管理装置4cに格納される。ソフトウエア管理装置4cは、ソフトウエア管理装置組込器120cによりインストーラ2cに組み込まれる。   The provided software 1c is stored in the software management device 4c by the software embedder 100c. The software management device 4c is incorporated into the installer 2c by the software management device incorporation device 120c.

次に、本発明の第3の実施の形態のインストーラの動作及びインストール方法、並びにインストーラ管理装置及び方法について説明する。   Next, an installer operation and installation method, and an installer management apparatus and method according to the third embodiment of the present invention will be described.

インストーラ2cが起動されると、初回起動時、MACアドレス取得部29cによりMACアドレスが取得され、MACアドレス自身書込部26cにより、インストーラ2cの自身の実行体のMACアドレス格納領域21cにバイナリの状態で書き込まれる。そして、MACアドレス比較判定部23cにより、MACアドレス格納領域21cに格納されているMACアドレスと起動時取得したMACアドレスが一致するかどうかが判断され、MACアドレスが一致した場合にのみ動作を継続し、一致しない場合、終了する。そして、ソフトウエア格納領域20cに格納されているソフトウエア管理装置4cの内部のMACアドレス格納領域11c,41cに、MACアドレス組込部22cにより、MACアドレスが組み込まれる。MACアドレスが組み込まれたソフトウエア管理装置4cは、ソフトウエア管理装置生成部24cにより生成される。   When the installer 2c is activated, the MAC address is acquired by the MAC address acquiring unit 29c at the first activation, and the MAC address own writing unit 26c is in a binary state in the MAC address storage area 21c of the executable body of the installer 2c. Written in. Then, the MAC address comparison / determination unit 23c determines whether or not the MAC address stored in the MAC address storage area 21c matches the MAC address acquired at startup, and the operation is continued only when the MAC addresses match. If they do not match, the process ends. The MAC address incorporating unit 22c incorporates the MAC address into the MAC address storage areas 11c and 41c inside the software management apparatus 4c stored in the software storage area 20c. The software management device 4c in which the MAC address is incorporated is generated by the software management device generation unit 24c.

この為、最初にインストールした1台のコンピュータ以外では、インストール2cを動作させることができない為、インストールした1台のコンピュータ以外では、インストールを行うことをできなくすることができる。   For this reason, the installation 2c cannot be operated by a computer other than the first computer that is installed first, and therefore, installation cannot be performed by a computer other than the installed computer.

ソフトウエア管理装置4cが起動すると、MACアドレス比較判定部43cにより、MACアドレス取得部49cにより取得したMACアドレスとMACアドレス格納領域41cに格納されているMACアドレスとが比較され、一致した場合、起動動作が継続され、不一致の場合、ソフトウエア管理装置4cを終了する。一致した場合、ソフトウエア格納領域40cに格納されているソフトウエア1cがソフトウエア生成部44cにより生成され、ソフトウエア起動部47cによりソフトウエア1cが起動される。   When the software management device 4c is activated, the MAC address comparison / determination unit 43c compares the MAC address acquired by the MAC address acquisition unit 49c with the MAC address stored in the MAC address storage area 41c. If the operation continues and does not match, the software management device 4c is terminated. If they match, the software 1c stored in the software storage area 40c is generated by the software generating unit 44c, and the software 1c is started by the software starting unit 47c.

ソフトウエア1cは、起動すると、MACアドレス比較判定部13cにより、MACアドレス取得部19cにより取得したMACアドレスと、MACアドレス格納領域11cに格納されているMACアドレスとが比較され、一致した場合にのみ、ソフトウエア1cは動作を継続し、不一致の場合、ソフトウエア1cは終了する。   When the software 1c is started, the MAC address comparison / determination unit 13c compares the MAC address acquired by the MAC address acquisition unit 19c with the MAC address stored in the MAC address storage area 11c, and only when they match. The software 1c continues to operate. If there is a mismatch, the software 1c ends.

この為、最初にインストールした1台のコンピュータ以外では、ソフトウエア1cを動作させることができない為、インストールした1台のコンピュータ以外では、ソフトウエア1cを起動させることができなくできる。   For this reason, since the software 1c cannot be operated except for the one computer installed first, the software 1c cannot be started except for the one installed computer.

ソフトウエア管理装置4cは、終了時削除部48cにより、ソフトウエア1cの終了を待ち、終了後、ソフトウエア1cを削除する。   The software management device 4c waits for the end of the software 1c by the end-time deletion unit 48c, and deletes the software 1c after the end.

この為、ソフトウエア1cは、動作時のみ生成され、保存状態では、ソフトウエア管理装置4cに組み込まれている為、逆アセンブル等のプログラム解析等が困難となり、セキュリティ機能が高まる。   For this reason, the software 1c is generated only at the time of operation, and is stored in the software management device 4c in the saved state, so that it becomes difficult to analyze the program such as disassembly, and the security function is enhanced.

以上のように、本発明のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法の1実施の形態としての第3の実施の形態によれば、インストール時にMACアドレスを組み込む為、インストールしたコンピュータ以外のコンピュータでは、インストール及びソフトウエアの起動が行えなくすることができる。また、ソフトウエア1cは保存状態ではソフトウエア管理装置4cに格納されており、ソフトウエア管理装置4cの起動によるソフトウエア1cの生成起動後、終了を待ってソフトウエア1cを削除する為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   As described above, according to the third embodiment as an embodiment of the installer and installation method, installer management apparatus and method, software management apparatus and method, and installer generation apparatus and method of the present invention, installation is performed. Since the MAC address is sometimes incorporated, installation and software activation can be disabled on computers other than the installed computer. In addition, the software 1c is stored in the software management device 4c in the saved state. After the software 1c is generated and started by starting the software management device 4c, the software 1c is deleted after waiting for completion. Etc., it becomes difficult to analyze the program, etc., and the security function is enhanced.

尚、本発明のインストーラ、インストーラ生成装置の1実施の形態としての第3の実施の形態において、以下の(1)〜(7)に箇条書きにて示すようにしてもよい。   In the third embodiment as one embodiment of the installer and the installer generating apparatus of the present invention, the following (1) to (7) may be indicated by itemized items.

(1)ソフトウエアは、ソフトウエア管理装置4cまでを含めてソフトウエアとしてもよいし、しなくてもよい。   (1) The software may or may not be software including the software management device 4c.

(2)また、第3の実施の形態においては、MACアドレスの組み込みは、インストーラ2cのMACアドレス組込部22cにより、一括してソフトウエア管理装置4c、ソフトウエア1cのMACアドレス格納領域41c、11cに組み込むようにしたが、ソフトウエア管理装置4c、及び/又はソフトウエア1cの其々の内部にMACアドレス自身組込部を設け、ソフトウエア管理装置4c、及び/又はソフトウエア1cの初回起動時にMACアドレスを自身の実行体のMACアドレス格納領域41c、及び/又は11cにバイナリの状態で書き込むようにしてもよい。MACアドレス自身書込部を設けるソフトウエアと設けないソフトウエアとを含んだ構成とした場合は、MACアドレス自身書込部を設けないソフトウエアを生成するソフトウエア側に、MACアドレス自身書込部を設けないソフトウエアのMACアドレス格納領域にMACアドレスを組み込むMACアドレス組込部を設ける構成となる。   (2) Further, in the third embodiment, the MAC address is incorporated by the MAC address incorporation unit 22c of the installer 2c all at once by the software management apparatus 4c and the MAC address storage area 41c of the software 1c, 11c, but the software management device 4c and / or the software 1c is provided with a built-in MAC address, and the software management device 4c and / or the software 1c is activated for the first time. Sometimes the MAC address may be written in a binary state in the MAC address storage area 41c and / or 11c of its execution body. If the configuration includes software that provides the MAC address writing unit and software that does not provide the MAC address writing unit, the MAC address writing unit is generated on the software side that generates the software that does not provide the MAC address writing unit. The MAC address built-in unit for incorporating the MAC address into the MAC address storage area of the software that does not provide

(3)また、第3の実施の形態において、提供されたソフトウエア1cに対して、ソフトウエア1cに自動的にMACアドレス格納領域11cとMACアドレス比較判定部13cとMACアドレス取得部19cを組み込むような構成としてもよい。この場合、ソフトウエア1cをソフトウエア管理装置4cのソフトウエア格納領域40cに格納する際に、自動的にMACアドレス格納領域11cとMACアドレス比較判定部13cとMACアドレス取得部19cをソフトウエア1cの実行体にバイナリの状態で組み込むようにする(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   (3) In the third embodiment, the MAC address storage area 11c, the MAC address comparison / determination unit 13c, and the MAC address acquisition unit 19c are automatically incorporated into the software 1c in the provided software 1c. It is good also as such a structure. In this case, when the software 1c is stored in the software storage area 40c of the software management device 4c, the MAC address storage area 11c, the MAC address comparison / determination unit 13c, and the MAC address acquisition unit 19c are automatically set in the software 1c. It is incorporated in the execution body in a binary state (this incorporation method is the same as the machine language code incorporation apparatus and method of the embodiment of the present invention shown in FIG. 9).

(4)また、以上においては、第3の実施の形態は図2に示す(構成3)の被生成ソフトウエア1に、図2に示す(構成3)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ実施例であるが、図2に示す(構成1)から(構成5)の其々の被生成ソフトウエア生成ソフトウエア2において、被生成ソフトウエア及び/又は被生成ソフトウエア生成ソフトウエア2に(構成1)から(構成5)の其々のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ構成としてもよく、また、インストーラ生成装置5cもその構成に対応する構成としてもよい。   (4) Also, in the above, the third embodiment is the only software 1 operation permission software of the pattern of (configuration 3) shown in FIG. 2 in the generated software 1 of (configuration 3) shown in FIG. FIG. 2 shows an example in which the software management device 7 is incorporated. In each of the generated software generation software 2 shown in FIG. 2 (configuration 1) to (configuration 5), the generated software and / or the generated software The software generation software 2 may have a configuration in which one electronic device unique operation permission software management device 7 having each pattern of (configuration 1) to (configuration 5) is incorporated, and the installer generation device 5c is also included in the configuration. A corresponding configuration may be used.

(5)また、(4)の場合に、格納するソフトウエア及び/又はMACアドレスを暗号化して格納するようにし、読み出す場合、復号化するようにしてもよい。   (5) In the case of (4), the software and / or MAC address to be stored may be encrypted and stored, and when read, it may be decrypted.

このようにすれば、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   In this way, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

(6)また、第3の実施の形態においては、コンピュータに固有の指標としてMACアドレスを使用したが、コンピュータに固有の指標であればどのようなものでもよい。   (6) In the third embodiment, the MAC address is used as an index unique to the computer, but any index unique to the computer may be used.

(7)また、第3の実施の形態においては、動作又はインストール対象をコンピュータとしたが、電子機器であればどのようなものでもよい。   (7) In the third embodiment, the operation or installation target is a computer, but any electronic device may be used.

本発明の1電子機器唯一動作許可インストーラ及び1電子機器唯一動作許可インストール方法(以下において、インストーラ及びインストール方法と略称する)、1電子機器唯一動作許可インストーラ管理装置及び方法(以下において、インストーラ管理装置及び方法と略称する)、1電子機器唯一動作許可ソフトウエア管理装置及び方法(以下において、ソフトウエア管理装置及び方法と略称する)、並びに1電子機器唯一動作許可インストーラ生成装置及び方法(以下において、インストーラ生成装置及び方法と略称する)の1実施の形態としての第4の実施の形態は図2に示す(構成3)の被生成ソフトウエア生成ソフトウエア2と被生成ソフトウエア生成ソフトウエア2の被生成ソフトウエア1の両方に、図2に示す(構成3)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ実施例であり、インストーラ生成装置もその実施例に対応した実施例である。尚、以下では、電子機器の一例としてコンピュータを使用し、電子機器に固有の指標としてMACアドレスを使用している。   1 electronic device unique operation permission installer and 1 electronic device unique operation permission installation method (hereinafter abbreviated as installer and installation method) 1 electronic device unique operation permission installer management device and method (hereinafter referred to as installer management device) 1 electronic device unique operation permission software management device and method (hereinafter abbreviated as software management device and method), and 1 electronic device unique operation permission installer generation device and method (hereinafter referred to as “software management device and method”). The fourth embodiment of the present invention (abbreviated as “installer generating apparatus and method”) includes a generated software generating software 2 and a generated software generating software 2 (configuration 3) shown in FIG. Both of the generated software 1 have the configuration (configuration 3) shown in FIG. An embodiment incorporating 1 electronic device only operation permitted software management apparatus 7 of the over emissions, the installer generator also an embodiment corresponding to the embodiment. In the following, a computer is used as an example of an electronic device, and a MAC address is used as an index unique to the electronic device.

本発明のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法の1実施の形態としての第4の実施の形態を図7を用いて説明する。   A fourth embodiment as an embodiment of the installer and installation method, installer management apparatus and method, software management apparatus and method, and installer generation apparatus and method of the present invention will be described with reference to FIG.

本発明の第4の実施の形態のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法は、第1から第3の実施の形態が合わさった構成をしており、第1の実施の形態に、さらに、ソフトウエア管理装置4dが追加され、ソフトウエア1dがソフトウエア管理装置4dに組み込まれ、ソフトウエア管理装置4dがインストーラ2dにソフトウエア管理装置組込器120dにより組み込まれた構成となっており、ソフトウエア管理装置4dが生成し、起動したソフトウエア1dは、その終了を待って削除される構成となっている。また、さらに、インストーラ管理装置3dが追加され、インストーラ2dがインストーラ管理装置3dにインストーラ組込器110dにより組み込まれた構成となっており、ソフトウエア管理装置4dが生成し、起動したソフトウエア1dは、その終了を待って削除される構成となっている。   The installer and installation method, the installer management apparatus and method, the software management apparatus and method, and the installer generation apparatus and method of the fourth embodiment of the present invention have a configuration in which the first to third embodiments are combined. In addition, a software management device 4d is further added to the first embodiment, the software 1d is incorporated into the software management device 4d, and the software management device 4d is installed in the installer 2d as a software management device group. The software 1d generated by the software management device 4d and activated is deleted after waiting for its completion. Further, an installer management device 3d is added, and the installer 2d is incorporated in the installer management device 3d by the installer embedder 110d. The software 1d generated and started by the software management device 4d is It is configured to be deleted after the end.

本発明のインストーラ、ソフトウエア管理装置、及びインストーラ管理装置、インストーラ生成装置の1実施の形態としての第4の実施の形態の構成について以下に説明する。   The configuration of the fourth embodiment as one embodiment of the installer, software management device, installer management device, and installer generation device of the present invention will be described below.

インストーラ2dは、ソフトウエア1dが組み込まれたソフトウエア管理装置4dと、ソフトウエア管理装置4dが組み込まれたインストーラ2dと、インストーラ2dが組み込まれたインストーラ管理装置3dとから大略構成されている。   The installer 2d is roughly composed of a software management device 4d in which the software 1d is incorporated, an installer 2d in which the software management device 4d is incorporated, and an installer management device 3d in which the installer 2d is incorporated.

以下に、インストーラ2dの各構成について詳細に説明する   Hereinafter, each component of the installer 2d will be described in detail.

ソフトウエア1dは、第1の実施の形態と同様に、MACアドレスを取得するMACアドレス取得部19dと、MACアドレスを格納する為のMACアドレス格納領域11dと、起動時に取得するMACアドレスとMACアドレス格納領域11dに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続する判定を行うMACアドレス比較判定部13dとが組み込まれている。   As in the first embodiment, the software 1d includes a MAC address acquisition unit 19d that acquires a MAC address, a MAC address storage area 11d that stores a MAC address, and a MAC address and a MAC address that are acquired at startup. A MAC address comparison / determination unit 13d that compares the MAC address stored in the storage area 11d and determines that the activation is continued only when they match is incorporated.

また、ソフトウエア管理装置4dは、MACアドレスを取得するMACアドレス取得部49dと、ソフトウエア1dを格納する為のソフトウエア格納領域40dと、MACアドレスを格納するMACアドレス格納領域41dと、起動時に取得したMACアドレスとMACアドレス格納領域41dに格納しているMACアドレスとを比較するMACアドレス比較判定部43dと、ソフトウエア格納領域40dに格納されているソフトウエア1dを生成するソフトウエア生成部44dと、生成されたソフトウエア1dを起動するソフトウエア起動部47dと、ソフトウエア1dの終了を待ってソフトウエア1dを削除する終了時削除部48dとから構成されている。   The software management device 4d also includes a MAC address acquisition unit 49d that acquires a MAC address, a software storage area 40d that stores software 1d, a MAC address storage area 41d that stores MAC addresses, and a startup time. A MAC address comparison / determination unit 43d that compares the acquired MAC address with the MAC address stored in the MAC address storage area 41d, and a software generation unit 44d that generates the software 1d stored in the software storage area 40d. And a software activation unit 47d that activates the generated software 1d, and an end-time deletion unit 48d that waits for the software 1d to end and deletes the software 1d.

また、インストーラ2dは、MACアドレスを取得するMACアドレス取得部29dと、ソフトウエア管理装置4dを格納する為のソフトウエア管理装置格納領域20dと、MACアドレスを格納するMACアドレス格納領域21dと、起動時に取得したMACアドレスとMACアドレス格納領域21dに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続し、一致しなければインストーラ2dを終了させるMACアドレス比較判断部23dと、ソフトウエア管理装置格納領域20dに格納されているソフトウエア管理装置4dを生成するソフトウエア管理装置生成部24dとから構成されている。   The installer 2d also includes a MAC address acquisition unit 29d that acquires a MAC address, a software management device storage area 20d that stores the software management device 4d, a MAC address storage area 21d that stores a MAC address, and an activation A MAC address comparison / determination unit 23d that compares the MAC address acquired at the time with the MAC address stored in the MAC address storage area 21d and continues activation only when they match, and ends the installer 2d when they do not match; The software management device generation unit 24d generates the software management device 4d stored in the software management device storage area 20d.

また、インストーラ管理装置3dは、MACアドレスを取得するMACアドレス取得部39dと、インストーラ2dを格納する為のインストーラ格納領域30dと、MACアドレスを格納する為のMACアドレス格納領域31dと、初回起動時取得したMACアドレスを自身の実行体のMACアドレス格納領域31dにバイナリの状態で書き込むMACアドレス自身書込部36dと、初回起動時取得したMACアドレスをインストーラ格納領域30dに格納されているインストーラ2d、ソフトウエア管理装置4d、ソフトウエア1dに格納されているMACアドレス格納領域21d、MACアドレス格納領域41d、MACアドレス格納領域11dにMACアドレスを組み込むMACアドレス組込部32dと、インストーラ2dを生成するインストーラ生成部34dと、生成されたインストーラ2dを起動するインストーラ起動部37dと、インストーラ2dの終了を待ってインストーラ2dを削除する終了時削除部38dとから構成されている。   The installer management apparatus 3d also includes a MAC address acquisition unit 39d that acquires a MAC address, an installer storage area 30d that stores an installer 2d, a MAC address storage area 31d that stores a MAC address, and an initial startup time. A MAC address self-writing unit 36d that writes the acquired MAC address in a binary state in the MAC address storage area 31d of its own execution body, and an installer 2d that stores the MAC address acquired at the first activation in the installer storage area 30d, The software management device 4d, the MAC address storage area 21d stored in the software 1d, the MAC address storage area 41d, the MAC address incorporation unit 32d for incorporating the MAC address into the MAC address storage area 11d, and the installer 2d are generated. And the installer generation unit 34d, and the installer start-up unit 37d to start the generated installer 2d, it is composed of a at the end of deleting section 38d to remove the installer 2d waiting for the end of the installer 2d.

本発明の第4の実施の形態のインストーラ生成装置の構成について以下に説明する。   The configuration of the installer generation apparatus according to the fourth embodiment of the present invention will be described below.

本発明の第4の実施の形態のインストーラ生成装置5dは、インストーラ2dと、インストーラ管理装置3dと、ソフトウエア1dをソフトウエア管理装置4dに組み込む為のソフトウエア組込器100dと、ソフトウエア管理装置4dをインストーラ2dに組み込む為のソフトウエア管理装置組込器120dと、インストーラ2dをインストーラ管理装置3dに組み込む為のインストーラ組込器110dとから構成されている。尚、ソフトウエア1dのMACアドレス比較判定部13dとMACアドレス格納領域11dとMACアドレス取得部19dを含んでインストーラ生成装置5dとしてもよい。この場合、ソフトウエア1dをソフトウエア管理装置4dのソフトウエア格納領域40dに格納する際に、MACアドレス比較判定部13dとMACアドレス格納領域11dとMACアドレス取得部19dを自動的にソフトウエア管理装置4dにバイナリの状態で組み込む構成となる(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   The installer generation device 5d of the fourth embodiment of the present invention includes an installer 2d, an installer management device 3d, a software embedder 100d for incorporating the software 1d into the software management device 4d, and software management. A software management device built-in device 120d for incorporating the device 4d into the installer 2d and an installer built-in device 110d for incorporating the installer 2d into the installer management device 3d are configured. The installer generation device 5d may include the MAC address comparison / determination unit 13d, the MAC address storage area 11d, and the MAC address acquisition unit 19d of the software 1d. In this case, when the software 1d is stored in the software storage area 40d of the software management device 4d, the MAC address comparison / determination unit 13d, the MAC address storage region 11d, and the MAC address acquisition unit 19d are automatically set in the software management device. 4d is incorporated in a binary state (this incorporation method is the same as the machine language code incorporation apparatus and method of the embodiment of the present invention shown in FIG. 9).

次に、本発明の第4の実施の形態のインストーラ生成装置の動作及びインストーラ生成方法について説明する。   Next, the operation of the installer generation apparatus and the installer generation method according to the fourth embodiment of the present invention will be described.

提供されたソフトウエア1dがソフトウエア組込器100dによりソフトウエア管理装置4dのソフトウエア格納領域40dに格納される。ソフトウエア管理装置4dは、ソフトウエア管理装置組込器120dによりインストーラ2dのソフトウエア管理装置格納領域20dに組み込まれる。インストーラ2dは、インストーラ組込器110dによりインストーラ管理装置3dのインストーラ格納領域30dに格納される。   The provided software 1d is stored in the software storage area 40d of the software management device 4d by the software embedder 100d. The software management device 4d is incorporated into the software management device storage area 20d of the installer 2d by the software management device incorporation unit 120d. The installer 2d is stored in the installer storage area 30d of the installer management device 3d by the installer embedder 110d.

次に、本発明の第4の実施の形態のインストーラの動作及びインストール方法、並びにインストーラ管理装置及び方法について説明する。   Next, an installer operation and installation method, and an installer management apparatus and method according to the fourth embodiment of the present invention will be described.

インストーラ管理装置3dが起動されると、初回起動時、MACアドレスが取得され、MACアドレス自身書込部36dにより、自身の実行体のMACアドレス格納領域31dにバイナリの状態で書き込まれる。そして、MACアドレス比較判定部33dにより、MACアドレス格納領域31dに格納されているMACアドレスと起動時に取得したMACアドレスが一致するかどうかが判断され、MACアドレスが一致した場合、動作を継続し、一致しない場合、終了する。そして、インストーラ格納領域30dに格納されているインストーラ2dの内部のMACアドレス格納領域11d,41d,21dに、MACアドレス組込部32dにより、MACアドレスが組み込まれる。MACアドレスが組み込まれたインストーラ2dは、インストーラ生成部34dにより生成される。生成されたインストーラ2dは、インストーラ起動部37dにより起動される。   When the installer management apparatus 3d is activated, the MAC address is acquired at the first activation, and is written in the MAC address storage area 31d of its execution body in a binary state by the MAC address writing unit 36d. Then, the MAC address comparison / determination unit 33d determines whether or not the MAC address stored in the MAC address storage area 31d matches the MAC address acquired at the time of activation. If the MAC addresses match, the operation is continued. If not, exit. Then, the MAC address incorporating unit 32d incorporates the MAC address into the MAC address storage areas 11d, 41d, and 21d inside the installer 2d stored in the installer storage area 30d. The installer 2d incorporating the MAC address is generated by the installer generation unit 34d. The generated installer 2d is activated by the installer activation unit 37d.

起動したインストーラ2dは、MACアドレス比較判定部23dにより、MACアドレス取得部29dにより取得したMACアドレスと、MACアドレス格納領域21dに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続し、一致しなければ、インストールを終了する。   The activated installer 2d compares the MAC address acquired by the MAC address acquisition unit 29d with the MAC address stored in the MAC address storage area 21d by the MAC address comparison / determination unit 23d, and starts only when they match. If it does not match, the installation is terminated.

この為、最初にインストールした1台のコンピュータ以外では、インストーラ2dを動作させることができない為、インストールした1台のコンピュータ以外では、インストールを行うことができなくできる。   For this reason, since the installer 2d cannot be operated except for the one computer that is installed first, the installation cannot be performed except for the one computer that is installed.

ソフトウエア管理装置格納領域20dに格納されているソフトウエア管理装置4dは、ソフトウエア管理装置生成部24dにより生成される。インストーラ管理装置3dの終了時削除部38dは、インストーラ2dの終了を待ち、終了後、インストーラ2dを削除する。   The software management device 4d stored in the software management device storage area 20d is generated by the software management device generation unit 24d. The end deletion unit 38d of the installer management device 3d waits for the end of the installer 2d, and deletes the installer 2d after the end.

この為、インストーラ2dは、動作時のみ生成され、保存状態では、ソフトウエア管理装置組込器120dに組み込まれている為、逆アセンブル等のプログラム解析等が困難となり、セキュリティ機能が高まる。   For this reason, the installer 2d is generated only at the time of operation, and is stored in the software management apparatus built-in unit 120d in the saved state, so that it becomes difficult to perform program analysis such as disassembly, and the security function is enhanced.

ソフトウエア管理装置4dが起動すると、MACアドレス取得部49dによりMACアドレスが取得され、MACアドレス比較判定部43dにより、取得されたMACアドレスとMACアドレス格納領域41dに格納されているMACアドレスとが比較され、一致した場合にのみ、起動動作が継続され、不一致の場合、ソフトウエア管理装置4dを終了する。一致した場合、ソフトウエア格納領域40dに格納されているソフトウエア1dは、ソフトウエア生成部44dにより生成され、ソフトウエア起動部47dによりソフトウエア1dが起動される。   When the software management device 4d is activated, the MAC address acquisition unit 49d acquires the MAC address, and the MAC address comparison determination unit 43d compares the acquired MAC address with the MAC address stored in the MAC address storage area 41d. Only when they match, the activation operation is continued, and when they do not match, the software management device 4d is terminated. If they match, the software 1d stored in the software storage area 40d is generated by the software generation unit 44d, and the software activation unit 47d activates the software 1d.

ソフトウエア1dは起動すると、MACアドレス取得部19dによりMACアドレスを取得し、MACアドレス比較判定部13dにより、取得したMACアドレスと、MACアドレス格納領域11dに格納されているMACアドレスとを比較し、一致した場合にのみ、ソフトウエア1dは動作を継続し、不一致の場合、ソフトウエア1dは終了する。   When the software 1d is activated, the MAC address acquisition unit 19d acquires the MAC address, the MAC address comparison determination unit 13d compares the acquired MAC address with the MAC address stored in the MAC address storage area 11d, Only when they match, the software 1d continues to operate, and when they do not match, the software 1d ends.

この為、最初にインストールした1台のコンピュータ以外では、ソフトウエア1dを動作させることができない為、インストールした1台のコンピュータ以外では、ソフトウエア1dを起動させなくすることができる。   For this reason, since the software 1d cannot be operated except for the one computer installed first, the software 1d can be prevented from starting other than the one installed computer.

ソフトウエア管理装置4dの終了時削除部48dは、ソフトウエア1dの終了を待ち、終了後、ソフトウエア1dを削除する。   The deletion unit 48d at the end of the software management device 4d waits for the end of the software 1d, and deletes the software 1d after the end.

この為、ソフトウエア1dは、動作時のみ生成され、保存状態では、ソフトウエア管理装置4dに組み込まれている為、逆アセンブル等のプログラム解析等が困難となり、セキュリティ機能が高まる。   For this reason, the software 1d is generated only at the time of operation, and is stored in the software management device 4d in the storage state, so that it becomes difficult to analyze the program such as disassembly, and the security function is enhanced.

以上のように、本実施の形態のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法の1実施の形態としての第5の実施の形態によれば、インストール時にMACアドレスを組み込む為、インストールしたコンピュータ以外のコンピュータでは、インストール及びソフトウエアの起動が行えなくすることができる。また、ソフトウエア及びインストーラが保存状態ではソフトウエア管理装置及びインストーラ管理装置に組み込まれている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   As described above, according to the fifth embodiment as one embodiment of the installer and the installation method, the installer management apparatus and method, the software management apparatus and method, and the installer generation apparatus and method of the present embodiment. Since the MAC address is incorporated at the time of installation, installation and software activation can be disabled on computers other than the installed computer. In addition, since the software and the installer are incorporated in the software management apparatus and the installer management apparatus in the saved state, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

尚、本発明のインストーラ、インストーラ生成装置の1実施の形態としての第4の実施の形態において、以下の(1)〜(8)に箇条書きにて示すようにしてもよい。   In the fourth embodiment as one embodiment of the installer and the installer generating apparatus of the present invention, the following (1) to (8) may be indicated by items.

(1)インストーラは、インストーラ管理装置3dまでを含めてインストーラとしてもよいし、しなくてもよい。   (1) The installer may or may not be an installer including the installer management device 3d.

(2)また、ソフトウエアは、ソフトウエア管理装置4dまでを含めてソフトウエアとしてもよいし、しなくてもよい。   (2) The software may or may not be software including the software management device 4d.

(3)また、第4の実施の形態においては、MACアドレスの組み込みは、インストーラ管理装置3dのMACアドレス組込部32dにより、一括してインストーラ2d、ソフトウエア管理装置4d、ソフトウエア1のMACアドレス格納領域31d、21d、41d、11dに組み込むようにしたが、インストーラ2d、ソフトウエア管理装置4d、及び/又はソフトウエア1の内部にMACアドレス自身書込部を其々設け、インストーラ2d、ソフトウエア管理装置4d、ソフトウエア1dの初回起動時にMACアドレスを自身の実行体のMACアドレス格納領域にバイナリの状態で書き込むようにしてもよい。MACアドレス自身書込部を設けるソフトウエアと設けないソフトウエアとを含んだ構成とした場合は、MACアドレス自身書込部を設けないソフトウエアを生成するソフトウエア側に、MACアドレス自身書込部を設けないソフトウエアのMACアドレス格納領域にMACアドレスを組み込むMACアドレス組込部を設ける構成となる。   (3) In the fourth embodiment, the MAC address is incorporated by the MAC address incorporation unit 32d of the installer management apparatus 3d all at once in the installer 2d, the software management apparatus 4d, and the software 1 MAC. The address storage areas 31d, 21d, 41d, and 11d are incorporated, but the installer 2d, the software management device 4d, and / or the software 1 is provided with a MAC address writing unit, respectively. When the software management device 4d and software 1d are first activated, the MAC address may be written in a binary state in the MAC address storage area of its execution body. In the case of a configuration including software that provides the MAC address writing unit and software that does not provide the MAC address writing unit, the MAC address writing unit is generated on the software side that generates software that does not provide the MAC address writing unit. The MAC address built-in unit for incorporating the MAC address into the MAC address storage area of the software that does not provide

(4)また、第4の実施の形態において、提供されたソフトウエアに対して、ソフトウエア11dに自動的にMACアドレス格納領域11dとMACアドレス比較判定部13dとMACアドレス取得部19dを組み込むような構成としてもよい。この場合、ソフトウエア1dをソフトウエア管理装置4dのソフトウエア格納領域40dに格納する際に、MACアドレス比較判定部13dとMACアドレス格納領域11dとMACアドレス取得部19dを自動的にソフトウエア管理装置4dの実行体にバイナリの状態で組み込む構成となる(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   (4) Further, in the fourth embodiment, the MAC address storage area 11d, the MAC address comparison / determination unit 13d, and the MAC address acquisition unit 19d are automatically incorporated in the software 11d in the provided software. It is good also as a simple structure. In this case, when the software 1d is stored in the software storage area 40d of the software management device 4d, the MAC address comparison / determination unit 13d, the MAC address storage region 11d, and the MAC address acquisition unit 19d are automatically set in the software management device. It is configured to be incorporated into the execution body of 4d in a binary state (this incorporation method is the same as the machine language code embedding device and method of the embodiment of the present invention shown in FIG. 9).

(5)また、第4の実施の形態においては、図2に示す(構成3)の被生成ソフトウエア生成ソフトウエア2と被生成ソフトウエア生成ソフトウエア2の被生成ソフトウエア1の両方に、図2に示す(構成3)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ実施例とし、インストーラ生成装置もその実施例に対応した実施例としたが、図2に示す(構成1)から(構成5)の其々の被生成ソフトウエア生成ソフトウエア2において、被生成ソフトウエア及び/又は被生成ソフトウエア生成ソフトウエア2に(構成1)から(構成5)の其々のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ構成としてもよく、また、インストーラ生成装置5dもその構成に対応する構成としてもよい。   (5) In the fourth embodiment, both the generated software generation software 2 and the generated software 1 of the generated software generation software 2 shown in FIG. In the embodiment in which the electronic device unique operation permission software management device 7 having the pattern (configuration 3) shown in FIG. 2 is incorporated, and the installer generation device is also an embodiment corresponding to the embodiment, FIG. In each of the generated software generation software 2 of configurations 1) to (configuration 5), each of the generated software and / or generated software generation software 2 is changed from (configuration 1) to (configuration 5). It is also possible to adopt a configuration in which the one-electronic-device-only operation-permitted software management device 7 having this pattern is incorporated, and the installer generation device 5d may also have a configuration corresponding to the configuration.

(6)また、(5)の場合に、格納するソフトウエア及び/又はMACアドレスを暗号化して格納するようにし、読み出す場合、復号化するようにしてもよい。   (6) In the case of (5), the software and / or MAC address to be stored may be encrypted and stored, and when read, it may be decrypted.

このようにすれば、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   In this way, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

(7)また、第4の実施の形態においては、コンピュータに固有の指標としてMACアドレスを使用したが、コンピュータに固有の指標であればどのようなものでもよい。   (7) In the fourth embodiment, the MAC address is used as an index unique to the computer, but any index unique to the computer may be used.

(8)また、第4の実施の形態においては、動作又はインストール対象をコンピュータとしたが、電子機器であればどのようなものでもよい。   (8) In the fourth embodiment, the operation or installation target is a computer, but any electronic device may be used.

本発明の1電子機器唯一動作許可インストーラ及び1電子機器唯一動作許可インストール方法(以下においては、インストーラ及びインストール方法と略称する)、1電子機器唯一動作許可インストーラ管理装置及び方法(以下においては、インストーラ管理装置及び方法と略称する)、1電子機器唯一動作許可ソフトウエア管理装置及び方法(以下においては、ソフトウエア管理装置及び方法と略称する)、並びに1電子機器唯一動作許可インストーラ生成装置及び方法(以下においては、インストーラ生成装置及び方法と略称する)の1実施の形態としての第5の実施の形態は図2に示す(構成3)の被生成ソフトウエア生成ソフトウエア2と被生成ソフトウエア生成ソフトウエア2の被生成ソフトウエア1の両方に、図2に示す(構成3)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込み、組み込んだソフトウエア及びMACアドレスが暗号化されている実施例であり、インストーラ生成装置もそれに対応した構成となっている実施例である。尚、以下では、電子機器の一例としてコンピュータを使用し、電子機器に固有の指標としてMACアドレスを使用している。   1 electronic device only operation permission installer and 1 electronic device only operation permission installation method (hereinafter abbreviated as installer and installation method) 1 electronic device only operation permission installer management apparatus and method (hereinafter referred to as installer) Abbreviated as management device and method) 1 electronic device unique operation permission software management device and method (hereinafter abbreviated as software management device and method), and 1 electronic device unique operation permission installer generation device and method ( In the following, the fifth embodiment as an embodiment of the installer generation apparatus and method is a generated software generation software 2 and generated software generation (configuration 3) shown in FIG. Both of the generated software 1 of the software 2 are shown in FIG. (1) An electronic device unique operation-permitted software management device 7 with a pattern of) is incorporated, the incorporated software and the MAC address are encrypted, and the installer generation device has a configuration corresponding thereto. It is. In the following, a computer is used as an example of an electronic device, and a MAC address is used as an index unique to the electronic device.

本発明のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法の1実施の形態としての第5の実施の形態を図8を用いて説明する。   A fifth embodiment as an embodiment of the installer and installation method, installer management apparatus and method, software management apparatus and method, and installer generation apparatus and method of the present invention will be described with reference to FIG.

本発明の第5の実施の形態のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法は、第1の実施の形態に、さらに、ソフトウエア管理装置4e及びインストーラ管理装置3eが追加され、ソフトウエア1eがソフトウエア管理装置4eに組み込まれ、ソフトウエア管理装置4eがインストーラ2eにソフトウエア管理装置組込器120eにより組み込まれた構成となっており、インストーラ2eがインストーラ管理装置3eに組み込まれた構成となっており、インストーラ管理装置3eが生成し、起動したインストーラ2eは、その終了を待って削除される構成となっており、また、ソフトウエア管理装置4eが生成し、起動したソフトウエア1eは、その終了を待って削除される構成となっている。また、ソフトウエア1e、ソフトウエア管理装置4e、インストーラ2eは暗号化された状態で格納されており、生成時又は読み出し時にそれぞれ復号化されて生成又は読み出される。   An installer and installation method, an installer management apparatus and method, a software management apparatus and method, and an installer generation apparatus and method according to a fifth embodiment of the present invention are the same as those in the first embodiment. 4e and the installer management device 3e are added, the software 1e is incorporated in the software management device 4e, and the software management device 4e is incorporated in the installer 2e by the software management device incorporation unit 120e. The installer 2e is configured to be incorporated in the installer management device 3e, and the installer 2e generated and activated by the installer management device 3e is deleted after its completion, and software management The software 1e generated and activated by the device 4e is: It is configured to be deleted after the end. The software 1e, the software management device 4e, and the installer 2e are stored in an encrypted state, and are decrypted and generated or read at the time of generation or reading.

本発明のインストーラ及びインストーラ管理装置の1実施の形態としての第5の実施の形態の構成について以下に説明する。   The configuration of the fifth embodiment as one embodiment of the installer and the installer management device of the present invention will be described below.

ソフトウエア1eは、第1の実施の形態と同様に、MACアドレスを取得するMACアドレス取得部19eと、MACアドレスを格納する為のMACアドレス格納領域11eと、起動時に取得するMACアドレスとMACアドレス格納領域11eに格納されているMACアドレスとを比較し、起動を継続するかどうかの判定を行い、一致した場合にのみ起動を継続するMACアドレス比較判定部13eとが組み込まれた構成となっている。   As in the first embodiment, the software 1e includes a MAC address acquisition unit 19e that acquires a MAC address, a MAC address storage area 11e that stores a MAC address, and a MAC address and a MAC address that are acquired at startup. The MAC address stored in the storage area 11e is compared to determine whether or not to continue activation, and a MAC address comparison / determination unit 13e that continues activation only when they match is incorporated. Yes.

また、ソフトウエア管理装置4eは、MACアドレスを取得するMACアドレス取得部49eと、暗号化されたソフトウエア1eを格納する為のソフトウエア格納領域40eと、MACアドレスを格納するMACアドレス格納領域41eと、起動時に取得したMACアドレスとMACアドレス格納領域41eに格納しているMACアドレスとを比較するMACアドレス比較判定部43eと、ソフトウエア格納領域40eに格納されているソフトウエア1eを復号化するソフトウエア復号部45eと、復号化されたソフトウエア1eを生成するソフトウエア生成部44eと、生成されたソフトウエア1eを起動するソフトウエア起動部47eとから構成されている。   The software management device 4e also includes a MAC address acquisition unit 49e that acquires a MAC address, a software storage area 40e that stores the encrypted software 1e, and a MAC address storage area 41e that stores the MAC address. And the MAC address comparison / determination unit 43e that compares the MAC address acquired at startup with the MAC address stored in the MAC address storage area 41e, and the software 1e stored in the software storage area 40e The software decoding unit 45e includes a software generation unit 44e that generates the decoded software 1e, and a software activation unit 47e that activates the generated software 1e.

また、インストーラ2eは、MACアドレスを取得するMACアドレス取得部29eと、ソフトウエア管理装置4eを格納する為のソフトウエア管理装置格納領域20eと、MACアドレスを格納するMACアドレス格納領域21eと、起動時に取得したMACアドレスとMACアドレス格納領域21eに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続させ、一致しなければインストーラ2eを終了させるMACアドレス比較判定部23eと、ソフトウエア管理装置格納領域20eに暗号化されて格納されているソフトウエア管理装置4eを復号化させるソフトウエア管理装置復号部25eと、ソフトウエア管理装置4eを生成するソフトウエア管理装置生成部24eとから構成されている。   The installer 2e also includes a MAC address acquisition unit 29e that acquires a MAC address, a software management device storage area 20e that stores the software management device 4e, a MAC address storage area 21e that stores a MAC address, and an activation A MAC address comparison / determination unit 23e that compares the MAC address acquired at the time with the MAC address stored in the MAC address storage area 21e, continues the activation only when they match, and terminates the installer 2e if they do not match, A software management device decrypting unit 25e for decrypting the software management device 4e encrypted and stored in the software management device storage area 20e; a software management device generating unit 24e for generating the software management device 4e; It is composed of

また、インストーラ管理装置3eは、MACアドレスを取得するMACアドレス取得部39eと、インストーラ2eを暗号化して格納する為のインストーラ格納領域30eと、MACアドレスを格納する為のMACアドレス格納領域31eと、暗号化されているインストーラ2eを復号化するインストーラ復号部35eと、初回起動時取得したMACアドレスを自身の実行体のMACアドレス格納領域31eにバイナリの状態で組み込むMACアドレス自身書込部36eと、初回起動時取得したMACアドレスをインストーラ格納領域30eに格納されているインストーラ2e、ソフトウエア管理装置4e、ソフトウエア1eに格納されているMACアドレス格納領域21e、MACアドレス格納領域41e、MACアドレス格納領域11eにMACアドレスを組み込むMACアドレス組込部32eと、インストーラ2eを生成するインストーラ生成部34eと、生成されたインストーラを起動するインストーラ起動部37eとから構成されている。   In addition, the installer management device 3e includes a MAC address acquisition unit 39e for acquiring a MAC address, an installer storage area 30e for encrypting and storing the installer 2e, a MAC address storage area 31e for storing the MAC address, An installer decrypting unit 35e that decrypts the encrypted installer 2e, a MAC address self-writing unit 36e that incorporates the MAC address acquired at the first activation in the MAC address storage area 31e of its execution body in a binary state, The installer 2e stored in the installer storage area 30e, the MAC address storage area 21e stored in the software 1e, the MAC address storage area 41e, the MAC address storage area 41e, the MAC address storage area 11e A MAC address embedded portion 32e incorporating MAC address, and installers generator 34e for generating the installer 2e, is composed of a Launch Installer portion 37e for starting the generated installer.

本発明の第5の実施の形態のインストーラ生成装置の構成について以下に説明する。   The configuration of the installer generation apparatus according to the fifth embodiment of the present invention will be described below.

本発明の第5の実施の形態のインストーラ生成装置は、インストーラ2eと、インストーラ管理装置3eと、ソフトウエア1eを暗号化してソフトウエア管理装置4eに組み込む為のソフトウエア組込器100eと、ソフトウエア管理装置4eを暗号化してインストーラ2eに組み込む為のソフトウエア管理装置組込器120eと、インストーラ2eを暗号化してインストーラ管理装置3eに組み込む為のインストーラ組込器110eとから構成されている。尚、ソフトウエア1eのMACアドレス比較判定部13eとMACアドレス格納領域11eとMACアドレス取得部19eとを含んでインストーラ生成装置5eとしてもよい。この場合、ソフトウエア1eをソフトウエア管理装置4eのソフトウエア格納領域40eに格納する際に、自動的にMACアドレス比較判定部13eとMACアドレス格納領域11eとMACアドレス取得部19eをソフトウエア1eの実行体にバイナリの状態で組み込む構成となる(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   The installer generating apparatus according to the fifth embodiment of the present invention includes an installer 2e, an installer management apparatus 3e, a software embedder 100e for encrypting the software 1e and incorporating it into the software management apparatus 4e, A software management device embedded device 120e for encrypting the software management device 4e and incorporating it into the installer 2e, and an installer embedded device 110e for encrypting the installer 2e and incorporating it into the installer management device 3e. The installer generation device 5e may include the MAC address comparison / determination unit 13e, the MAC address storage area 11e, and the MAC address acquisition unit 19e of the software 1e. In this case, when the software 1e is stored in the software storage area 40e of the software management apparatus 4e, the MAC address comparison / determination unit 13e, the MAC address storage area 11e, and the MAC address acquisition unit 19e are automatically connected to the software 1e. It is configured to be incorporated into the execution body in a binary state (this incorporation method is the same as the machine language code incorporation apparatus and method of the embodiment of the present invention shown in FIG. 9).

次に、本発明の第5の実施の形態のインストーラ生成装置の動作及びインストーラ生成方法について説明する。   Next, the operation of the installer generation device and the installer generation method according to the fifth embodiment of the present invention will be described.

提供されたソフトウエア1eがソフトウエア組込器100eにより暗号化されてソフトウエア管理装置4eに格納される。ソフトウエア管理装置4eは、ソフトウエア管理装置組込器120eにより暗号化されてインストーラ2eに組み込まれる。インストーラ2eは、インストーラ組込器110eにより暗号化されてインストーラ管理装置3eのインストーラ格納領域30eに格納される。   The provided software 1e is encrypted by the software embedder 100e and stored in the software management device 4e. The software management device 4e is encrypted by the software management device built-in device 120e and incorporated into the installer 2e. The installer 2e is encrypted by the installer embedder 110e and stored in the installer storage area 30e of the installer management apparatus 3e.

次に、本発明の第5の実施の形態のインストーラの動作及びインストール方法、並びにインストーラ管理装置及び方法について説明する。   Next, an installer operation and installation method, and an installer management apparatus and method according to the fifth embodiment of the present invention will be described.

インストーラ管理装置3eが起動されると、初回起動時、MACアドレス取得部39eによりMACアドレスが取得され、MACアドレス自身書込部36eにより、自身の実行体のMACアドレス格納領域31eにバイナリの状態で書き込まれる。そして、MACアドレス比較判定部33eにより、MACアドレス格納領域31eに格納されているMACアドレスと起動時取得したMACアドレスが一致するかどうかが判断され、一致した場合にのみ、起動動作を継続し、一致しない場合、終了する。そして、インストーラ格納領域30eに暗号化されて格納されているインストーラ2eが、インストーラ復号器35eにより復号化される。復号化されたインストーラ2eの内部のMACアドレス格納領域11e,41e,21eに、MACアドレス組込部32eにより、MACアドレスが組み込まれる。MACアドレスが組み込まれたインストーラ2eは、インストーラ生成部34eにより生成される。生成されたインストーラ2eは、インストーラ起動部37eにより起動される。   When the installer management device 3e is activated, the MAC address is acquired by the MAC address acquisition unit 39e at the first activation, and the MAC address self-writing unit 36e stores the MAC address storage area 31e of its execution body in a binary state. Written. Then, the MAC address comparison / determination unit 33e determines whether or not the MAC address stored in the MAC address storage area 31e matches the MAC address acquired at the time of startup, and continues the startup operation only when they match, If not, exit. Then, the installer 2e encrypted and stored in the installer storage area 30e is decrypted by the installer decoder 35e. The MAC address incorporation unit 32e incorporates the MAC address into the MAC address storage areas 11e, 41e, and 21e inside the decrypted installer 2e. The installer 2e incorporating the MAC address is generated by the installer generation unit 34e. The generated installer 2e is activated by the installer activation unit 37e.

起動したインストーラ2eは、MACアドレス取得部29eによりMACアドレスが取得され、MACアドレス比較判定部23eにより、取得したMACアドレスと、MACアドレス格納領域21eに格納されているMACアドレスとを比較し、一致した場合にのみ起動を継続し、一致しなければ、インストールを終了する。   The activated installer 2e acquires the MAC address by the MAC address acquisition unit 29e, compares the acquired MAC address with the MAC address stored in the MAC address storage area 21e by the MAC address comparison / determination unit 23e, and matches. If it does not match, the installation is terminated.

この為、最初にインストールした1台のコンピュータ以外では、インストーラ2eを動作させることができない為、インストールした1台のコンピュータ以外では、インストールを行うことができなくすることできる。   For this reason, since the installer 2e cannot be operated except for the first computer that is installed first, the installation cannot be performed except for the one computer that is installed.

ソフトウエア管理装置格納領域20eに暗号化されて格納されているソフトウエア管理装置4eは、ソフトウエア管理装置復号部25eにより、復号化され、ソフトウエア管理装置生成部24eによりソフトウエア管理装置4eが生成される。インストーラ管理装置3eは、終了時削除部38eにより、インストーラ2eの終了を待ち、終了後、インストーラ2eを削除する。   The software management device 4e encrypted and stored in the software management device storage area 20e is decrypted by the software management device decryption unit 25e, and the software management device generation unit 24e executes the software management device 4e. Generated. The installer management apparatus 3e waits for the end of the installer 2e by the end-time deletion unit 38e, and deletes the installer 2e after the end.

この為、インストーラ2eは、動作時のみ生成され、保存状態では、ソフトウエア管理装置組込器120eに暗号化して組み込まれている為、逆アセンブル等のプログラム解析等が困難となり、セキュリティ機能が高まる。   For this reason, the installer 2e is generated only at the time of operation, and in the saved state, the installer 2e is encrypted and incorporated in the software management device built-in device 120e, so that it becomes difficult to analyze the program such as disassembly, and the security function is enhanced. .

ソフトウエア管理装置4eが起動すると、MACアドレス取得部49eによりMACアドレスが取得され、MACアドレス比較判定部43eにより、取得したMACアドレスとMACアドレス格納領域41eに格納されているMACアドレスとが比較され、一致した場合にのみ、起動動作が継続され、不一致の場合、ソフトウエア管理装置4eを終了する。一致した場合、ソフトウエア格納領域40eに格納されているソフトウエア1eがソフトウエア復号部45eにより復号化され、ソフトウエア生成部44eによりソフトウエア1eが生成され、ソフトウエア起動部47eによりソフトウエア1eが起動される。   When the software management device 4e is activated, the MAC address acquisition unit 49e acquires the MAC address, and the MAC address comparison / determination unit 43e compares the acquired MAC address with the MAC address stored in the MAC address storage area 41e. Only when they match, the activation operation is continued, and when they do not match, the software management device 4e is terminated. If they match, the software 1e stored in the software storage area 40e is decoded by the software decoding unit 45e, the software 1e is generated by the software generation unit 44e, and the software 1e is generated by the software activation unit 47e. Is activated.

ソフトウエア1eは起動すると、MACアドレス取得部19eによりMACアドレスが取得され、MACアドレス比較判定部13eにより、取得したMACアドレスと、MACアドレス格納領域11eに格納されているMACアドレスとが比較され、一致した場合にのみ、ソフトウエア1eは起動動作を継続し、不一致の場合、ソフトウエア1eは終了する。   When the software 1e is activated, the MAC address acquisition unit 19e acquires a MAC address, and the MAC address comparison determination unit 13e compares the acquired MAC address with the MAC address stored in the MAC address storage area 11e. Only when they match, the software 1e continues the startup operation, and when they do not match, the software 1e ends.

この為、最初にインストールした1台のコンピュータ以外では、ソフトウエア1eを動作させることができない為、インストールした1台のコンピュータ以外では、ソフトウエア1eを起動させることができなくすることができる。   For this reason, since the software 1e cannot be operated except for the one computer installed first, the software 1e cannot be activated except for the one installed computer.

ソフトウエア管理装置4eは、終了時削除部48eにより、ソフトウエア1eの終了を待ち、終了後、ソフトウエア1eを削除する。   The software management device 4e waits for the end of the software 1e by the end-time deletion unit 48e, and deletes the software 1e after the end.

この為、ソフトウエア1eは、動作時のみ生成され、保存状態では、ソフトウエア管理装置4eに暗号化して組み込まれている為、逆アセンブル等のプログラム解析等が困難となり、セキュリティ機能が高まる。   For this reason, the software 1e is generated only at the time of operation, and is stored in the software management apparatus 4e in the saved state, so that it becomes difficult to analyze the program such as disassembly, and the security function is enhanced.

以上のように、本実施の形態のインストーラ及びインストール方法、インストーラ管理装置及び方法、ソフトウエア管理装置及び方法、並びにインストーラ生成装置及び方法の1実施の形態としての第5の実施の形態によれば、インストール時にMACアドレスを組み込む為、インストールしたコンピュータ以外のコンピュータでは、インストール及びソフトウエアの起動を行えなくすることができる。また、ソフトウエア及びインストーラが保存状態では暗号化されている為、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   As described above, according to the fifth embodiment as one embodiment of the installer and the installation method, the installer management apparatus and method, the software management apparatus and method, and the installer generation apparatus and method of the present embodiment. Since the MAC address is incorporated at the time of installation, it is possible to prevent installation and activation of software on computers other than the installed computer. Further, since the software and the installer are encrypted in the storage state, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

尚、本発明のインストーラ、インストーラ生成装置の1実施の形態としての第5の実施の形態において、以下の(1)〜(10)に箇条書きにて示すようにしてもよい。   In addition, in the fifth embodiment as one embodiment of the installer and the installer generating apparatus of the present invention, the following (1) to (10) may be indicated by itemized items.

(1)インストーラは、インストーラ管理装置3eまでを含めてインストーラとしてもよいし、しなくてもよい。   (1) The installer may or may not be an installer including the installer management device 3e.

(2)また、ソフトウエアは、ソフトウエア管理装置4eまでを含めてソフトウエアとしてもよいし、しなくてもよい。   (2) The software may or may not be software including the software management device 4e.

(3)また、第5の実施の形態においては、MACアドレスの組み込みは、インストーラ管理装置3eのMACアドレス組込部32eにより、一括してインストーラ2e、ソフトウエア管理装置4e、ソフトウエア1eのMACアドレス格納領域31e、21e、41e、11eに組み込むようにしたが、インストーラ2e、ソフトウエア管理装置4e、及び/又はソフトウエア1eの内部にMACアドレス自身書込部を設け、インストーラ2e、ソフトウエア管理装置4e、及び/又はソフトウエア1eの初回起動時に自身の実行体のMACアドレスをバイナリの状態で書き込むようにしてもよい。MACアドレス自身書込部を設けるソフトウエアと設けないソフトウエアとを含んだ構成とした場合は、MACアドレス自身書込部を設けないソフトウエアを生成するソフトウエア側に、MACアドレス自身書込部を設けないソフトウエアのMACアドレス格納領域にMACアドレスを組み込むMACアドレス組込部を設ける構成となる。   (3) In the fifth embodiment, the MAC address is embedded in the installer 2e, the software management device 4e, and the software 1e by the MAC address incorporation unit 32e of the installer management device 3e. The address storage areas 31e, 21e, 41e, and 11e are incorporated. However, the installer 2e, the software management device 4e, and / or the software 1e are provided with a MAC address writing unit, and the installer 2e and software management When the device 4e and / or the software 1e is started for the first time, the MAC address of its execution body may be written in a binary state. If the configuration includes software that provides the MAC address writing unit and software that does not provide the MAC address writing unit, the MAC address writing unit is generated on the software side that generates the software that does not provide the MAC address writing unit. The MAC address built-in unit for incorporating the MAC address into the MAC address storage area of the software that does not provide

(4)また、第5の実施の形態において、提供されたソフトウエアに対して、ソフトウエア1eに自動的にMACアドレス格納領域11eとMACアドレス比較判定部13eとMACアドレス取得部19eを実行体にバイナリの状態で組み込むような構成としてもよい(この組込方法は、図9に示す本発明の実施の形態の機械語コード組み込み装置及び方法と同様である。)。   (4) In the fifth embodiment, the software 1e automatically includes a MAC address storage area 11e, a MAC address comparison / determination unit 13e, and a MAC address acquisition unit 19e for the provided software. It may be configured to be incorporated in a binary state (this incorporation method is the same as the machine language code incorporation apparatus and method of the embodiment of the present invention shown in FIG. 9).

(5)また、第5の実施の形態において、MACアドレスを暗号化してMACアドレス格納領域31e、21e、41e、及び/又は11eに組み込むような構成としてもよい。この場合、読み出す場合は、MACアドレス復号化読出部をインストーラ管理装置3e、インストーラ2e、ソフトウエア管理装置4e、及び/又はソフトウエア1eに其々設け、復号化して読み出すようにする。   (5) In the fifth embodiment, the MAC address may be encrypted and incorporated in the MAC address storage areas 31e, 21e, 41e, and / or 11e. In this case, when reading, the MAC address decrypting / reading unit is provided in the installer management device 3e, the installer 2e, the software management device 4e, and / or the software 1e, respectively, and is read after being decrypted.

(6)また、第5の実施の形態において、MACアドレスのみ暗号化するような構成としてもよく、インストーラ2e、ソフトウエア管理装置4e、ソフトウエア1e、及び/又はMACアドレスを暗号化して格納するようにし、読み出す場合は復号化して読み出すような構成としてもよい。   (6) In the fifth embodiment, only the MAC address may be encrypted. The installer 2e, the software management device 4e, the software 1e, and / or the MAC address are encrypted and stored. Thus, when reading, it may be configured to read after decoding.

(7)また、第5の実施の形態においては、図2に示す(構成3)の被生成ソフトウエア生成ソフトウエア2と被生成ソフトウエア生成ソフトウエア2の被生成ソフトウエア1の両方に、図2に示す(構成3)のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ実施例とし、インストーラ生成装置もその実施例に対応した実施例としたが、図2に示す(構成1)から(構成5)の其々の被生成ソフトウエア生成ソフトウエア2において、被生成ソフトウエア及び/又は被生成ソフトウエア生成ソフトウエア2に(構成1)から(構成5)の其々のパターンの1電子機器唯一動作許可ソフトウエア管理装置7を組み込んだ構成としてもよく、また、インストーラ生成装置5eもその構成に対応する構成としてもよい。   (7) In the fifth embodiment, both the generated software generation software 2 and the generated software 1 of the generated software generation software 2 shown in (Configuration 3) shown in FIG. In the embodiment in which the electronic device unique operation permission software management device 7 having the pattern (configuration 3) shown in FIG. 2 is incorporated, and the installer generation device is also an embodiment corresponding to the embodiment, FIG. In each of the generated software generation software 2 of configurations 1) to (configuration 5), each of the generated software and / or generated software generation software 2 is changed from (configuration 1) to (configuration 5). The one electronic device unique operation permission software management device 7 of the pattern may be incorporated, and the installer generation device 5e may be a configuration corresponding to the configuration.

(8)また、(7)の場合に、格納するソフトウエア及び/又はMACアドレスを暗号化して格納するようにし、読み出す場合、復号化するようにしてもよい。   (8) In the case of (7), the software and / or MAC address to be stored may be encrypted and stored, and when read, it may be decrypted.

このようにすれば、逆アセンブル等によるプログラム解析等が困難となり、セキュリティ機能が高まる。   In this way, it becomes difficult to analyze the program by disassembly or the like, and the security function is enhanced.

(9)また、第5の実施の形態においては、コンピュータに固有の指標としてMACアドレスを使用したが、コンピュータに固有の指標であればどのようなものでもよい。   (9) In the fifth embodiment, the MAC address is used as an index unique to the computer, but any index unique to the computer may be used.

(10)また、第5の実施の形態においては、動作又はインストール対象をコンピュータとしたが、電子機器であればどのようなものでもよい。   (10) In the fifth embodiment, the operation or installation target is a computer, but any electronic device may be used.

尚、上述した本実施例1から実施例5においては、図7に示す(構成1)から(構成5)までのパターンのインストーラと、図3に示す1電子機器唯一動作許可ソフトウエア管理装置7と、図7に示す(構成1)から(構成5)までのパターンの被生成ソフトウエア1又は被生成ソフトウエア生成ソフトウエア2を1電子機器唯一動作許可ソフトウエア管理装置7としたインストーラとする構成としてもよく、さらに、その1つ1つのソフトウエアを1電子機器唯一動作許可ソフトウエア管理装置7とする構成を無限に近い回数までの有限回である複数回まで繰り返す構成としたソフトウエアとした構成とするソフトウエアとしてもよい。また、この場合、インストーラ生成装置もその構成に対応した構成となる。   In the first to fifth embodiments described above, the installer of the patterns from (Configuration 1) to (Configuration 5) shown in FIG. 7 and the one-electronic-device-only operation permission software management device 7 shown in FIG. Then, the generated software 1 or generated software generation software 2 having the patterns (configuration 1) to (configuration 5) shown in FIG. It is also possible to have a configuration, and further, a configuration in which each piece of software is configured as a single electronic device-only operation-permitted software management device 7 and is configured to repeat a plurality of times that is a finite number of times up to an infinite number of times. The software may be configured as described above. In this case, the installer generation device also has a configuration corresponding to the configuration.

尚、以上において説明した、1電子機器唯一動作許可ソフトウエア0、被生成ソフトウエア1、被生成ソフトウエア生成ソフトウエア2、ソフトウエア組込器100、被生成ソフトウエア生成ソフトウエア生成装置5、被管理ソフトウエア6、1電子機器唯一動作許可ソフトウエア管理装置7、ソフトウエア1、インストーラ2、インストーラ生成装置5、インストーラ組込器110、ソフトウエア管理装置組込器120、ソフトウエア管理装置4、インストーラ管理装置3等の各種ソフトウエアは、電子機器又はコンピュータ若しくはパーソナルコンピュータ等に搭載されて動作するものである。また、動作する電子機器に固有の指標である固有指標は、動作する一台の電子機器に唯一(固有)の指標であればどのようなものであってもよい。また、MACアドレスを使用する場合は、動作するコンピュータ,パーソナルコンピュータ,電子機器に、MACアドレスを一台のコンピュータ,パーソナルコンピュータ,電子機器として識別できる状態に構成されている(例えば、MACアドレスが割り当てられたネットワーク機器が搭載されている)一台のコンピュータ,パーソナルコンピュータ,電子機器に、搭載されて動作するものとなる。   In addition, as described above, one electronic device unique operation permission software 0, generated software 1, generated software generation software 2, software embedded device 100, generated software generation software generation device 5, Managed software 6, 1 electronic device unique operation permission software management device 7, software 1, installer 2, installer generation device 5, installer embedded device 110, software management device embedded device 120, software management device 4 Various software such as the installer management apparatus 3 is installed in and operates on an electronic device, a computer, a personal computer, or the like. Further, the unique index, which is an index unique to the electronic device that operates, may be any index as long as it is the only (unique) index for one electronic device that operates. In addition, when a MAC address is used, the computer, personal computer, and electronic device are configured so that the MAC address can be identified as a single computer, personal computer, or electronic device (for example, the MAC address is assigned). Installed on a single computer, personal computer, or electronic device.

上述した、バイナリの状態での実行体への機械語コード組み込み方法を示す、機械語コードの組み込み装置及び方法である、本発明の実施の形態の機械語コード組み込み装置及び方法について、図9を用いて説明する。   FIG. 9 shows the machine language code embedding device and method according to the embodiment of the present invention, which is the machine language code embedding device and method showing the machine language code embedding method into the execution body in the binary state described above. It explains using.

図9は、本発明の実施の形態の機械語コード組み込み装置及び方法を示す概念図である。   FIG. 9 is a conceptual diagram showing a machine language code embedding device and method according to an embodiment of the present invention.

以下に説明するのは、実行体のファイルフォーマットがPE(Portable・Executable)ファイルフォーマットの場合のバイナリの状態での実行体への機械語コード組み込み装置及び方法である。   Described below is an apparatus and method for embedding machine language code in an executable in a binary state when the file format of the executable is a PE (Portable / Executable) file format.

図9(1)に示すバイナリ状態での実行体への機械語コード組み込み装置は、コードセクションのコード内にコードセクション内のプログラム開始位置にジャンプする箇所がある場合(例えば、デバッグ情報が挿入されている場合)であり、挿入したいバイナリコードには、システムコールまでしか使用していない場合(例えば、Windows(登録商標)の場合、dllの呼び出しのコードを使用せずに、使用してもシステムコールまでしか使用しない場合、コードセクションよりも前に、挿入したいバイナリコードを挿入し、実行体のバイナリファイルからコードセクション内のプログラム開始位置にジャンプするコードセクション内のプログラム開始位置が記載されている領域を検索し、検索したコードセクション内のプログラム開始位置を挿入したバイナリコードの先頭のアドレスに変更する。また、挿入したいバイナリコードがデータを使用している場合、データセクションにデータを追加し、バイナリコード内の追加したデータのアドレスを変更する。また、挿入したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションにデータを追加し、バイナリコード内の追加した他のデータセクションのデータのアドレスを変更する。また、コードを挿入したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。バイナリコードが大きく、コードサイズを超える場合、コードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを増加したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したコードサイズ分ずらす。他のセクションサイズが大きく、他のセクションサイズを超える場合、他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを増加した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したサイズ分ずらす。尚、コードセクション内のプログラム開始位置の検索は、PEヘッダ、コードセクションヘッダ内の検索により行われる。   In the machine language code embedding device in the execution body in the binary state shown in FIG. 9 (1), when there is a jump point to the program start position in the code section (for example, debug information is inserted). If the binary code you want to insert is only used up to system calls (for example, in the case of Windows (registered trademark), the system can be used without using the dll call code) When only the call is used, the binary code to be inserted is inserted before the code section, and the program start position in the code section is jumped from the executable binary file to the program start position in the code section. Search the area and insert the program start position in the searched code section. If the binary code you want to insert uses data, add the data to the data section and change the address of the added data in the binary code. If the binary code uses data from another data section, add data to the other data section, change the address of the data in the other data section added in the binary code, and insert the code. If the binary code is large and exceeds the code size, the code section header is set to a size larger than the code size. Change the code size in the The start address of the other section in the header is shifted by the increased code size, and the address that referred to the other section in the code (for example, the location where the address is referenced, etc. is searched, (Search for the address that referred to the section) is shifted by the increased code size, and if the other section size is larger and exceeds the other section size, the other section is set to a specified size larger than the other section size. Change the size of other sections in the header, shift the start address of other sections after the code section by the incremented other section size, and refer to other sections in the code (for example, refer to the address instruction) Search for other parts of the code Search the scan) is shifted increased size of. The program start position in the code section is searched by searching in the PE header and code section header.

図9(2)に示すバイナリ状態での実行体への機械語コード組み込み装置は、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がある場合(例えば、デバッグ情報が挿入されている場合)であり、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションよりも前に、挿入したいバイナリコードを挿入し、実行体のバイナリファイルからコードセクション内のプログラム開始位置にジャンプするコードセクション内のプログラム開始位置が記載されている領域を検索し、検索したコードセクション内のプログラム開始位置を挿入したバイナリコードの先頭のアドレスに変更する。そして、インポートセクションに使用しているdllと使用したいdll関数を挿入すると共に、インポートセクションに既にあるdllとdll関数のアドレスを挿入した分だけずらし、コード内にdll関数を参照しているアドレスを変更する。また、呼び出しdll関数がデータを使用している場合、データセクションにデータを追加し、バイナリコード内の追加したデータのアドレスを変更する。また、コードを挿入したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。バイナリコードが大きく、コードサイズを超える場合、コードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを増加したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したコードサイズ分ずらす。他のセクションサイズが大きく、他のセクションサイズを超える場合、他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを増加した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したサイズ分ずらす。尚、コードセクション内のプログラム開始位置の検索は、PEヘッダ、コードセクションヘッダ内の検索により行われる。   In the machine language code embedding device in the execution body in the binary state shown in FIG. 9 (2), there is a place where the code jumps to the program start position in the code section (for example, when debug information is inserted) ) And the code section is used when calling the function using a function embedded in a file (for example, dll in the case of Windows (registered trademark)) in which a function group is embedded instead of an executable. Before that, insert the binary code you want to insert, jump from the executable binary file to the program start position in the code section, search the area where the program start position in the code section is described, and search the code section The program start position in is changed to the start address of the inserted binary code. Then, insert the dll used in the import section and the dll function you want to use, and shift the dll and dll function addresses that are already in the import section by the amount you inserted, and change the address that references the dll function in the code. change. If the calling dll function uses data, it adds data to the data section and changes the address of the added data in the binary code. In addition, the address of the part that refers to the address in the code of another code part due to the insertion of the code is also changed. If the binary code is large and exceeds the code size, change the code size in the code section header to a specified size larger than the code size, and change the start address of other sections in other section headers other than the code section. Shift by the increased code size, search for an address referring to another section in the code (for example, search for a location where the address is a reference instruction, etc., and search for an address referring to another section in the code) ) Is shifted by the increased code size. If the other section size is large and exceeds the other section size, change the other section size in the other section header to the specified size larger than the other section size, and The start address is shifted by the size of another section that has been increased, and the address referring to another section in the code (for example, the part where the address is referred to is searched and the other section in the code is referenced. Search for a new address) is shifted by the increased size. The program start position in the code section is searched by searching in the PE header and code section header.

図9(3)に示すバイナリ状態での実行体への機械語コード組み込み装置は、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、挿入したいバイナリコードには、システムコールまでしか使用していない場合(例えば、Windows(登録商標)の場合、dllの呼び出しのコードを使用せずに、使用してもシステムコールまでしか使用しない場合、コードセクションの初め、中間、又は最後に、挿入したいバイナリコードを挿入する。また、挿入したいバイナリコードがデータを使用している場合、データセクションにデータを追加し、バイナリコード内の追加したデータのアドレスを変更する。また、挿入したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションにデータを追加し、バイナリコード内の追加した他のデータセクションのデータのアドレスを変更する。また、コードを挿入したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。バイナリコードが大きく、コードサイズを超える場合、コードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを増加したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したコードサイズ分ずらす。他のセクションサイズが大きく、他のセクションサイズを超える場合、他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを増加した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したサイズ分ずらす。   The machine language code embedding device in the execution body in the binary state shown in FIG. 9 (3) is a case where there is no place in the code to jump to the program start position in the code section, and FIG. 9 (1), (2 In cases other than), the binary code to be inserted only uses the system call (for example, in the case of Windows (registered trademark), even if it is used without using the dll call code, the system call can be used) If you are only using it, insert the binary code you want to insert at the beginning, middle, or end of the code section, and if the binary code you want to insert uses data, add the data to the data section The address of the added data is changed, and the inserted binary code uses data from another data section. If the data is added to another data section, the address of the data of the other added data section in the binary code is changed, and the address in the code of the other code part due to the insertion of the code is referred to. If the binary code is large and exceeds the code size, the code size in the code section header is changed to a specified size larger than the code size, and other sections other than the code section are changed. The start address of the other section in the header is shifted by the increased code size, the address that referred to the other section in the code (for example, the location where the address is referenced, etc. is searched, Search for addresses that referenced sections) will shift by the increased code size If the other section size is large and exceeds the other section size, change the other section size in the other section header to a specified size larger than the other section size, and The start address is shifted by the size of another section that has been increased, and the address referring to another section in the code (for example, the part where the address is referred to is searched and the other section in the code is referenced. Search for a new address) is shifted by the increased size.

図9(4)に示すバイナリ状態での実行体への機械語コード組み込み装置は、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションの初め、中間、又は最後に、挿入したいバイナリコードを挿入する。また、挿入したいバイナリコードがデータを使用している場合、データセクションにデータを追加し、バイナリコード内の追加したデータのアドレスを変更する。また、挿入したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションにデータを追加し、バイナリコード内の追加した他のデータセクションのデータのアドレスを変更する。また、コードを挿入したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。バイナリコードが大きく、コードサイズを超える場合、コードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを増加したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したコードサイズ分ずらす。他のセクションサイズが大きく、他のセクションサイズを超える場合、他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを増加した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は増加したサイズ分ずらす。   The machine language code embedding device in the execution body in the binary state shown in FIG. 9 (4) is a case where there is no part in the code that jumps to the program start position in the code section, and FIG. 9 (1), (2 In cases other than), if code that uses a function that is incorporated in a file that contains a group of functions (for example, dll in the case of Windows (registered trademark)) is called instead of an executable, Insert the binary code you want to insert at the beginning, middle, or end of the section. If the binary code to be inserted uses data, the data is added to the data section, and the address of the added data in the binary code is changed. If the inserted binary code uses data in another data section, the data is added to the other data section, and the address of the data in the added other data section in the binary code is changed. In addition, the address of the part that refers to the address in the code of another code part due to the insertion of the code is also changed. If the binary code is large and exceeds the code size, change the code size in the code section header to a specified size larger than the code size, and change the start address of other sections in other section headers other than the code section. Shift by the increased code size, search for an address referring to another section in the code (for example, search for a location where the address is a reference instruction, etc., and search for an address referring to another section in the code) ) Is shifted by the increased code size. If the other section size is large and exceeds the other section size, change the other section size in the other section header to the specified size larger than the other section size, and The start address is shifted by the size of another section that has been increased, and the address referring to another section in the code (for example, the part where the address is referred to is searched and the other section in the code is referenced. Search for a new address) is shifted by the increased size.

(後に詳細に再掲初)
以下に、PE(Portable・Executable)フォーマットの場合の、本発明の実施の形態の機械語コード組み込み装置の構成及び方法を詳細に説明する。
(Later reprinted in detail later)
The configuration and method of the machine language code embedding device according to the embodiment of the present invention in the case of the PE (Portable / Executable) format will be described in detail below.

本発明の実施の形態の機械語コード組み込み装置は、
1.<コードの挿入>
1.1.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合であって、コードの開始以前に何らかの処理を行う場合、
(コードセクション)ヘッダーのコードセクション開始アドレスを検索するコードセクション開始アドレス検索手段と、
コードセクション開始アドレスからコードセクション内を検索し、コード開始アドレスをコールしている箇所を検索するコードセクション内コード開始アドレスコール箇所検索手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コードセクションの開始アドレスの前に、コードを挿入するコード挿入手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに挿入したコードアドレスを減算した開始アドレスに書き換えるコールコード開始アドレス変更手段と、
1.2.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後にコードを挿入するコード挿入手段と、
2.<データアドレスの変更>
挿入したコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と、
3.<機能を有する手段がdllを使用している場合>
3.1<組み込むソフトウエアのdll存在チェック>
挿入したコード内にdll関数をコールしている場合、インポートセクションを検索し、dllが存在するかどうかを検索するインポートセクションdll存在/非存在検索手段と、
3.1.1<組み込むソフトウエアにdllが存在している場合>
dllが存在している場合、
dll関数が存在するかどうかを検索するインポートセクションdll関数存在/非存在検索手段と、
3.1.1.1<組み込むソフトウエアにdll関数が存在している場合>
dll関数が存在している場合、
そのdll関数のアドレスにより挿入するコードのdll関数アドレスを変更する挿入コードdll関数アドレス変更手段と、
3.1.1.2<組み込むソフトウエアにdll関数が存在していない場合>
dll関数が存在していない場合、
dll関数を追加し、dll関数追加によるサイズ変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と、
3.1.2<組み込むソフトウエアにdllが存在していない場合>
dllが存在していない場合、
dll,dll関数をインポートセクションに追加し、dll,dll関数追加によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と、
4.<機能を有する手段が他のセクションの要素を使用している場合>
4.1<組み込むソフトウエアの他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と、
4.1.1<組み込むソフトウエアに他のセクションの要素存在時>
他のセクションの要素が存在している場合、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と、
4.1.2<組み込むソフトウエアに他のセクションの要素非存在時>
他のセクションの要素が存在していない場合、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と、
5.
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらし手段と、
6.
(コード挿入によりコードサイズが初めより大きくなる場合)
コード挿入により、コードサイズがコードセクションヘッダーに記載されているサイズよりも大きくなる場合、
コードセクションヘッダーのコードサイズをコード挿入分より大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と、
コードサイズ変更手段により増分したサイズ分、他のセクションヘッダー内に記載の他のセクションの開始アドレスを変更する他のセクション開始アドレス変更手段と、
コード内に他のセクションの要素のアドレスを使用している場合、コード挿入により、他のセクションの要素のアドレスが変化した分、コード内に他のセクションの要素のアドレスを変更するコード内他のセクションの要素アドレス変更手段と、
コード挿入により、他のセクションヘッダーのサイズが他のセクションヘッダーに記載されているサイズよりも大きくなる場合、
他のセクションヘッダーのサイズを他のセクション挿入分より大きい規定幅の大きさのサイズに変更する他のセクションサイズ変更手段と、
他のセクションの開始アドレス以降に開始アドレスを有する第2の他のセクションの開始アドレスを他のセクションのサイズの増分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード挿入により、第2の他のセクションの要素のアドレスが変化した分、コード内に第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有する
ことを特徴とする。
A machine language code embedding device according to an embodiment of the present invention includes:
1. <Insert code>
1.1. When there is a place where the code start address is called in the current code, such as debugging information, in the embedded software, and some processing is performed before the start of the code,
(Code section) code section start address search means for searching the code section start address of the header;
Search the code section from the code section start address, search the code start address call location search means to search the location where the code start address is called,
Code insertion means for inserting a code before the start address of the code section based on the code start address searched by the code start address call location search means in the code section;
A call start address changing means for rewriting a start address obtained by subtracting the code address inserted in the code start address of the code start address call position searched by the code start address call position search means in the code section;
1.2. If there is no place to call the code start address in the current code such as debug information in the embedded software, or other than 1.1 (code section) code start address search means for searching the code start address of the header;
Code insertion means for inserting a code at the beginning, middle or end of the code section based on the code start address searched by the code start address search means;
2. <Change of data address>
A data section addition means for adding data to a data section when a system call or dll function is called in the inserted code and the function uses data,
Inserted code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a dll>
3.1 <Existing software dll existence check>
When a dll function is called in the inserted code, an import section dll existence / non-existence search means for searching for an import section and searching whether the dll exists,
3.1.1 <When dll exists in software to be installed>
If the dll exists,
Import section dll function existence / non-existence search means for searching whether a dll function exists,
3.1.1.1 <When dll function exists in software to be incorporated>
If the dll function exists,
Insertion code dll function address changing means for changing the dll function address of the code to be inserted according to the address of the dll function,
3.1.1.2 <When dll function does not exist in software to be installed>
If the dll function does not exist,
Changing the dll address in the import section by adding a dll function, and changing the dll address in the import section, the dll function address, and / or other address reference address in the import section When,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
3.1.2 <When dll does not exist in the software to be installed>
If the dll does not exist,
In the import section that adds dll and dll functions to the import section and changes the dll address, dll function address, and / or other address reference address in the import section by changing the address by adding the dll or dll function dll, dll function address changing means,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
4). <When the functional means uses an element of another section>
4.1 <Element existence check of other sections of software to be incorporated>
If other section elements are used in the inserted code, other section element presence / absence search means for searching for other sections and searching for the presence of other section elements,
4.1.1 <When other section elements exist in the embedded software>
If other section elements are present,
Insertion code for changing the address of the element in the other section of the code to be inserted according to the address of the element in the other section;
4.1.2 <When other section elements are not present in the embedded software>
If there are no other section elements,
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. An address changing means;
5).
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
In the current code, search for an instruction that refers to an address, search for an address that refers to an address in a code section, and shift an address by an inserted code by an amount corresponding to the inserted code size.
6).
(When code size becomes larger than the beginning due to code insertion)
If code insertion causes the code size to be larger than the size listed in the code section header,
Code size changing means for changing the code size of the code section header to a size of a specified width larger than the code insertion amount;
Other section start address changing means for changing the start address of other sections described in the other section header by the size incremented by the code size changing means,
If the address of an element in another section is used in the code, the address of the element in the other section is changed by the code insertion. A section element address changing means;
If code insertion causes the size of other section headers to be larger than those listed in other section headers,
Other section size changing means for changing the size of the other section header to a size having a size larger than the insertion amount of other sections,
Means for changing the start address of the second other section for shifting the start address of the second other section having the start address after the start address of the other section by an increment of the size of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code insertion. Element address changing means of the second other section in the code for changing the address of the second other section.

尚、上述した機械語コード組み込み装置は、ELF(Executable・and・Linkable・Format)フォーマットの場合でも同様に組み込みが行え、PEファイルフォーマットの場合、各セクションヘッダーのアドレス及び/又はサイズ等の検索に、PEヘッダー及び/又はセクションヘッダーを用いていたものを、ELFファイルフォーマットの場合、ELFヘッダー、プログラムヘッダー、セクションヘッダ、及び/又は、セクションヘッダーテーブルを用いるようになり、これらを、(各セクションのアドレス及び/又はサイズが記載されている)ヘッダーと纏めて記すと、ELFフォーマットを含める場合は、以下のようになる。
本発明の実施の形態の機械語コード組み込み装置は、
ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置であって、
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の他のセクションの要素アドレス変更手段と
を有し、
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置
となる。
尚、以上において、他のファイルフォーマットにおいても、上述したソフトウエア製造装置において、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することができ、COFF(Common・Object・File・Format)、XCOFF、ECOFF、a.outフォーマットの場合においてもフォーマットに応じて不用な手段を使用しないようにすれば、上述したソフトウエア製造装置において、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することができる。
The machine language code embedding device described above can be similarly incorporated even in the case of the ELF (Executable, Linkable, Format) format. In the PE file format, the address and / or size of each section header can be searched. In the case of the ELF file format, the ELF header, the program header, the section header, and / or the section header table are used in the ELF file format. When the ELF format is included, it is as follows when it is described together with the header (in which the address and / or size is described).
A machine language code embedding device according to an embodiment of the present invention includes:
A software manufacturing apparatus characterized by incorporating means having a function in software in a binary state,
1. <Insert code>
1.1. When there is a place where the code start address is called in the current code, such as debugging information, in the embedded software, and some processing is performed before the start of the code,
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code insertion means for inserting a code before the start address of the code description section based on the code start address searched by the code start address call location search means in the code description section;
The code start address in the code description section, the code start address searched by the call location search means, the call code start address changing means for rewriting the code address inserted into the code start address of the call location, and subtracting the code address,
1.2. When there is no place to call the code start address in the current code, such as debug information, or other than 1.1 in the embedded software (code description section) Code start address search means for searching for the code start address of the header ,
A code insertion means for inserting a code at the beginning, middle or end of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
A data section addition means for adding data to a data section when a system call or a calling function group storage file stored call function is called in the inserted code and the function uses data,
Inserted code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a calling function group storage file>
3.1 <Existing software call function group storage file existence check>
Call function group call section call function that searches the call function group call section and searches whether the call function group storage file exists when the call function group storage file stored call function is called in the inserted code Group storage file existence / non-existence retrieval means;
3.1.1 <When calling function group storage file exists in software to be embedded>
If the calling function group storage file exists,
A calling function group calling section for searching whether a calling function group storage file stored calling function exists, a calling function group storage file stored calling function presence / absence search means,
3.1.1.1 <When a call function group storage file stored call function exists in the embedded software>
Call function group storage file stored call function exists,
A call function group storage file stored call function address changing means for changing a call function group storage file stored call function address of a code to be inserted according to an address of the call function group storage file stored call function;
3.1.1.2 <When the call function group storage file stored call function does not exist in the embedded software>
If the calling function group storage file stored call function does not exist,
Call function group storage file stored call function is added, and the call function group storage file stored call function in the call function group call section in the call function group call section for the size change by adding the call function group storage file stored call function A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a call function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means;
3.1.2 <When the calling function group storage file does not exist in the software to be embedded>
If the calling function group storage file does not exist,
Call function group storage file and call function group storage file stored call function are added to the call function group call section, and the call function group storage file and call function group storage file stored call function added address call function group call section Calling function group storage file address, calling function group storage file stored call function address, and / or other address reference address in the calling function group calling section is changed. , Calling function group storage file stored call function address changing means,
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a call function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means;
4). <When the functional means uses an element of another section>
4.1 <Element existence check of other sections of software to be incorporated>
If other section elements are used in the inserted code, other section element presence / absence search means for searching for other sections and searching for the presence of other section elements,
4.1.1 <When other section elements exist in the embedded software>
If other section elements are present,
Insertion code for changing the address of the element in the other section of the code to be inserted according to the address of the element in the other section;
4.1.2 <When other section elements are not present in the embedded software>
If there are no other section elements,
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. An address changing means;
5).
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
In the current code, search for an instruction that refers to an address, search for an address that refers to an address in the code description section, and shift an address by an inserted code by an amount corresponding to the inserted code size;
6).
(When code size becomes larger than the beginning due to code insertion)
If code insertion causes the code size to be larger than the size listed in the code description section header,
Code size changing means for changing the code size of the code description section header to a size of a specified width larger than the code insertion;
Other section start address changing means for changing the start address of other sections described in the other section header by the size incremented by the code size changing means,
If the address of an element in another section is used in the code, the address of the element in the other section is changed by the code insertion. A section element address changing means;
If code insertion causes the size of other section headers to be larger than those listed in other section headers,
Other section size changing means for changing the size of the other section header to a size having a size larger than the insertion amount of other sections,
Means for changing the start address of the second other section for shifting the start address of the second other section having the start address after the start address of the other section by an increment of the size of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code insertion. Element address changing means of the second other section in the code for changing the address of
A software manufacturing apparatus is characterized in that means having a function in software is incorporated in a binary state.
In the above, even in other file formats, in the software manufacturing apparatus described above, means having a function incorporated / not incorporated in software in a binary state can be incorporated and deleted in a binary state, and COFF (Common / Object / File / Format), XCOFF, ECOFF, and a.out formats, if the unnecessary means are not used according to the format, the software manufacturing apparatus described above can use binary software. A means having a function incorporated / not incorporated in a state can be incorporated and deleted in a binary state.

尚、図1乃至図8に示す、本発明の実施の形態、本発明の第1乃至第5の実施の形態における、バイナリ組み込みの方法は、上述したバイナリ組み込みの方法のうち、図9(4)に示すバイナリ状態での実行体への機械語コード組み込み装置に該当し、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションの初め、中間、又は最後に、挿入したいバイナリコードを挿入する。また、挿入したいバイナリコードがデータを使用している場合、データセクションにデータを追加し、バイナリコード内の追加したデータのアドレスを変更する。また、挿入したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションにデータを追加し、バイナリコード内の追加した他のデータセクションのデータのアドレスを変更する。また、コードを挿入したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う処理を有しており、詳細には、
1.<コードの挿入>
1.2.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後にコードを挿入するコード挿入手段と、
2.<データアドレスの変更>
挿入したコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と、
3.<機能を有する手段がdllを使用している場合>
3.1<組み込むソフトウエアのdll存在チェック>
挿入したコード内にdll関数をコールしている場合、インポートセクションを検索し、dllが存在するかどうかを検索するインポートセクションdll存在/非存在検索手段と、
3.1.1<組み込むソフトウエアにdllが存在している場合>
dllが存在している場合、
dll関数が存在するかどうかを検索するインポートセクションdll関数存在/非存在検索手段と、
3.1.1.1<組み込むソフトウエアにdll関数が存在している場合>
dll関数が存在している場合、
そのdll関数のアドレスにより挿入するコードのdll関数アドレスを変更する挿入コードdll関数アドレス変更手段と、
3.1.1.2<組み込むソフトウエアにdll関数が存在していない場合>
dll関数が存在していない場合、
dll関数を追加し、dll関数追加によるサイズ変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と、
3.1.2<組み込むソフトウエアにdllが存在していない場合>
dllが存在していない場合、
dll,dll関数をインポートセクションに追加し、dll,dll関数追加によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と、
4.<機能を有する手段が他のセクションの要素を使用している場合>
4.1<組み込むソフトウエアの他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と、
4.1.1<組み込むソフトウエアに他のセクションの要素存在時>
他のセクションの要素が存在している場合、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と、
4.1.2<組み込むソフトウエアに他のセクションの要素非存在時>
他のセクションの要素が存在していない場合、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と、
5.
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらし手段と、
を有した処理を使用して、起動時にMACアドレスを組み込む処理を実行体のバイナリの初めに組み込む。即ち、起動時にMACアドレスを組み込む方法は、データセクションにMACアドレスのサイズと同様のサイズのMACアドレス格納領域を予め確保しておき、起動時に取得したMACアドレスを予め確保しておいた領域に格納する。また、データセクションにMACアドレスのサイズと同様のサイズのMACアドレス格納領域を予め確保し、そこに予め定めたMACアドレスの固定の文字列を格納しておき、起動時に取得したMACアドレスを、予め定めたMACアドレスの固定の文字列を検索して検索されたMACアドレスと置き換えるようにして予め確保しておいた領域に格納するようにしてもよい。
(後に詳細に再掲終)
The binary incorporation method in the embodiment of the present invention and the first to fifth embodiments of the present invention shown in FIGS. 1 to 8 is the same as the binary incorporation method described above with reference to FIG. This corresponds to the machine language code embedding device in the execution body in the binary state shown in FIG. 9 and there is no part in the code that jumps to the program start position in the code section. In the case of a code section that uses a function that is called in a file that contains a group of functions (for example, dll in the case of Windows (registered trademark)) Insert the binary code you want to insert at the beginning, middle, or end. If the binary code to be inserted uses data, the data is added to the data section, and the address of the added data in the binary code is changed. If the inserted binary code uses data in another data section, the data is added to the other data section, and the address of the data in the added other data section in the binary code is changed. In addition, it has a process to change the address of the part that refers to the address in the code of the other code part by inserting the code,
1. <Insert code>
1.2. If there is no place to call the code start address in the current code such as debug information in the embedded software, or other than 1.1 (code section) code start address search means for searching the code start address of the header;
Code insertion means for inserting a code at the beginning, middle or end of the code section based on the code start address searched by the code start address search means;
2. <Change of data address>
A data section addition means for adding data to a data section when a system call or dll function is called in the inserted code and the function uses data,
Inserted code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a dll>
3.1 <Existing software dll existence check>
When a dll function is called in the inserted code, an import section dll existence / non-existence search means for searching for an import section and searching whether the dll exists,
3.1.1 <When dll exists in software to be installed>
If the dll exists,
Import section dll function existence / non-existence search means for searching whether a dll function exists,
3.1.1.1 <When dll function exists in software to be incorporated>
If the dll function exists,
Insertion code dll function address changing means for changing the dll function address of the code to be inserted according to the address of the dll function,
3.1.1.2 <When dll function does not exist in software to be installed>
If the dll function does not exist,
Changing the dll address in the import section by adding a dll function, and changing the dll address in the import section, the dll function address, and / or other address reference address in the import section When,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
3.1.2 <When dll does not exist in the software to be installed>
If the dll does not exist,
In the import section that adds dll and dll functions to the import section and changes the dll address, dll function address, and / or other address reference address in the import section by changing the address by adding the dll or dll function dll, dll function address changing means,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
4). <When the functional means uses an element of another section>
4.1 <Element existence check of other sections of software to be incorporated>
If other section elements are used in the inserted code, other section element presence / absence search means for searching for other sections and searching for the presence of other section elements,
4.1.1 <When other section elements exist in the embedded software>
If other section elements are present,
Insertion code for changing the address of the element in the other section of the code to be inserted according to the address of the element in the other section;
4.1.2 <When other section elements are not present in the embedded software>
If there are no other section elements,
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. An address changing means;
5).
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
In the current code, search for an instruction that refers to an address, search for an address that refers to an address in a code section, and shift an address by an inserted code by an amount corresponding to the inserted code size.
The process of incorporating the MAC address at startup is incorporated at the beginning of the executable binary. In other words, the method of incorporating the MAC address at the time of startup is to reserve a MAC address storage area of the same size as the MAC address in the data section in advance and store the MAC address acquired at startup in the area reserved in advance. To do. In addition, a MAC address storage area of the same size as the MAC address size is reserved in advance in the data section, a fixed character string of a predetermined MAC address is stored therein, and the MAC address acquired at startup is stored in advance. A fixed character string of a predetermined MAC address may be searched and replaced with the searched MAC address and stored in a previously secured area.
(Reprinted in detail later)

以上において、「〜した場合、」と記した箇所等をより明示的に記載して(後に詳細に再掲初)から(後に詳細に再掲終)までを再度記載し直すと、以下のようになる。   In the above, if you clearly describe the part marked "if you did" (from the first reprint in detail later) to (after the last reprint in detail) again, it will be as follows .

以下に、PE(Portable・Executable)フォーマットの場合の、本発明の実施の形態の機械語コード組み込み装置の構成及び方法を詳細に説明する。   The configuration and method of the machine language code embedding device according to the embodiment of the present invention in the case of the PE (Portable / Executable) format will be described in detail below.

本発明の実施の形態の機械語コード組み込み装置は、
1.<コードの挿入>
1.0 組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
組み込むソフトウエアのコードのどの位置に機能を有する手段を挿入するかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に何らかの処理を行う場合(コード挿入位置選択判断手段による判断に依る)、
(コードセクション)ヘッダーのコードセクション開始アドレスを検索するコードセクション開始アドレス検索手段と、
コードセクション開始アドレスからコードセクション内を検索し、コード開始アドレスをコールしている箇所を検索するコードセクション内コード開始アドレスコール箇所検索手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コードセクションの開始アドレスの前に、コードを挿入するコード挿入手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに挿入したコードアドレスを減算した開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後にコードを挿入するコード挿入手段と
を有し、
2.<データアドレスの変更>
2.0 挿入したコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又はdll関数データ使用/非使用判断手段と
を有し、
挿入したコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合(システムコール又はdll関数データ使用/非使用判断手段による判断に依る)、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と
を有し、
3.<機能を有する手段がdllを使用している場合>
3.0 機能を有する手段がdllを使用しているかどうかを判断する、機能を有する手段dll使用/非使用判断手段と
を有し、
3.1<組み込むソフトウエアのdll存在チェック>
挿入したコード内にdll関数をコールしている場合(機能を有する手段dll使用/非使用判断手段による判断に依る)、組み込むソフトウエアのインポートセクションを検索し、dllが存在するかどうかを検索するインポートセクションdll存在/非存在検索手段と
を有し、
3.1.1<組み込むソフトウエアにdllが存在している場合>
組み込むソフトウエアにdllが存在している場合(インポートセクションdll存在/非存在検索手段による判断に依る)、
組み込むソフトウエアにdll関数が存在するかどうかを検索するインポートセクションdll関数存在/非存在検索手段と
を有し、
3.1.1.1<組み込むソフトウエアにdll関数が存在している場合>
組み込むソフトウエアにdll関数が存在している場合(インポートセクションdll関数存在/非存在検索手段による判断に依る)、
そのdll関数のアドレスにより挿入するコードのdll関数アドレスを変更する挿入コードdll関数アドレス変更手段と
を有し、
3.1.1.2<組み込むソフトウエアにdll関数が存在していない場合>
組み込むソフトウエアにdll関数が存在していない場合(インポートセクションdll関数存在/非存在検索手段による判断に依る)、
dll関数を追加し、dll関数追加によるサイズ変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
3.1.2<組み込むソフトウエアにdllが存在していない場合>
組み込むソフトウエアにdllが存在していない場合(インポートセクションdll存在/非存在検索手段による判断に依る)、
dll,dll関数をインポートセクションに追加し、dll,dll関数追加によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
4.<機能を有する手段が(コード、インポート、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0 機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1<組み込むソフトウエアの他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と
を有し、
4.1.1<組み込むソフトウエアに他のセクションの要素存在時>
組み込むソフトウエアに他のセクションの要素が存在している場合(他のセクション要素存在/非存在検索手段による判断に依る)、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と
を有し、
4.1.2<組み込むソフトウエアに他のセクションの要素非存在時>
組み込むソフトウエアに他のセクションの要素が存在していない場合(他のセクション要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0 コードの挿入により、コード内のアドレスを指定しているかどうかを判断するコード挿入コード内アドレス指定/非指定判断手段と
を有し、
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
(コード挿入コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらし手段と
を有し、
6.
6.0 コード挿入によりコードサイズが初めより大きくなるかどうかを判断するコード挿入コードサイズ大/非大判断手段と
を有し、
(コード挿入によりコードサイズが初めより大きくなる場合)
コード挿入により、コードサイズがコードセクションヘッダーに記載されているサイズよりも大きくなる場合(コード挿入コードサイズ大/非大判断手段による判断に依る)、
コードセクションヘッダー内に記載のコードセクション及び/又はコードセクションのコードサイズをコード挿入後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コードセクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により増分したサイズ分、第1の他のセクションヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションの開始アドレスを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード挿入により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより大きくなる場合)
コード挿入により、第1の他のセクションのサイズが第1の他のセクションヘッダー内に記載されているサイズよりも大きくなる場合(コード挿入により他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段による判断に依る)、
第1の他のセクションヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション挿入後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コードセクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する第2の他のセクションヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの増分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード挿入により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有する
ことを特徴とする。
A machine language code embedding device according to an embodiment of the present invention includes:
1. <Insert code>
1.0 Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in the embedded software;
A code insertion position selection judging means for selecting and judging at which position of the code of the software to be embedded the functioning means is inserted;
1.1. When there is a part that calls the code start address in the current code, such as debugging information, in the embedded software (depends on the judgment by the code start address call part search means), and some processing is performed before the code starts (Depends on the determination by the code insertion position selection determination means),
(Code section) code section start address search means for searching the code section start address of the header;
Search the code section from the code section start address, search the code start address call location search means to search the location where the code start address is called,
Code insertion means for inserting a code before the start address of the code section based on the code start address searched by the code start address call location search means in the code section;
A code start address in the code section, and a call code start address changing unit that rewrites the code address inserted in the code start address of the code start address call location searched by the call location search means to a start address that is subtracted,
1.2. When there is no location to call the code start address in the current code (depending on the judgment by the code start address call location search means), or other than 1.1 (code section) in the embedded software, etc. A code start address search means for searching for a code start address;
Code insertion means for inserting a code at the beginning, middle or end of a code section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or dll function is called in the inserted code, and the system call or dll function data use / non-use determination means for determining whether or not the function uses data,
If a system call or dll function is called in the inserted code and the function uses data (depending on the determination by the system call or dll function data use / non-use determination means), the data is stored in the data section. Means for adding a data section to be added;
Insertion code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a dll>
3.0 means for determining whether or not the means having a function uses a dll, and means for determining whether or not to use a dll.
3.1 <Existing software dll existence check>
If a dll function is called in the inserted code (depending on the judgment by the means for using / not using the dll that has the function), the import section of the software to be installed is searched for whether the dll exists. And import section dll presence / non-existence search means,
3.1.1 <When dll exists in software to be installed>
When the dll exists in the software to be embedded (depending on the judgment by the import section dll existence / non-existence search means)
Having an import section dll function existence / non-existence search means for searching whether the dll function exists in the software to be embedded;
3.1.1.1 <When dll function exists in software to be incorporated>
When the dll function exists in the software to be embedded (depending on the judgment by the import section dll function existence / non-existence search means)
An insertion code dll function address changing means for changing the dll function address of the code to be inserted according to the address of the dll function;
3.1.1.2 <When dll function does not exist in software to be installed>
If the dll function does not exist in the software to be embedded (depending on the judgment by the import section dll function existence / non-existence search means)
Changing the dll address in the import section by adding a dll function, and changing the dll address in the import section, the dll function address, and / or other address reference address in the import section When,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
3.1.2 <When dll does not exist in the software to be installed>
If the dll does not exist in the software to be installed (depends on the judgment by the import section dll existence / non-existence search means),
In the import section that adds dll and dll functions to the import section and changes the dll address, dll function address, and / or other address reference address in the import section by changing the address by adding the dll or dll function dll, dll function address changing means,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
4). <When the functional means uses elements of other sections (one or more other than code, import, data section)>
4.0 means for determining whether a means having a function uses an element of another section; a means for determining a function use / non-use of another section;
4.1 <Element existence check of other sections of software to be incorporated>
When other section elements are used in the inserted code (depending on the determination by the means for using / not using the elements of other sections that have a function), search for other sections and elements of other sections Other section element presence / absence search means for searching whether or not exists,
4.1.1 <When other section elements exist in the embedded software>
When other section elements exist in the software to be incorporated (depending on judgment by other section element presence / absence search means)
An insertion code for changing an address of an element of another section of code to be inserted according to an address of an element of another section;
4.1.2 <When other section elements are not present in the embedded software>
When there are no other section elements in the software to be incorporated (depending on the judgment by other section element presence / absence search means)
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0 having code insertion code address designation / non-designation judging means for judging whether or not an address in the code is designated by inserting the code;
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
(If there is a designated part depending on the judgment by the address designation / non-designation judgment means in the code insertion code) Search the instruction to refer to the address in the current code and refer to the address in the code section. And an address shift means for shifting the inserted code by an amount corresponding to the inserted code size.
6).
6.0 code insertion code size large / non-large judgment means for judging whether or not the code size is larger than the beginning by code insertion;
(When code size becomes larger than the beginning due to code insertion)
When the code size becomes larger than the size described in the code section header due to the code insertion (depending on the judgment by the code insertion code size large / non-large judgment means)
Code size changing means for changing the code section described in the code section header and / or the code size of the code section to a size having a specified width larger than the size after the code is inserted;
A first other section for determining whether a first other section (other than a code section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
First other section start address for changing the start address of the first other section and / or the first other section described in the first other section header by the size incremented by the code size changing means Change means,
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code insertion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size large / non-large judgment means for judging whether or not the first other section size is larger than the first by insertion of the code,
(When the code inserts the first other section size larger than the beginning)
If code insertion causes the size of the first other section to be larger than the size described in the first other section header (determine whether code insertion causes the other section size to be larger than the beginning) Depending on the judgment by the other section size large / non-large judgment means of the first code insertion)
The size of the first other section and / or the first other section described in the first other section header is changed to a size having a specified width larger than the size after the first other section is inserted. First other section sizing means to
A second other section for determining whether a second other section (other than the code section) is present,
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the second other section header having the start address after the start address of the first other section is set to the first other section. Means for changing the start address of the second other section that is shifted by an increment of the section start address and the size;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code insertion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. And a process repeat execution means.

尚、上述した機械語コード組み込み装置は、ELF(Executable・and・Linkable・Format)フォーマットの場合でも同様に組み込みが行え、PEファイルフォーマットの場合、各セクションヘッダーのアドレス及び/又はサイズ等の検索に、PEヘッダー及び/又はセクションヘッダーを用いていたものを、ELFファイルフォーマットの場合、ELFヘッダー、プログラムヘッダー、セクションヘッダ、及び/又は、セクションヘッダーテーブルを用いるようになり、これらを、(各セクションのアドレス及び/又はサイズが記載されている)ヘッダーと纏めて記すと、ELFフォーマットを含める場合は、以下のようになる。
本発明の実施の形態の機械語コード組み込み装置は、
ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置であって、
1.<コードの挿入>
1.0 組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
組み込むソフトウエアのコードのどの位置に機能を有する手段を挿入するかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に何らかの処理を行う場合(コード挿入位置選択判断手段による判断に依る)、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの開始アドレスの前に、コードを挿入するコード挿入手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに挿入したコードアドレスを減算した開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後にコードを挿入するコード挿入手段と
を有し、
2.<データアドレスの変更>
2.0 挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段と
を有し、
挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合(システムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段による判断に依る)、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と
を有し、
3.<機能を有する手段が呼び出し関数群格納ファイルを使用している場合>
3.0 機能を有する手段が呼び出し関数群格納ファイルを使用しているかどうかを判断する、機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段と
を有し、
3.1<組み込むソフトウエアの呼び出し関数群格納ファイル存在チェック>
挿入したコード内に呼び出し関数群格納ファイル被格納呼び出し関数をコールしている場合(機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段による判断に依る)、組み込むソフトウエアの呼び出し関数群呼び出しセクションを検索し、呼び出し関数群格納ファイルが存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段と
を有し、
3.1.1<組み込むソフトウエアに呼び出し関数群格納ファイルが存在している場合>
組み込むソフトウエアに呼び出し関数群格納ファイルが存在している場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段による判断に依る)、
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段と
を有し、
3.1.1.1<組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合>
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段による判断に依る)、
その呼び出し関数群格納ファイル被格納呼び出し関数のアドレスにより挿入するコードの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する挿入コード呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.1.2<組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合>
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数を追加し、呼び出し関数群格納ファイル被格納呼び出し関数追加によるサイズ変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.2<組み込むソフトウエアに呼び出し関数群格納ファイルが存在していない場合>
組み込むソフトウエアに呼び出し関数群格納ファイルが存在していない場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段による判断に依る)、
呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数を呼び出し関数群呼び出しセクションに追加し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数追加によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
4.<機能を有する手段が(コード記載、呼び出し関数群呼び出し、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0 機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1<組み込むソフトウエアの他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と
を有し、
4.1.1<組み込むソフトウエアに他のセクションの要素存在時>
組み込むソフトウエアに他のセクションの要素が存在している場合(他のセクション要素存在/非存在検索手段による判断に依る)、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と
を有し、
4.1.2<組み込むソフトウエアに他のセクションの要素非存在時>
組み込むソフトウエアに他のセクションの要素が存在していない場合(他のセクション要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0 コードの挿入により、コード内のアドレスを指定しているかどうかを判断するコード挿入コード内アドレス指定/非指定判断手段と
を有し、
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
(コード挿入コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらし手段と
を有し、
6.
6.0 コード挿入によりコードサイズが初めより大きくなるかどうかを判断するコード挿入コードサイズ大/非大判断手段と
を有し、
(コード挿入によりコードサイズが初めより大きくなる場合)
コード挿入により、コードサイズが(コード記載セクション)ヘッダーに記載されているサイズよりも大きくなる場合(コード挿入コードサイズ大/非大判断手段による判断に依る)、
(コード記載セクション)ヘッダー内に記載のコード記載セクション及び/又はコード記載セクションのコードサイズをコード挿入後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コード記載セクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により増分したサイズ分、(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションの開始アドレスを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード挿入により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより大きくなる場合)
コード挿入により、第1の他のセクションのサイズが(第1の他のセクション)ヘッダー内に記載されているサイズよりも大きくなる場合(コード挿入により他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段による判断に依る)、
(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション挿入後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コード記載セクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する(第2の他のセクション)ヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの増分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード挿入により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有し、
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置
となる。
尚、以上において、他のファイルフォーマットにおいても、上述したソフトウエア製造装置において、ソフトウエアにバイナリの状態で組み込んだ機能を有する手段をバイナリの状態で組み込み削除することができ、COFF(Common・Object・File・Format)、XCOFF、ECOFF、a.outフォーマットの場合においてもフォーマットに応じて不用な手段を使用しないようにすれば、上述したソフトウエア製造装置において、ソフトウエアに機能を有する手段をバイナリの状態で組み込むことができる。
The machine language code embedding device described above can be similarly incorporated even in the case of the ELF (Executable, Linkable, Format) format. In the PE file format, the address and / or size of each section header can be searched. In the case of the ELF file format, the ELF header, the program header, the section header, and / or the section header table are used in the ELF file format. When the ELF format is included, it is as follows when it is described together with the header (in which the address and / or size is described).
A machine language code embedding device according to an embodiment of the present invention includes:
A software manufacturing apparatus characterized by incorporating means having a function in software in a binary state,
1. <Insert code>
1.0 Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in the embedded software;
A code insertion position selection judging means for selecting and judging at which position of the code of the software to be embedded the functioning means is inserted;
1.1. When there is a part that calls the code start address in the current code, such as debugging information, in the embedded software (depends on the judgment by the code start address call part search means), and some processing is performed before the code starts (Depends on the determination by the code insertion position selection determination means),
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code insertion means for inserting a code before the start address of the code description section based on the code start address searched by the code start address call location search means in the code description section;
A code start address in the code description section, a call code start address changing means for rewriting the code start address obtained by subtracting the code address inserted in the code start address of the code start address searched by the call position search means;
1.2. If the embedded software does not have a location to call the code start address in the current code, such as debug information (depending on the judgment by the code start address call location search means), or other than 1.1 (code description section) header Code start address search means for searching the code start address of
A code insertion means for inserting a code at the beginning, middle or end of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or calling function group storage file stored call function is called in the inserted code, and the system call or calling function group storage file stored call to determine whether the function uses data Function data use / non-use judgment means,
When a system call or calling function group storage file stored call function is called in the inserted code and the function uses data (system call or calling function group storage file stored call function data used / not used) Data section adding means for adding data to the data section)
Insertion code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a calling function group storage file>
3.0 means for determining whether or not a means having a function uses a calling function group storage file, and means for determining whether a function calling function group storage file is used / not used.
3.1 <Existing software call function group storage file existence check>
Call function group storage file stored call function is called in the inserted code (depending on judgment by means of using / non-use judging means having function calling function group storage file) A calling function group calling section calling function group storage file existence / non-existence searching means for searching for a section and searching whether a calling function group storage file exists;
3.1.1 <When calling function group storage file exists in software to be embedded>
When the call function group storage file exists in the software to be embedded (depending on the judgment by the calling function group call section call function group storage file existence / non-existence search means)
A call function group calling section calling function group storage file stored call function existence / non-existence search means for searching whether or not a call function group storage file stored call function exists in the embedded software;
3.1.1.1 <When a call function group storage file stored call function exists in the embedded software>
If the call function group storage file stored call function exists in the software to be embedded (depending on the judgment by the call function group call section call function group storage file stored call function existence / non-existence search means),
A call function group storage file stored call function address changing means for changing a call function group storage file stored call function address of a code to be inserted according to an address of the call function group storage file stored call function;
3.1.1.2 <When the call function group storage file stored call function does not exist in the embedded software>
If the call function group storage file stored call function does not exist in the software to be embedded (depending on the judgment by the call function group call section call function group storage file stored call function existence / non-existence search means),
Call function group storage file stored call function is added, and the call function group storage file stored call function in the call function group call section in the call function group call section for the size change by adding the call function group storage file stored call function A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a calling function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means,
3.1.2 <When the calling function group storage file does not exist in the software to be embedded>
If the calling function group storage file does not exist in the software to be embedded (depending on the judgment by the calling function group calling section calling function group storage file existence / non-existence retrieval means),
Call function group storage file and call function group storage file stored call function are added to the call function group call section, and the call function group storage file and call function group storage file stored call function added address call function group call section Calling function group storage file address, calling function group storage file stored call function address, and / or other address reference address in the calling function group calling section is changed. , Calling function group storage file stored call function address changing means,
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a calling function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means,
4). <When the functional means uses elements of other sections (single code or plurals other than code description, calling function group call, data section)>
4.0 means for determining whether a means having a function uses an element of another section; a means for determining a function use / non-use of another section;
4.1 <Element existence check of other sections of software to be incorporated>
When other section elements are used in the inserted code (depending on the determination by the means for using / not using the elements of other sections that have a function), search for other sections and elements of other sections Other section element presence / absence search means for searching whether or not exists,
4.1.1 <When other section elements exist in the embedded software>
When other section elements exist in the software to be incorporated (depending on judgment by other section element presence / absence search means)
An insertion code for changing an address of an element of another section of code to be inserted according to an address of an element of another section;
4.1.2 <When other section elements are not present in the embedded software>
When there are no other section elements in the software to be incorporated (depending on the judgment by other section element presence / absence search means)
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0 having code insertion code address designation / non-designation judging means for judging whether or not an address in the code is designated by inserting the code;
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
(If there is a designated part depending on the judgment by the address designation / non-designation judgment means in the code insertion code) Search the current code for the instruction that refers to the address, and refer to the address in the code description section. And an address shifting means for shifting the inserted address by the size of the inserted code.
6).
6.0 code insertion code size large / non-large judgment means for judging whether or not the code size is larger than the beginning by code insertion;
(When code size becomes larger than the beginning due to code insertion)
When the code size becomes larger than the size described in the (code description section) header due to code insertion (depending on the judgment by the code insertion code size large / non-large judgment means)
(Code description section) code size changing means for changing the code size of the code description section described in the header and / or the code size of the code description section to a size having a specified width larger than the size after the code is inserted;
A first other section for determining whether a first other section (other than the code-written section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section for changing the start address of the first other section and / or the first other section described in the header by the size incremented by the code size changing means. Starting address changing means;
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code insertion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size large / non-large judgment means for judging whether or not the first other section size is larger than the first by insertion of the code,
(When the code inserts the first other section size larger than the beginning)
If code insertion causes the size of the first other section to be larger than the size described in the header (first other section) The code insertion to be determined depends on the first other section size large / non-large judgment means),
(First other section) The size of the first other section and / or the first other section described in the header is larger than the size after insertion of the first other section. A first other section size changing means for changing to
A second other section for determining whether there is a second other section (other than the code-written section);
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the header having the start address after the start address of the first other section (second other section) Means for changing the start address of the second other section that is shifted by an increment in size from the start address of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code insertion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. 1 processing repetition execution means,
A software manufacturing apparatus is characterized in that means having a function in software is incorporated in a binary state.
In the above, even in other file formats, in the above-described software manufacturing apparatus, means having a function incorporated in the software in a binary state can be incorporated and deleted in the binary state, and COFF (Common Object・ In the case of File / Format), XCOFF, ECOFF, a.out format, if the unnecessary means are not used according to the format, the above-mentioned software manufacturing apparatus can use the means having software functions as binary. Can be incorporated in the state.

尚、図1乃至図8に示す、本発明の実施の形態、本発明の第1乃至第5の実施の形態における、バイナリ組み込みの方法は、上述したバイナリ組み込みの方法のうち、図9(4)に示すバイナリ状態での実行体への機械語コード組み込み装置に該当し、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションの初め、中間、又は最後に、挿入したいバイナリコードを挿入する。また、挿入したいバイナリコードがデータを使用している場合、データセクションにデータを追加し、バイナリコード内の追加したデータのアドレスを変更する。また、挿入したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションにデータを追加し、バイナリコード内の追加した他のデータセクションのデータのアドレスを変更する。また、コードを挿入したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う処理を有しており、詳細には、
1.<コードの挿入>
1.0 組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と
を有し、
1.2.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後にコードを挿入するコード挿入手段と
を有し、
2.<データアドレスの変更>
2.0 挿入したコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又はdll関数データ使用/非使用判断手段と
を有し、
挿入したコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合(システムコール又はdll関数データ使用/非使用判断手段による判断に依る)、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と
を有し、
3.<機能を有する手段がdllを使用している場合>
3.0 機能を有する手段がdllを使用しているかどうかを判断する、機能を有する手段dll使用/非使用判断手段と
を有し、
3.1<組み込むソフトウエアのdll存在チェック>
挿入したコード内にdll関数をコールしている場合(機能を有する手段dll使用/非使用判断手段による判断に依る)、組み込むソフトウエアのインポートセクションを検索し、dllが存在するかどうかを検索するインポートセクションdll存在/非存在検索手段と
を有し、
3.1.1<組み込むソフトウエアにdllが存在している場合>
組み込むソフトウエアにdllが存在している場合(インポートセクションdll存在/非存在検索手段による判断に依る)、
組み込むソフトウエアにdll関数が存在するかどうかを検索するインポートセクションdll関数存在/非存在検索手段と
を有し、
3.1.1.1<組み込むソフトウエアにdll関数が存在している場合>
組み込むソフトウエアにdll関数が存在している場合(インポートセクションdll関数存在/非存在検索手段による判断に依る)、
そのdll関数のアドレスにより挿入するコードのdll関数アドレスを変更する挿入コードdll関数アドレス変更手段と
を有し、
3.1.1.2<組み込むソフトウエアにdll関数が存在していない場合>
組み込むソフトウエアにdll関数が存在していない場合(インポートセクションdll関数存在/非存在検索手段による判断に依る)、
dll関数を追加し、dll関数追加によるサイズ変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
3.1.2<組み込むソフトウエアにdllが存在していない場合>
組み込むソフトウエアにdllが存在していない場合(インポートセクションdll存在/非存在検索手段による判断に依る)、
dll,dll関数をインポートセクションに追加し、dll,dll関数追加によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内にインポートセクションのdll関数アドレスを使用している場合、使用しているdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
4.<機能を有する手段が(コード、インポート、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0 機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1<組み込むソフトウエアの他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と
を有し、
4.1.1<組み込むソフトウエアに他のセクションの要素存在時>
組み込むソフトウエアに他のセクションの要素が存在している場合(他のセクション要素存在/非存在検索手段による判断に依る)、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と
を有し、
4.1.2<組み込むソフトウエアに他のセクションの要素非存在時>
組み込むソフトウエアに他のセクションの要素が存在していない場合(他のセクション要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0 コードの挿入により、コード内のアドレスを指定しているかどうかを判断するコード挿入コード内アドレス指定/非指定判断手段と
を有し、
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
(コード挿入コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらし手段と
を有した処理を使用して、起動時にMACアドレスを組み込む処理を実行体のバイナリの初めに組み込む。即ち、起動時にMACアドレスを組み込む方法は、データセクションにMACアドレスのサイズと同様のサイズのMACアドレス格納領域を予め確保しておき、起動時に取得したMACアドレスを予め確保しておいた領域に格納する。また、データセクションにMACアドレスのサイズと同様のサイズのMACアドレス格納領域を予め確保し、そこに予め定めたMACアドレスの固定の文字列を格納しておき、起動時に取得したMACアドレスを、予め定めたMACアドレスの固定の文字列を検索して検索されたMACアドレスと置き換えるようにして予め確保しておいた領域に格納するようにしてもよい。
The binary incorporation method in the embodiment of the present invention and the first to fifth embodiments of the present invention shown in FIGS. 1 to 8 is the same as the binary incorporation method described above with reference to FIG. This corresponds to the machine language code embedding device in the execution body in the binary state shown in FIG. 9 and there is no part in the code that jumps to the program start position in the code section. In the case of a code section that uses a function that is called in a file that contains a group of functions (for example, dll in the case of Windows (registered trademark)) Insert the binary code you want to insert at the beginning, middle, or end. If the binary code to be inserted uses data, the data is added to the data section, and the address of the added data in the binary code is changed. If the inserted binary code uses data in another data section, the data is added to the other data section, and the address of the data in the added other data section in the binary code is changed. In addition, it has a process to change the address of the part that refers to the address in the code of the other code part by inserting the code,
1. <Insert code>
1.0 The software to be embedded has a code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information,
1.2. When there is no location to call the code start address in the current code (depending on the judgment by the code start address call location search means), or other than 1.1 (code section) in the embedded software, etc. A code start address search means for searching for a code start address;
Code insertion means for inserting a code at the beginning, middle or end of a code section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or dll function is called in the inserted code, and the system call or dll function data use / non-use determination means for determining whether or not the function uses data,
If a system call or dll function is called in the inserted code and the function uses data (depending on the determination by the system call or dll function data use / non-use determination means), the data is stored in the data section. Means for adding a data section to be added;
Insertion code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a dll>
3.0 means for determining whether or not the means having a function uses a dll, and means for determining whether or not to use a dll.
3.1 <Existing software dll existence check>
If a dll function is called in the inserted code (depending on the judgment by the means for using / not using the dll that has the function), the import section of the software to be installed is searched for whether the dll exists. And import section dll presence / non-existence search means,
3.1.1 <When dll exists in software to be installed>
When the dll exists in the software to be embedded (depending on the judgment by the import section dll existence / non-existence search means)
Having an import section dll function existence / non-existence search means for searching whether the dll function exists in the software to be embedded;
3.1.1.1 <When dll function exists in software to be incorporated>
When the dll function exists in the software to be embedded (depending on the judgment by the import section dll function existence / non-existence search means)
An insertion code dll function address changing means for changing the dll function address of the code to be inserted according to the address of the dll function;
3.1.1.2 <When dll function does not exist in software to be installed>
If the dll function does not exist in the software to be embedded (depending on the judgment by the import section dll function existence / non-existence search means)
Changing the dll address in the import section by adding a dll function, and changing the dll address in the import section, the dll function address, and / or other address reference address in the import section When,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
3.1.2 <When dll does not exist in the software to be installed>
If the dll does not exist in the software to be installed (depends on the judgment by the import section dll existence / non-existence search means),
In the import section that adds dll and dll functions to the import section and changes the dll address, dll function address, and / or other address reference address in the import section by changing the address by adding the dll or dll function dll, dll function address changing means,
If the dll function address of the import section is used in the current code, the dll function address in the current code is changed to the address changed by the dll and dll function address changing means in the import section. Means,
4). <When the functional means uses elements of other sections (one or more other than code, import, data section)>
4.0 means for determining whether a means having a function uses an element of another section; a means for determining a function use / non-use of another section;
4.1 <Element existence check of other sections of software to be incorporated>
When other section elements are used in the inserted code (depending on the determination by the means for using / not using the elements of other sections that have a function), search for other sections and elements of other sections Other section element presence / absence search means for searching whether or not exists,
4.1.1 <When other section elements exist in the embedded software>
When other section elements exist in the software to be incorporated (depending on judgment by other section element presence / absence search means)
An insertion code for changing an address of an element of another section of code to be inserted according to an address of an element of another section;
4.1.2 <When other section elements are not present in the embedded software>
When there are no other section elements in the software to be incorporated (depending on the judgment by other section element presence / absence search means)
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0 having code insertion code address designation / non-designation judging means for judging whether or not an address in the code is designated by inserting the code;
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
(If there is a designated part depending on the judgment by the address designation / non-designation judgment means in the code insertion code) Search the instruction to refer to the address in the current code and refer to the address in the code section. The process of incorporating the MAC address at the time of startup is incorporated at the beginning of the binary of the execution body using a process having an address shift means for inserting the code to insert the searched address by the code size inserted. In other words, the method of incorporating the MAC address at the time of startup is to reserve a MAC address storage area of the same size as the MAC address in the data section in advance and store the MAC address acquired at startup in the area reserved in advance. To do. In addition, a MAC address storage area of the same size as the MAC address size is reserved in advance in the data section, a fixed character string of a predetermined MAC address is stored therein, and the MAC address acquired at startup is stored in advance. A fixed character string of a predetermined MAC address may be searched and replaced with the searched MAC address and stored in a previously secured area.

なお、上記実施の形態及び実施例中において説明した処理を行うプログラムをプログラム実施者に供給若しくは配布する供給若しくは配布媒体としては、磁気テープ,光/磁気・半導体ディスク, フラッシュメモリ等を含む半導体メモリ,超伝導メモリ等の記録媒体の他、伝送媒体等を含み、プログラム実施者に供給若しくは配布可能な供給若しくは配布媒体であればどのようなものであってもよい。   As a supply or distribution medium for supplying or distributing a program for performing the processing described in the above embodiments and examples to a program operator, a semiconductor memory including a magnetic tape, an optical / magnetic / semiconductor disk, a flash memory, etc. Any supply or distribution medium that can be supplied or distributed to the program implementer, including a transmission medium in addition to a recording medium such as a superconductive memory, may be used.

尚、以上において、上記したソフトウエア製造装置を、電子機器又はコンピュータ上に設置し、電子機器又はコンピュータ上に存在する実行体に、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを自動的に組み込めば、電子機器又はコンピュータ上に存在する全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上する。また、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、組み込み指標選択(又は画面表示選択)手段(ソフトウエア製造装置の初期設定用のソフトウエア)が表示され、選択(又は画面表示選択)手段により選択した組み込み指標に基づいて、電子機器又はコンピュータ上に存在するプログラムのうちの、組み込み指標で設定された実行体の組み込み指標で設定された位置に、組み込み指標で設定された組み込み用プログラムが、実行体の停止中に(電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、停止中に)バイナリの状態で組み込むようにしてもよい。これらの実行体への組み込みは、電子機器又はコンピュータ上に存在する全てのプログラムに対して行えるように組み込み指標を定義すれば、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上に存在する全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる(1電子機器唯一動作許可ソフトウエア製造装置とすることができる)。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上する。   In the above, the above-described software manufacturing apparatus is installed on an electronic device or a computer, and an execution permission program on the electronic device or computer is automatically provided with, for example, one electronic device unique operation permission program as a binary embedded code. In this case, all the execution bodies existing on the electronic device or computer can be operated only on the electronic device or computer. For this reason, for example, when another person uses an electronic device or a computer, even if another person takes out the execution body, it can be operated only by the electronic device or the computer, and the security function is improved. Also, based on built-in indicators (such as which built-in programs are installed in which software locations and / or whether to make initial settings, etc.) (Selection) When the controller or the computer has a display means, the display means of the computer displays built-in index selection (or screen display selection) means (software for initial setting of the software manufacturing apparatus), Based on the built-in index selected by the selection (or screen display selection) means, the built-in index at the position set by the built-in index of the execution body set by the built-in index among the programs existing on the electronic device or computer. The embedded program set in step 2 is displayed while the executable is stopped (program on the electronic device or computer Monitoring the execution of the executable unit, it may be incorporated in the state of) binary stopped. If an embedded index is defined so that it can be incorporated into all execution programs on an electronic device or a computer, for example, if an electronic device unique operation permission program is incorporated as a binary embedded code, All the execution bodies existing on the electronic device or the computer can be operated only on the electronic device or the computer (one electronic device can be the only operation-permitted software manufacturing apparatus). For this reason, for example, when another person uses an electronic device or a computer, even if another person takes out the execution body, it can be operated only by the electronic device or the computer, and the security function is improved.

本発明の実施の形態の機械語コード組込装置(電子機器)及び方法について、図10を用いて説明する。   A machine language code embedding device (electronic device) and method according to an embodiment of the present invention will be described with reference to FIG.

図10(1)は、機械語コード組込装置(電子機器)1000aの概観の構成を示す斜視図である。   FIG. 10A is a perspective view showing a general configuration of the machine language code incorporating device (electronic device) 1000a.

機械語コード組込装置(電子機器)1000aは、矩形の容器で覆われ、各種媒体入出力(挿入口)1016a、及び/又は組込状態表示釦1017a、及び/又は各種媒体入出力(挿入口)1022a、及び/又は(選択)操作機(コンピュータ)入出力(挿入口)1023aとから構成されている。以下、各種媒体とは、記録媒体及び/又は伝送媒体を示すものとする。   Machine language code assembly device (electronic device) 1000a is covered with a rectangular container, and various medium input / output (insertion port) 1016a and / or incorporation state display button 1017a and / or various medium input / output (insertion port) ) 1022a and / or (selection) operating device (computer) input / output (insert port) 1023a. Hereinafter, various media refer to recording media and / or transmission media.

図11(1)は、機械語コード組込装置(電子機器)1000aの構成を示すブロック図である。   FIG. 11 (1) is a block diagram showing the configuration of a machine language code embedding device (electronic device) 1000a.

機械語コード組込装置(電子機器)1000aは、CPU(Central・Processing・Unit)1011a、ROM(Read・Only・Memory)1012a、RAM(Random・Access・Memory)1013a、バス1014a、入出力インターフェイス1015a、各種媒体入出力1016aと、及び/又は各種媒体入出力1022aと、及び/又は(選択)操作機(コンピュータ)入出力1023aとから構成されている。尚、各種媒体入出力1016a、各種媒体入出力1022aとしては、各種ケーブル等も含まれるものとする。また、各種媒体入出力1016a、各種媒体入出力1022aは、各種媒体に応じた挿入口又はコネクタとすることができ、図11(1)中においても、各種媒体に応じた挿入口又はコネクタの形状に応じたものとすることができる。   A machine language code embedded device (electronic device) 1000a includes a CPU (Central Processing Unit) 1011a, a ROM (Read Only Memory) 1012a, a RAM (Random Access Memory) 1013a, a bus 1014a, and an input / output interface 1015a. , Various medium input / output 1016a, and / or various medium input / output 1022a, and / or (selection) operating device (computer) input / output 1023a. The various medium input / output 1016a and the various medium input / output 1022a include various cables. Further, the various medium input / output 1016a and the various medium input / output 1022a can be insertion ports or connectors corresponding to various media, and the shape of the insertion port or connector corresponding to various media is also shown in FIG. Depending on the situation.

CPU1011aは、ROM1012aに記憶されているプログラムに従って、各種の処理を実行する。RAM1013aは、CPU1011aが各種の処理を実行する上において必要なデータ、プログラム等が、適宜記憶される。入出力インターフェイス1015aは、各種媒体入出力1016a、及び/又は組込状態表示釦1017a、及び/又は各種媒体入出力1022a、に対する入出力のインターフェース処理を実行する。   The CPU 1011a executes various processes in accordance with programs stored in the ROM 1012a. The RAM 1013a appropriately stores data, programs, and the like necessary for the CPU 1011a to execute various processes. The input / output interface 1015a executes input / output interface processing for various medium inputs / outputs 1016a and / or built-in state display buttons 1017a and / or various medium inputs / outputs 1022a.

機械語コード組込装置(電子機器)1000aは、各種媒体挿入口1016aに挿入されたソフトウエアが格納された媒体からソフトウエアを読み出し、そのソフトウエアに機械語コードで、上述した本明細書中全てに記載されているプログラム、例えば、上述した一電子機器動作許可の機能を有するプログラムを初め、初期設定された、機能を有する手段であるプログラムをソフトウエアにバイナリの状態で組み込み、組み込んたソフトウエアを媒体に格納する。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023aを有している場合、機械語コード組込装置(電子機器)1000aに、(選択)操作機(コンピュータ)入出力(挿入口)1023aを介して(選択)操作機(コンピュータ)1024aを接続することにより表示される選択(又はメニュー表示画面選択)手段(機械語コード組込装置(電子機器)の初期設定用のソフトウエア)からの選択により決定される。その他の各種設定、各種(選択)操作もこの(選択)操作機(コンピュータ)入出力(挿入口)1023aを介して(選択)操作機(コンピュータ)1024aにより行われる。   The machine language code embedding device (electronic device) 1000a reads the software from the medium storing the software inserted into the various medium insertion ports 1016a, and the machine language code is stored in the software in the above-described specification. Programs that are described in all, for example, the above-described program having the function of permitting the operation of one electronic device, and the program that is a function unit that has been initially set in the software in a binary state Store the wear on the medium. These initial settings are as follows. When the (selection) operating device (computer) input / output (insertion) 1023a is provided, the machine language code incorporating device (electronic device) 1000a is connected to the (selection) operating device (computer). Selection (or menu display screen selection) means (for initial setting of the machine language code embedded device (electronic device)) displayed by connecting the (selection) controller (computer) 1024a via the output (insert port) 1023a Determined by selection from the software. Various other settings and various (selection) operations are also performed by the (selection) operation device (computer) 1024a via the (selection) operation device (computer) input / output (insertion port) 1023a.

尚、各種媒体挿入口1016aに、ソフトウエア、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータ、及び/又は、組み込み用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアに組み込み用プログラムがバイナリの状態で格納され(高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、組み込み用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理(供給媒体からソフトウエアを供給した場合)と同様の処理を行う。)   A file or data indicating software and / or an installation index (which installation program is installed at which position of which software, and / or whether initial setting is performed, etc.) in each medium insertion slot 1016a. And / or embedded program indicators (which embedded programs are added, changed, and / or deleted, the order of the embedded programs, which embedded programs are written in machine language or in any high-level language, and When the file or data indicating whether or not to perform initial setting) and / or the embedded program is inserted, the embedded program is binary in the software according to the embedded index or the file or data indicating the embedded program index. Stored in state (written in high-level language And only the part of the program which is compiled by a high-level language compiler and has a function including processing is stored in machine language), and / or an embedded program index and / or embedded The program index is changed and stored, and / or the embedded program is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as those shown in FIG. 12 (when software is supplied from the supply medium).)

また、各種媒体挿入口1022aを備えている場合、各種媒体挿入口1022aに組み込み用のプログラムが格納された各種媒体を挿入することによって、組み込みたい組み込み用のプログラムを入れ替えることができる。これは、高級言語で記載されたプログラムでもよく、高級言語で記載されたプログラムが挿入された場合は、高級言語用のコンパイラでコンパイルされ、処理が含まれたプログラムの部分だけが機械語で記憶される。この機械語で供給されるか高級言語のプログラムで供給されるかどの高級言語で供給されるかの選択は、初期設定の組み込み用プログラム指標で決定される。また、供給されたソフトウエアの初め、途中(何バイト目か等)、最後のどの箇所に組み込まれるかの判断も初期設定の組み込み指標により決定される。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023aを有している場合、機械語コード組込装置(電子機器)1000aに、(選択)操作機(コンピュータ)入出力(挿入口)1023aを介して(選択)操作機(コンピュータ)1024aを接続することにより表示される選択(又はメニュー表示画面選択)手段(機械語コード組込装置(電子機器)の初期設定用のソフトウエア)からの選択により決定される。   Further, in the case where the various medium insertion ports 1022a are provided, by inserting various media in which programs for incorporation are stored in the various medium insertion ports 1022a, the programs for incorporation to be incorporated can be replaced. This can be a program written in a high-level language. When a program written in a high-level language is inserted, it is compiled by a compiler for high-level languages and only the part of the program that includes processing is stored in machine language. Is done. The selection of the high-level language, which is supplied in the machine language or the high-level language program, is determined by the default built-in program index. In addition, the determination of which part of the supplied software is to be incorporated at the beginning, midway (number of bytes, etc.), and at the last part is also determined by the default setting index. These initial settings are as follows. When the (selection) operating device (computer) input / output (insertion) 1023a is provided, the machine language code incorporating device (electronic device) 1000a is connected to the (selection) operating device (computer). Selection (or menu display screen selection) means (for initial setting of the machine language code embedded device (electronic device)) displayed by connecting the (selection) controller (computer) 1024a via the output (insert port) 1023a Determined by selection from the software.

尚、各種媒体挿入口1016a又は各種媒体挿入口1022aに、ソフトウエア、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータ、及び/又は、組み込み用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアに組み込み用プログラムがバイナリの状態で格納され(高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、組み込み用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理(供給媒体からソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that the various media insertion slot 1016a or the various media insertion slot 1022a have software and / or built-in indexes (whether which built-in program is to be built in which position and / or whether or not to make initial settings, etc.) ) File and / or data and / or embedded program index (which embedded program is added, changed, and / or deleted, the sequence of the embedded program, the embedded program is written in machine language or any high-level language) When the embedded program is inserted, and / or the file or data indicating whether or not the initial setting is performed, and / or the embedded program is inserted into the software in accordance with the file or data indicating the embedded index and the embedded program index Embedded program is in binary state (If it is written in a high-level language, it is compiled by a high-level language compiler and only the part of the program that has a function including processing is stored in machine language) and / or embedded The program index for installation and / or the program index for installation is changed and stored, and / or the program for installation is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as those shown in FIG. 12 (when software is supplied from the supply medium).)

従って、本発明の実施の形態の機械語コード組込装置(電子機器)によれば、ソフトウエアが格納された媒体を各種媒体挿入口1016aに挿入するだけで、そのソフトウエアに機械語コードで、上述した本明細書中全てに記載されているプログラム、例えば、上述した一電子機器動作許可の機能を有するプログラムを初め、初期設定された組み込み指標に基づいて、又は、組み込み指標を示すファイル又はデータに記載された組み込み指標、並びに/若しくは、組み込み用プログラム指標、及び/又は、組み込み用プログラムに基づいて、機能を有する手段であるプログラムがバイナリの状態で組み込まれたソフトウエアを媒体に格納することができる(一電子機器動作許可機械語コード組込装置(電子機器)とすることができる)。   Therefore, according to the machine language code embedding device (electronic device) of the embodiment of the present invention, it is possible to simply insert a medium in which software is stored into the various medium insertion slot 1016a and use the machine language code in the software. The above-described programs described in all of the present specification, for example, the above-described program having the function of permitting the operation of one electronic device, a file indicating the built-in index based on the initially set built-in index, or Based on the built-in index described in the data and / or the built-in program index and / or the built-in program, software that is a means having a function and stored in a binary state is stored in the medium. (One electronic device operation permission machine language code embedded device (electronic device) can be used).

尚、組込状態表示釦1012aを備えている場合は、組込状態表示釦1012aは、組み込みの処理の始まり及び組み込み処理中は点灯し、処理が終わると消灯する。   If the built-in state display button 1012a is provided, the built-in state display button 1012a is turned on during the start of the incorporation process and during the assembly process, and is turned off when the process is completed.

図10(2)は、機械語コード組込装置(電子機器)1000bの概観の構成を示す斜視図である。   FIG. 10B is a perspective view showing a general configuration of the machine language code incorporating device (electronic device) 1000b.

機械語コード組込装置(電子機器)1000bは、矩形の容器で覆われ、各種媒体入出力(挿入口)1016b、及び/又は組込状態表示釦1017bと、各種釦(上下及び/又は左右指示釦、並びに/若しくは決定釦が備えられている)1018bと、表示部1020bと、及び/又は各種媒体入出力(挿入口)1022bと、及び/又は(選択)操作機(コンピュータ)入出力(挿入口)1023bとから構成されている。   Machine language code embedded device (electronic device) 1000b is covered with a rectangular container, and various medium input / output (insertion port) 1016b and / or embedded state display button 1017b and various buttons (up and down and / or left and right instructions) Button and / or decision button) 1018b, display 1020b, and / or various media input / output (insertion port) 1022b, and / or (selection) operating device (computer) input / output (insertion) Mouth) 1023b.

図11(2)は、機械語コード組込装置(電子機器)1000bの構成を示すブロック図である。   FIG. 11 (2) is a block diagram showing a configuration of a machine language code embedding device (electronic device) 1000b.

機械語コード組込装置(電子機器)1000bは、CPU(Central・Processing・Unit)1011b、ROM(Read・Only・Memory)1012b、RAM(Random・Access・Memory)1013b、バス1014b、入出力インターフェイス1015b、各種媒体入出力(挿入口)1016b、及び/又は組込状態表示釦1017b、各種釦1018b、表示部1020b、及び/又は各種媒体入出力(挿入口)1022bと、及び/又は(選択)操作機(コンピュータ)入出力(挿入口)1023aとから構成されている。尚、各種媒体入出力1016b、各種媒体入出力1022bとしては、各種ケーブル等も含まれるものとする。また、各種媒体入出力1016b、各種媒体入出力1022bは、各種媒体に応じた挿入口又はコネクタとすることができ、図11(2)中においても、各種媒体に応じた挿入口又はコネクタの形状に応じたものとすることができる。   The machine language code embedded device (electronic device) 1000b includes a central processing unit (CPU) 1011b, a read only memory (ROM) 1012b, a random access memory (RAM) 1013b, a bus 1014b, and an input / output interface 1015b. , Various medium input / output (insertion port) 1016b and / or built-in state display button 1017b, various buttons 1018b, display unit 1020b, and / or various medium input / output (insertion port) 1022b, and / or (selection) operation. Machine (computer) input / output (insert port) 1023a. The various medium input / output 1016b and the various medium input / output 1022b include various cables. Further, the various medium input / output 1016b and the various medium input / output 1022b can be insertion ports or connectors corresponding to various media, and the shape of the insertion port or connector corresponding to various media is also shown in FIG. Depending on the situation.

CPU1011aは、ROM1012aに記憶されているプログラムに従って、各種の処理を実行する。RAM1013bは、CPU1011bが各種の処理を実行する上において必要なデータ、プログラム等が、適宜記憶される。入出力インターフェイス1015aは、各種媒体入出力1016b、及び/又は組込状態表示釦1017b、各種釦1018b、及び/又はマウス1019b、表示部1020b、及び/又は各種媒体入出力1022b、及び/又は(選択)操作機(コンピュータ)入出力(挿入口)1023bに対する入出力のインターフェース処理を実行する。   The CPU 1011a executes various processes in accordance with programs stored in the ROM 1012a. The RAM 1013b appropriately stores data, programs, and the like necessary for the CPU 1011b to execute various processes. The input / output interface 1015a includes various medium input / output 1016b and / or built-in state display buttons 1017b, various buttons 1018b, and / or a mouse 1019b, a display unit 1020b, and / or various medium input / outputs 1022b and / or (selection). ) Input / output interface processing with respect to the operating device (computer) input / output (insertion port) 1023b is executed.

機械語コード組込装置(電子機器)1000bは、ソフトウエアが格納された媒体を各種媒体挿入口1016bを挿入すると、表示部1020bに、上述した一電子機器動作許可の機能を有するプログラムを初め、機能を有する手段であるプログラムであるバイナリ組み込み用プログラムの選択(又はメニュー表示画面選択)手段(組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を選択する選択(又はメニュー表示画面選択)手段)、及び/又は、組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を選択する選択(又はメニュー表示画面選択)手段)が表示され、所望のバイナリ組み込み用プログラムを選択することによって、選択したプログラムがソフトウエアにバイナリの状態で組み込まれ、組み込まれたソフトウエアが媒体に格納される。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023bを有している場合、機械語コード組込装置(電子機器)1000bに、(選択)操作機(コンピュータ)入出力(挿入口)1023bを介して(選択)操作機(コンピュータ)1024bを接続することにより表示される選択(又はメニュー表示画面選択)手段(機械語コード組込装置(電子機器)の初期設定用のソフトウエア)からの選択によっても決定することができる。また、その他の各種設定、各種(選択)操作もこの(選択)操作機(コンピュータ)入出力(挿入口)1023bを介して(選択)操作機(コンピュータ)1024bにより行われる。   When the machine language code embedding device (electronic device) 1000b inserts various media insertion ports 1016b into a medium storing software, the display unit 1020b starts with a program having the above-described function of permitting operation of one electronic device, Selection (or menu display screen selection) means for selecting a binary installation program that is a program having a function (embedding index (which installation program is installed in which position in which software, and / or initial setting) Selection (or menu display screen selection) means) and / or embedded program index (which embedded program is added, changed, and / or deleted, embedded program order, embedded program) Is written in machine language or high-level language, and / Or a selection means (or menu display screen selection) means) for selecting whether to perform initial setting, etc., and by selecting the desired binary installation program, the selected program is stored in the binary state in the software. The embedded software is stored in the medium. These initial settings are as follows. When the (selection) controller (computer) input / output (insertion port) 1023b is provided, the machine language code embedded device (electronic device) 1000b is connected to the (selection) controller (computer). Selection (or menu display screen selection) means (for initial setting of machine language code embedded device (electronic device)) displayed by connecting (selection) operating device (computer) 1024b via output (insertion port) 1023b It can also be determined by selection from the software. Various other settings and various (selection) operations are also performed by the (selection) operation device (computer) 1024b via the (selection) operation device (computer) input / output (insert port) 1023b.

尚、各種媒体挿入口1016bに、ソフトウエア、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータ、及び/又は、組み込み用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアに組み込み用プログラムがバイナリの状態で格納され(高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、組み込み用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理(供給媒体からソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that files and data indicating software and / or installation indices (which installation program is installed in which position, and / or whether initial settings are made, etc.) in various medium insertion openings 1016b. And / or embedded program indicators (which embedded programs are added, changed, and / or deleted, the order of the embedded programs, which embedded programs are written in machine language or in any high-level language, and When the file or data indicating whether or not to perform initial setting) and / or the embedded program is inserted, the embedded program is binary in the software according to the embedded index or the file or data indicating the embedded program index. Stored in state (written in high-level language And only the part of the program which is compiled by a high-level language compiler and has a function including processing is stored in machine language), and / or an embedded program index and / or embedded The program index is changed and stored, and / or the embedded program is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as those shown in FIG. 12 (when software is supplied from the supply medium).)

また、各種媒体挿入口1022bを備えている場合、各種媒体挿入口1022bに組み込み用のプログラムが格納された各種媒体を挿入することによって、選択(又はメニュー表示画面選択)手段(組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を選択する選択(又はメニュー表示画面選択)手段)、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を選択する選択(又はメニュー表示画面選択)手段)が表示され、各種媒体のどの組み込み用のプログラムを追加又はどの記憶されている組み込み用のプログラムと入れ替えるのかを選択決定することができる。これは、高級言語で記載されたプログラムでもよく、高級言語で記載されたプログラムが挿入された場合は、高級言語用のコンパイラでコンパイルされ、処理が含まれたプログラムの部分だけが機械語で記憶される。この機械語で供給されるか高級言語のプログラムで供給されるかどの高級言語で供給されるかの選択も、選択(又はメニュー表示画面選択)手段から選択決定することができる。また、供給されたソフトウエアの初め、途中(何バイト目か等)、最後のどの箇所に組み込まれるかの判断も選択(又はメニュー表示画面選択)手段から選択決定することができる。   In the case where the various medium insertion slot 1022b is provided, a selection (or menu display screen selection) means (embedded program index () is inserted by inserting various media in which a program for incorporation is stored in the various medium insertion slot 1022b. Which embedded programs are added, changed, and / or deleted, the order of the embedded programs, whether the embedded programs are written in machine language or in any high-level language, and / or whether to make initial settings, etc.) Selection (or menu display screen selection means) and / or an installation index (such as which installation program is installed in which position of software, and / or whether to perform initial setting, etc.) Selection (or menu display screen selection means) is displayed, and for which of various media It can be selected and determined whether replace the program for embedded being added or which store programs. This can be a program written in a high-level language. When a program written in a high-level language is inserted, it is compiled by a compiler for high-level languages and only the part of the program that includes processing is stored in machine language. Is done. The selection of whether to be supplied in the machine language or the high-level language program or in the high-level language can be selected and determined from the selection (or menu display screen selection) means. Further, it is possible to select and determine from the selection (or menu display screen selection) means whether the software is supplied at the beginning, middle (number of bytes, etc.), and at the last location.

尚、各種媒体挿入口1016a又は各種媒体挿入口1022aに、ソフトウエア、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータ、及び/又は、組み込み用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアに組み込み用プログラムがバイナリの状態で格納され(高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、組み込み用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理(供給媒体からソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that the various media insertion slot 1016a or the various media insertion slot 1022a have software and / or built-in indexes (whether which built-in program is to be built in which position and / or whether or not to make initial settings, etc.) ) File and / or data and / or embedded program index (which embedded program is added, changed, and / or deleted, the sequence of the embedded program, the embedded program is written in machine language or any high-level language) When the embedded program is inserted, and / or the file or data indicating whether or not the initial setting is performed, and / or the embedded program is inserted into the software in accordance with the file or data indicating the embedded index and the embedded program index Embedded program is in binary state (If it is written in a high-level language, it is compiled by a high-level language compiler and only the part of the program that has a function including processing is stored in machine language) and / or embedded The program index for installation and / or the program index for installation is changed and stored, and / or the program for installation is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as those shown in FIG. 12 (when software is supplied from the supply medium).)

従って、本発明の実施の形態の機械語コード組込装置(電子機器)によれば、ソフトウエアが格納された媒体を各種媒体挿入口1016aに挿入し、所望のバイナリ組み込み用プログラムを選択することによって、又は、初期設定された組み込み指標、又は、組み込み用プログラム指標を示すファイル又はデータに記載された組み込み指標、並びに/若しくは、組み込み用プログラム指標、及び/又は、組み込み用プログラムに基づいて、そのソフトウエアに機械語コードで、上述した本明細書中全てに記載されているプログラム、例えば、上述した一電子機器動作許可の機能を有するプログラムを初め、機能を有する手段であるプログラムがバイナリの状態で組み込まれたソフトウエアを媒体に格納することができる(一電子機器動作許可機械語コード組込装置(電子機器)とすることができる)。   Therefore, according to the machine language code embedding device (electronic device) of the embodiment of the present invention, the medium storing the software is inserted into the various medium insertion slot 1016a, and the desired binary incorporation program is selected. Or, based on the default built-in index, or the built-in index described in the file or data indicating the built-in program index, and / or the built-in program index, and / or the built-in program, The software is a machine language code, and the programs described in all of the above description, for example, the above-described program having the function of permitting the operation of one electronic device, and the program that is a function means are in a binary state. Can be stored on a medium (permission to operate one electronic device)械語 code sets write device can be Electronic Apparatus).

尚、組込状態表示釦1012bを備えている場合は、組込状態表示釦1012bは、組み込みの処理の始まり及び組み込み処理中は点灯し、処理が終わると消灯する。   If the built-in state display button 1012b is provided, the built-in state display button 1012b is turned on during the start of the incorporation process and during the incorporation process, and is turned off when the process is completed.

図10(3)は、機械語コード組込装置(電子機器)1000cの概観の構成を示す斜視図である。   FIG. 10 (3) is a perspective view showing a general configuration of the machine language code incorporating device (electronic device) 1000c.

機械語コード組込装置(電子機器)1000cは、矩形の容器で覆われ、各種媒体入出力(挿入口)1016c、及び/又は組込状態表示釦1017cと、各種処理開始用釦1021cと、及び/又は各種媒体入出力(挿入口)1022cと、及び/又は各種処理開始用釦1025cとから構成されている。   Machine language code embedded device (electronic device) 1000c is covered with a rectangular container, and various medium input / output (insertion port) 1016c and / or embedded state display button 1017c, various processing start buttons 1021c, and It comprises / or various medium input / output (insertion port) 1022c and / or various processing start buttons 1025c.

図11(3)は、機械語コード組込装置(電子機器)1000cの構成を示すブロック図である。   FIG. 11 (3) is a block diagram showing a configuration of a machine language code embedding device (electronic device) 1000c.

機械語コード組込装置(電子機器)1000cは、CPU(Centrcl・Processing・Unit)1011c、ROM(Recd・Only・Memory)1012c、RAM(Rcndom・Access・Memory)1013c、バス1014c、入出力インターフェイス1015c、各種媒体入出力1016cと、及び/又は各種処理開始用釦1021c(1021c−1〜1021c−N))と、及び/又は各種媒体入出力1022cと、及び/又は(選択)操作機(コンピュータ)入出力(挿入口)1023cと、及び/又は各種処理開始用釦1025c(1025c−1〜1025c−N)とから構成されている。尚、各種媒体入出力1016c,各種媒体入出力1022c,各種処理開始用釦1025cとしては、各種ケーブル等も含まれるものとする。また、各種媒体入出力1016c、各種媒体入出力1022cは、各種媒体に応じた挿入口又はコネクタとすることができ、図11(3)中においても、各種媒体に応じた挿入口又はコネクタの形状に応じたものとすることができる。   A machine language code embedded device (electronic device) 1000c includes a CPU (Centrcl / Processing / Unit) 1011c, a ROM (Recd / Only / Memory) 1012c, a RAM (Rcndom / Access / Memory) 1013c, a bus 1014c, and an input / output interface 1015c. , Various medium input / output 1016c and / or various processing start buttons 1021c (1021c-1 to 1021c-N)) and / or various medium input / output 1022c and / or (selection) operating device (computer) The input / output (insertion port) 1023c and / or various processing start buttons 1025c (1025c-1 to 1025c-N) are configured. The various medium input / output 1016c, the various medium input / output 1022c, and the various processing start buttons 1025c include various cables and the like. Further, the various medium input / output 1016c and the various medium input / output 1022c can be insertion ports or connectors corresponding to various media, and the shape of the insertion port or connector corresponding to various media is also shown in FIG. Depending on the situation.

CPU1011cは、ROM1012cに記憶されているプログラムに従って、各種の処理を実行する。RAM1013cは、CPU1011cが各種の処理を実行する上において必要なデータ、プログラム等が、適宜記憶される。入出力インターフェイス1015cは、各種媒体入出力1016c、及び/又は組込状態表示釦1017c、各種処理開始用釦1021c(1021c−1〜1021c−N)、及び/又は各種媒体入出力1022c、及び/又は(選択)操作機(コンピュータ)入出力(挿入口)1023c、及び/又は各種処理開始用釦1025c(1025c−1〜1025c−N)に対する入出力のインターフェース処理を実行する。   The CPU 1011c executes various processes in accordance with programs stored in the ROM 1012c. The RAM 1013c appropriately stores data, programs, and the like necessary for the CPU 1011c to execute various processes. The input / output interface 1015c includes various medium inputs / outputs 1016c and / or built-in state display buttons 1017c, various processing start buttons 1021c (1021c-1 to 1021c-N), and / or various medium input / outputs 1022c, and / or (Selection) Execute input / output interface processing for the operating device (computer) input / output (insertion port) 1023c and / or various processing start buttons 1025c (1025c-1 to 1025c-N).

機械語コード組込装置(電子機器)1000cは、各種媒体挿入口1016cにソフトウエアが格納された媒体が挿入され、上述した一電子機器動作許可の機能を有するプログラムを初め、機能を有する手段であるプログラムである所望のバイナリ組み込み用プログラムを各種処理開始用釦1021c(1021c−1〜1021c−N)によって選択することによって、選択したプログラムをソフトウエアにバイナリの状態で組み込み、組み込んたソフトウエアを媒体に格納する。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023cを有している場合、機械語コード組込装置(電子機器)1000cに、(選択)操作機(コンピュータ)入出力(挿入口)1023cを介して(選択)操作機(コンピュータ)1024aを接続することにより表示される選択(又はメニュー表示画面選択)手段からの選択により決定される。その他の各種設定、各種(選択)操作もこの(選択)操作機(コンピュータ)入出力(挿入口)1023cを介して(選択)操作機(コンピュータ)1024cにより行われる。   The machine language code embedding device (electronic device) 1000c is a means having a function including a program having a function of permitting the operation of one electronic device described above in which a medium storing software is inserted into various medium insertion ports 1016c. By selecting a desired binary incorporation program, which is a certain program, with various processing start buttons 1021c (1021c-1 to 1021c-N), the selected program is incorporated into the software in a binary state, and the embedded software is installed. Store on media. These initial settings are as follows. When the (selection) controller (computer) input / output (insertion port) 1023c is provided, the (selection) controller (computer) is input to the machine language code embedded device (electronic device) 1000c. It is determined by selection from a selection (or menu display screen selection) means displayed by connecting a (selection) controller (computer) 1024a via an output (insertion port) 1023c. Various other settings and various (selection) operations are also performed by the (selection) operation device (computer) 1024c via the (selection) operation device (computer) input / output (insertion port) 1023c.

尚、各種媒体挿入口1016cに、ソフトウエア、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータ、及び/又は、組み込み用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアに組み込み用プログラムがバイナリの状態で格納され(高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、組み込み用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理(供給媒体からソフトウエアを供給した場合)と同様の処理を行う。)   In addition, files or data indicating software and / or an installation index (which installation program is installed in which position and / or whether or not initial setting is performed) in various medium insertion openings 1016c And / or embedded program indicators (which embedded programs are added, changed, and / or deleted, the order of the embedded programs, which embedded programs are written in machine language or in any high-level language, and When the file or data indicating whether or not to perform the initial setting) and / or the embedded program is inserted, the embedded program is binary in the software according to the embedded index or the file or data indicating the embedded program index. Stored in state (written in high-level languages And only the part of the program which is compiled by a high-level language compiler and has a function including processing is stored in machine language), and / or an embedded program index and / or embedded The program index is changed and stored, and / or the embedded program is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as those shown in FIG. 12 (when software is supplied from the supply medium).)

また、各種媒体挿入口1022cを備えている場合、各種媒体挿入口1022cに組み込み用のプログラムが格納された各種媒体を挿入することによって、各種媒体のどの組み込み用のプログラムを追加及び/又はどの記憶されている組み込み用のプログラムと入れ替えるのかを組み込み用プログラム選択釦1021c(1021c−1〜1021c−N)によって、又は、(組み込み用プログラム選択釦1025c(1025c−1〜1025c−N))が備えられている場合、組み込み用プログラム選択釦1021c(1021c−1〜1021c−N)によってソフトウエアを、組み込み用プログラム選択釦1025c(1025c−1〜1025c−N))によって組み込み用プログラムを、選択決定することができる。これは、高級言語で記載されたプログラムでもよく、高級言語で記載されたプログラムが挿入された場合は、高級言語用のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で記憶される。この機械語で供給されるか高級言語のプログラムで供給されるかどの高級言語で供給されるかの選択も、選択(又はメニュー表示画面選択)手段から選択決定することができる。また、供給されたソフトウエアの初め、途中(何バイト目か等)、最後のどの箇所に組み込まれるかの判断も初期設定により決定される。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023cを有している場合、機械語コード組込装置(電子機器)1000cに、(選択)操作機(コンピュータ)入出力(挿入口)1023cを介して(選択)操作機(コンピュータ)1024cを接続することにより表示される選択(又はメニュー表示画面選択)手段からの選択により決定される。   Further, in the case where the various medium insertion ports 1022c are provided, by inserting various media having programs for incorporation into the various medium insertion ports 1022c, it is possible to add which programs for various media and / or which memory to store. An embedded program selection button 1021c (1021c-1 to 1021c-N) or (an embedded program selection button 1025c (1025c-1 to 1025c-N)) is provided as to whether to replace the installed program. In this case, the software is selected by the program selection button for incorporation 1021c (1021c-1 to 1021c-N), and the program for incorporation is selected by the program selection button for integration 1025c (1025c-1 to 1025c-N)). Can do. This may be a program written in a high-level language. When a program written in a high-level language is inserted, it is compiled by a high-level language compiler and is a part of the program that has a function including processing. Only is memorized in machine language. The selection of whether to be supplied in the machine language or the high-level language program or in the high-level language can be selected and determined from the selection (or menu display screen selection) means. The initial setting also determines whether the supplied software is to be incorporated at the beginning, middle (number of bytes, etc.), or at the last location. These initial settings are as follows. When the (selection) controller (computer) input / output (insertion port) 1023c is provided, the (select) controller (computer) It is determined by selection from a selection (or menu display screen selection) means displayed by connecting a (selection) operating device (computer) 1024c via an output (insertion port) 1023c.

尚、各種媒体挿入口1016c又は各種媒体挿入口1022cに、ソフトウエア、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータ、及び/又は、組み込み用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアに組み込み用プログラムがバイナリの状態で格納され(高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、組み込み用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理(供給媒体からソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that the various media insertion slot 1016c or the various media insertion slot 1022c have software and / or built-in indices (whether which built-in program is built in which position in which software, and / or whether to perform initial setting, etc.) ) File and / or data and / or embedded program index (which embedded program is added, changed, and / or deleted, the sequence of the embedded program, the embedded program is written in machine language or any high-level language) When the embedded program is inserted, and / or when the embedded program is inserted, the software or the data indicating the embedded index or the embedded program index is inserted into the software. When the embedded program is in binary state (If it is written in a high-level language, it is compiled by a high-level language compiler and only the part of the program that has a function including processing is stored in machine language) and / or embedded The program index for installation and / or the program index for installation is changed and stored, and / or the program for installation is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as those shown in FIG. 12 (when software is supplied from the supply medium).)

従って、本発明の実施の形態の機械語コード組込装置(電子機器)によれば、ソフトウエアが格納された媒体を各種媒体挿入口1016aに挿入し、所望のバイナリ組み込み用プログラムを各種処理開始用釦1021c(1021c−1〜1021c−N)及び/又は各種処理開始用釦1025c(1025c−1〜1025c−N)によって選択することによって、又は、初期設定された組み込み指標、又は、組み込み用プログラム指標を示すファイル又はデータに記載された組み込み指標、並びに/若しくは、組み込み用プログラム指標、及び/又は、組み込み用プログラムに基づいて、ソフトウエアに所望のバイナリ組み込み用プログラムである機能を有する手段であるプログラムがバイナリの状態で組み込まれ、組み込まれたソフトウエアを媒体に格納することができる(一電子機器動作許可機械語コード組込装置(電子機器)とすることができる)。   Therefore, according to the machine language code embedding device (electronic device) of the embodiment of the present invention, a medium storing software is inserted into various medium insertion openings 1016a, and various processes are started for a desired binary incorporation program. Button 1021c (1021c-1 to 1021c-N) and / or various processing start buttons 1025c (1025c-1 to 1025c-N), or a default built-in index or a built-in program Based on the built-in index described in the file or data indicating the index and / or the program index for embedding and / or the program for embedding, the software has a function of being a desired binary embedding program. The program is installed in binary form, and the installed software It can store A in the medium (which can be one-electron device operation allow the machine language code sets write device (electronic equipment)).

尚、組込状態表示釦1012cを備えている場合は、組込状態表示釦1012cは、組み込みの処理の始まり及び組み込み処理中は点灯し、処理が終わると消灯する。   If the built-in state display button 1012c is provided, the built-in state display button 1012c is turned on during the start of the incorporation process and during the incorporation process, and is turned off when the process is completed.

尚、以上においては、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を使用したが、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)を使用するようにしてもよい。この場合、ソフトウエアは高級言語で記載されたものであってもよく、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、高級言語のコンパイラでコンパイルした後に、組み込み用プログラムがバイナリの状態で実行体に格納される。また、ソフトウエアも組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標と組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納する。また、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)と組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)との2つのファイルを用いたが、2つのファイル又はデータを1つとした組み込み/組み込み用プログラム指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、初期設定をするかどうか等、どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、初期設定を行うかどうか等)を共有して使用するようにしてもよい。   In the above, the built-in index (which embedded program is installed in which position of which software and / or whether or not to perform initial setting) is used. It is also possible to use the location in which the software is incorporated, whether the software is written in a machine language or in a high-level language, and / or whether to perform initialization. In this case, the software may be written in a high-level language. If the high-level language is written in the built-in index, the software is compiled by a high-level language compiler. After that, the embedded program is stored in the executable in binary form. If the software and the embedded program are written in a high-level language, and the high-level language is described in the built-in index and the built-in program index, the embedded program is designated as the specified high-level language. The compiled software is compiled with the designated high-level language compiler, and the compiled embedded program is stored in a binary state in the executable. In addition, built-in indexes (such as which embedded program is to be embedded in which position and / or whether to make initial settings) and embedded program indexes (which embedded programs are added, changed, and / or deleted) The order of the program for embedding, the embedding program is written in machine language or in any high-level language, and / or whether to perform initial setting, etc.). Or, a program index for embedding / embedding with one data (adding, changing, and / or deleting which embedding program, such as which embedding program is to be incorporated in which position of software, whether to perform initial setting, etc. , Sequence of embedded programs, embedded programs can be machine language or May be used in a shared manner.

以上に説明した機械語コード組込装置(電子機器)をシステム集積回路(IC(Integrated・Circuit),チップ)化してもよい。   The machine language code embedding device (electronic device) described above may be formed as a system integrated circuit (IC (Integrated Circuit), chip).

図12は、機械語コード組込装置(電子機器)をシステム集積回路(IC(Integrated・Circuit),チップ)化した構成を示す図である。   FIG. 12 is a diagram showing a configuration in which a machine language code embedding device (electronic device) is formed as a system integrated circuit (IC (Integrated Circuit), chip).

図12(1)は、機械語コード組込システム集積回路1200aの概観の構成を示す図である。   FIG. 12A is a diagram showing a general configuration of the machine language code embedded system integrated circuit 1200a.

機械語コード組込システム集積回路1200は、本発明の機械語コード組込装置(電子機器)がシステム集積回路(IC(Integrated・Circuit),チップ)化され、平らな、例えばプラスチック製(材質はプラスチック製に限らずどのようなものであってもよい)、の容器に格納され、外には端子が突き出した概観となっている。   The machine language code embedded system integrated circuit 1200 is a flat, for example, plastic (material is made of a system integrated circuit (IC (Integrated Circuit), chip)) of the machine language code embedded device (electronic device) of the present invention. It is housed in a container of any type, not limited to plastic), and has an appearance with terminals protruding outside.

図12(2)は、機械語コード組込システム集積回路1200の構成を示すブロック図である。   FIG. 12 (2) is a block diagram showing the configuration of the machine language code embedded system integrated circuit 1200.

図12(2−1)は、機械語コード組込システム集積回路1200がそれ自身単独で機械語コード組込システム集積回路1200の機能(選択)操作不可能な電子機器に装着された場合の構成を示すブロック図であり、図12(2−2)は、機械語コード組込システム集積回路1200がそれ自身単独で機械語コード組込システム集積回路1200の機能(選択)操作が可能又は不可能なコンピュータに装着された場合の構成を示すブロック図である。   FIG. 12 (2-1) shows the configuration when the machine language code embedded system integrated circuit 1200 is mounted on an electronic device that cannot function (select) the machine language code embedded system integrated circuit 1200 by itself. FIG. 12 (2-2) is a block diagram of the machine language code embedded system integrated circuit 1200, which can or cannot perform the function (selection) operation of the machine language code embedded system integrated circuit 1200 by itself. It is a block diagram which shows the structure at the time of mounting | wearing with a proper computer.

機械語コード組込システム集積回路1200aは、CPU(Centrcl・Processing・Unit)1211、ROM(Recd・Only・Memory)1212a、RAM(Rcndom・Access・Memory)1213a、バス1214a、入出力インターフェイス1215aとから構成されている。   The machine language code embedded system integrated circuit 1200a includes a CPU (Centrcl / Processing / Unit) 1211, a ROM (Recd / Only / Memory) 1212a, a RAM (Rcndom / Access / Memory) 1213a, a bus 1214a, and an input / output interface 1215a. It is configured.

機械語コード組込システム集積回路1200aは、それ自身単独で機械語コード組込システム集積回路1200aの機能(選択)操作不可能な電子機器に装着されており、電子機器は、及び/又は各種媒体集出力1216aが備えられており、(選択)操作機1227aを接続することにより、キーボード1218a、マウス1019a、ディスプレイ1020aが備えられた(選択)操作機1227aにより機械語コード組込システム集積回路1200aの機能(選択)操作が可能な構成となっている。   The machine language code embedded system integrated circuit 1200a is mounted on an electronic device that cannot function (select) the machine language code embedded system integrated circuit 1200a by itself, and the electronic device can be used in various media. The integrated output 1216a is provided, and by connecting the (selection) operating device 1227a, the (selection) operating device 1227a provided with the keyboard 1218a, the mouse 1019a, and the display 1020a is used for the machine language code embedded system integrated circuit 1200a. Function (selection) operation is possible.

CPU1211aは、ROM1212aに記憶されているプログラムに従って、各種の処理を実行する。RAM1213aは、CPU1211aが各種の処理を実行する上において必要なデータ、プログラム等が、適宜記憶される。入出力インターフェイス1215aは、装着した電子機器の各要素(各回路、各素子)、及び/又は、さらに接続された(選択)操作機1227aに対する入出力のインターフェース処理を実行する。   The CPU 1211a executes various processes according to programs stored in the ROM 1212a. The RAM 1213a appropriately stores data, programs, and the like necessary for the CPU 1211a to execute various processes. The input / output interface 1215a executes input / output interface processing with respect to each element (each circuit, each element) of the mounted electronic device and / or a further connected (selected) controller 1227a.

機械語コード組込システム集積回路1200bは、CPU(Centrcl・Processing・Unit)1211、ROM(Recd・Only・Memory)1212b、RAM(Rcndom・Access・Memory)1213b、バス1214b、入出力インターフェイス1215bとから構成されている。   The machine language code embedded system integrated circuit 1200b includes a CPU (Centrcl / Processing / Unit) 1211, a ROM (Recd / Only / Memory) 1212b, a RAM (Rcndom / Access / Memory) 1213b, a bus 1214b, and an input / output interface 1215b. It is configured.

機械語コード組込システム集積回路1200bは、それ自身単独で(機械語コード組込システム集積回路1200bの機能(選択))操作可能又は不可能なコンピュータに装着されており、前記コンピュータは、及び/又は各種媒体集出力1216a、及び/又はキーボード1218a、及び/又はマウス1019a、及び/又はディスプレイ1020aが備えられており、又は、さらに、(選択)操作機1227bを接続することにより、キーボード1218a、マウス1229a、ディスプレイ1220aが備えられた(選択)操作機1227bにより((機械語コード組込システム集積回路1200bの機能(選択))操作が可能な構成となっている。   The machine language code embedded system integrated circuit 1200b is mounted on a computer that is operable or impossible by itself (the function (selection) of the machine language code embedded system integrated circuit 1200b). Alternatively, various media collection outputs 1216a and / or a keyboard 1218a and / or a mouse 1019a and / or a display 1020a are provided, or by further connecting a (selection) operating device 1227b, a keyboard 1218a and a mouse are provided. 1229a and the display 1220a (selection) operating device 1227b can be operated ((function (selection) of machine language code embedded system integrated circuit 1200b)).

CPU1211bは、ROM1212bに記憶されているプログラムに従って、各種の処理を実行する。RAM1213bは、CPU1211bが各種の処理を実行する上において必要なデータ、プログラム等が、適宜記憶される。入出力インターフェイス1215は、装着した電子機器又はコンピュータの各要素(各回路、各素子)、及び/又は、さらに接続された(選択)操作機1227bに対する入出力のインターフェース処理を実行する。   The CPU 1211b executes various processes in accordance with programs stored in the ROM 1212b. The RAM 1213b appropriately stores data, programs, and the like necessary for the CPU 1211b to execute various processes. The input / output interface 1215 executes input / output interface processing with respect to each component (each circuit, each element) of the mounted electronic device or computer and / or the further connected (selected) operating device 1227b.

(電子機器又はコンピュータ上の実行体に組み込み用プログラムをバイナリの状態で組み込む)
電子機器又はコンピュータに機械語コード組込システム集積回路1200を装着することにより、機械語コード組込システム集積回路1200を装着された電子機器又はコンピュータでは、集積回路組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、集積回路組み込み指標選択(又は画面表示選択)手段(機械語コード組込システム集積回路の初期設定用のソフトウエア)が表示され、選択(又は画面表示選択)手段により選択した集積回路組み込み指標に基づいて、電子機器又はコンピュータ上に存在するプログラムのうちの、集積回路組み込み指標で設定された実行体の集積回路組み込み指標で設定された位置に、集積回路組み込み指標で設定された内蔵の組み込み用プログラムが、実行体の停止中に(電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、停止中に)バイナリの状態で組み込まれる。これらの実行体への組み込みは、電子機器又はコンピュータ上に存在する全てのプログラムに対して行えるように集積回路組み込み指標を定義すれば、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上に存在する全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる(1電子機器唯一動作許可機械語コード組込システム集積回路とすることができる)。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上する。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標選択(又は画面表示選択)手段(機械語コード組込システム集積回路の初期設定用のソフトウエア)により、集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(Embedded programs are embedded in binary form in an executable on an electronic device or computer)
By mounting the machine language code embedded system integrated circuit 1200 on the electronic device or computer, the electronic device or computer mounted with the machine language code embedded system integrated circuit 1200 has an integrated circuit embedded index (which program to be embedded The location of the software and / or whether to make initial settings, etc.), and the display of the (selection) controller of the electronic device, or of the (selection) controller of the computer, or the computer If the computer has a display means of the integrated circuit built-in index selection (or screen display selection) means (software for initial setting of the machine language code embedded system integrated circuit) is displayed and selected (or screen display) Electronic device or computer based on integrated circuit built-in index selected by selection means Among the programs existing in the program, the embedded program set by the integrated circuit built-in index is stopped at the position set by the integrated circuit built-in index set by the integrated circuit built-in index. Embedded in a binary state (during monitoring and stopping execution of the execution body of the program on the electronic device or computer). If an integrated circuit built-in index is defined so that it can be incorporated into all programs existing on an electronic device or computer, for example, a single electronic device unique operation permission program can be incorporated as a binary built-in code. For example, all the execution bodies existing on the electronic device or the computer can be operated only on the electronic device or the computer (one electronic device can be operated only by the machine language code embedded system integrated circuit). it can). For this reason, for example, when another person uses an electronic device or a computer, even if another person takes out the execution body, it can be operated only by the electronic device or the computer, and the security function is improved. Also, an integrated circuit built-in indicator and / or integrated circuit built-in displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means Program index selection (or screen display selection) means (software language embedded system integrated circuit initial setting software) to change various settings of the integrated circuit embedded index and / or integrated circuit embedded program index Can do.

(B並びに/若しくはD及び/又はC)
また、媒体入出力手段を有している場合、媒体に(B)集積回路組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)、並びに/若しくは、(D)集積回路組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル若しくはデータ、及び/又は(C)集積回路組み込み用プログラムを供給すると、供給された(B)集積回路組み込み指標、並びに/若しくは、(D)集積回路組み込み用プログラム指標、及び/又は(C)集積回路組み込み用プログラムに基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標に基づいて、(B)集積回路組み込み指標並びに/若しくは、(D)集積回路組み込み用プログラム指標の設定が変更され、及び/又は、組み込み用プログラムの追加、変更、及び/又は削除される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(B)
また、媒体入出力手段を有している場合、媒体に(B)集積回路組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を供給すると、供給された(B)集積回路組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)集積回路組み込み指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(B)集積回路組み込み指標に基づいて、(B)集積回路組み込み指標の設定が変更される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(D)
また、媒体入出力手段を有している場合、媒体に(D)集積回路組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル若しくはデータを供給すると、供給された(D)集積回路組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(D)集積回路組み込み用プログラム指標に基づいて、(D)集積回路組み込み用プログラム指標の設定が変更され、及び/又は、組み込み用プログラムの追加、変更、及び/又は削除される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(C)
また、(C)集積回路組み込み用プログラムを供給すると、設定されている(D)集積回路組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(D)集積回路組み込み用プログラム指標に基づいて、(C)集積回路組み込み用プログラムが追加/変更/削除される。この場合、組み込み用プログラムが機械語ではなく、高級言語で記載されたプログラムである場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(D+C)
また、媒体に(D)集積回路組み込み用プログラム指標を示すファイル又はデータと共に、(C)集積回路組み込み用プログラムを供給すると、(D)集積回路組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(D)集積回路組み込み用プログラム指標に基づいて、(D)集積回路組み込み用プログラム指標を変更することができ、(C)組み込み用プログラムの追加、変更、及び/又は削除が行える。この場合、(C)組み込み用プログラムは、機械語であってもよく、高級言語で記載されたものであってもよく、(D)組み込み用プログラム指標によって設定された指標によって組み込みが行われ、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標に基づいて、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができ、(C)組み込み用プログラムの追加、変更、及び/又は削除が行える。この場合、(C)組み込み用プログラムは、機械語であってもよく、高級言語で記載されたものであってもよく、(D)組み込み用プログラム指標によって設定された指標によって組み込みが行われ、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納される。
(B and / or D and / or C)
In addition, in the case of having medium input / output means, (B) integrated circuit built-in index (whether which built-in program is built in which position in which software, and / or whether to perform initial setting, etc.) And / or (D) integrated circuit embedded program index (which embedded programs are added, changed, and / or deleted, the order of the embedded programs, the embedded programs are written in machine language or any high-level language) File and / or data indicating whether or not and / or whether to perform initial setting, and / or (C) an integrated circuit embedded program, and (B) an integrated circuit embedded index and / or (D) based on integrated circuit incorporation program index and / or (C) integrated circuit incorporation program In addition, the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, includes (B) an integrated circuit built-in indicator and / or (D) Integrated circuit incorporation program index selection (or screen display selection) means is displayed, and (B) integrated circuit incorporation index and / or (D) integrated circuit incorporation program selected by the selection (or screen display selection) means Based on the index, the setting of (B) the integrated circuit embedded index and / or (D) the integrated circuit embedded program index is changed and / or the embedded program is added, changed, and / or deleted. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, Various settings of the (B) integrated circuit incorporation index and / or (D) the integrated circuit incorporation program index can be changed by the (D) integrated circuit incorporation program index selection (or screen display selection) means.
(B)
In the case of having medium input / output means, (B) integrated circuit built-in index (whether which built-in program is built in which position in which software, and / or whether to perform initial setting, etc.) When supplied, based on the supplied (B) integrated circuit built-in index, and also for the (selection) controller of the electronic device, or of the (selection) controller of the computer, or of the computer if the computer has display means, The display means displays (B) integrated circuit built-in index selection (or screen display selection) means, and (B) integration based on the (B) integrated circuit built-in index selected by the selection (or screen display selection) means. The setting of the circuit built-in index is changed. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, Various settings of the (B) integrated circuit incorporation index and / or (D) the integrated circuit incorporation program index can be changed by the (D) integrated circuit incorporation program index selection (or screen display selection) means.
(D)
Further, when the medium input / output means is provided, (D) integrated circuit incorporation program index (which incorporation program is added, changed, and / or deleted, the order of the incorporation program, the incorporation program is When a file or data indicating a machine language or a high-level language and / or whether or not to perform initial setting is supplied, based on the supplied (D) integrated circuit embedded program index, The display means of the electronic device (selection) operating device, or the computer (selection) operating device, or when the computer has a display means, includes (D) program index selection (or integrated circuit incorporation) (or (Screen display selection) means is displayed, and the (D) integrated circuit incorporation program selected by the selection (or screen display selection) means is displayed. Based on the grams indicator, (D) integrated circuit setting the embedded program index is changed, and / or additional embedded program, changes, and / or deleted. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, Various settings of the (B) integrated circuit incorporation index and / or (D) the integrated circuit incorporation program index can be changed by the (D) integrated circuit incorporation program index selection (or screen display selection) means.
(C)
Also, when (C) an integrated circuit incorporation program is supplied, based on the set (D) integrated circuit incorporation program index, the (selection) operation device of the electronic device or the (selection) operation of the computer If the computer or computer has a display means, the display means of the computer will display (D) program index selection (or screen display selection) means for incorporating an integrated circuit, and will be selected by the selection (or screen display selection) means. Based on the (D) integrated circuit incorporation program index, (C) the integrated circuit incorporation program is added / changed / deleted. In this case, when the embedded program is not a machine language but a program written in a high-level language, only the means having a function and being compiled in the selected high-level language are stored in a binary state. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, (D) Various setting changes of the (B) integrated circuit built-in index and / or (D) the integrated circuit built-in program index can be performed by the built-in program index selecting (or screen display selecting) means.
(D + C)
Further, when (C) an integrated circuit incorporation program is supplied to a medium together with (D) a file or data indicating an integrated circuit incorporation program index, (D) based on the integrated circuit incorporation program index, (Selection) of the operation device, or of the (selection) operation device of the computer, or when the computer has a display means, the display means of the computer includes (D) program index selection means (or screen display selection) means for incorporating an integrated circuit Is displayed, and (D) the integrated circuit incorporation program index is changed based on (D) the integrated circuit incorporation program index selected by (D) integrated circuit incorporation program index selection (or screen display selection) means. (C) Addition, change, and / or deletion of an embedded program can be performed. In this case, the (C) embedding program may be a machine language or may be written in a high-level language, and (D) the embedding is performed according to the index set by the embedding program index. In the case of a high-level language, only a means having a function is compiled and stored in a binary state. Also, (B) integrated circuit built-in indicators and / or (and / or) displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has display means (D) The program index selection (or screen display selection) means for incorporation is displayed, and (B) is selected by the (B) integrated circuit incorporation index and / or (D) the program index selection (or screen display selection) means for incorporation. Based on the integrated circuit built-in index and / or (D) the integrated circuit built-in program index, various settings can be changed for (B) the integrated circuit built-in index and / or (D) the built-in program index. You can add, change, and / or delete embedded programs. In this case, the (C) embedding program may be a machine language or may be written in a high-level language, and (D) the embedding is performed according to the index set by the embedding program index. In the case of a high-level language, only a means having a function is compiled and stored in a binary state.

(供給媒体からソフトウエアを供給した場合)説明箇所初め (When software is supplied from the supply medium)

(媒体ソフト供給組み込み)組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標と同じファイルを使用する場合) (In the case of using the same file as the integrated circuit embedded index and / or the integrated circuit embedded program index)

また、媒体入出力手段を有している場合、媒体に(A)ソフトウエアを供給すると、設定された(B)集積回路組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)集積回路組み込み指標選択(又は画面表示選択)手段が表示され、(B)集積回路組み込み指標選択(又は画面表示選択)手段により選択された(B)集積回路組み込み指標に基づいて、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。この設定は、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行える。   Further, when the medium input / output means is provided, when the software (A) is supplied to the medium, the (B) integrated circuit built-in index set and the (selection) operating device of the electronic device, Alternatively, (B) integrated circuit built-in index selection (or screen display selection) means is displayed on the display means of the computer (selection) operating device or when the computer has display means, and (B) the integrated circuit Based on the (B) integrated circuit built-in index selected by the built-in index selection (or screen display selection) means, the embedded program is incorporated into the execution body in a binary state. This setting is displayed on the display means of the (selection) controller of the electronic device, or of the (selection) controller of the computer, or of the computer if the computer has display means. Various settings of (B) integrated circuit built-in index and / or (D) built-in program index can be changed by means of (D) built-in program index selection (or screen display selection) means.

また、以上においては、供給媒体からソフトウエアを供給した場合、電子機器又はコンピュータ上の実行体が使用する集積回路組組み込み指標と集積回路組組み込み用プログラム指標と同じ指標ファイルを使用するようにしたが、及び/又は、供給媒体から供給されたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標の別指標ファイルを使用するようにしてもよい。以下に、供給媒体から供給されたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標の別指標ファイルを使用するようにした場合について説明する。   In the above, when software is supplied from the supply medium, the same index file is used as the integrated circuit assembly incorporation index used by the execution unit on the electronic device or computer and the integrated circuit assembly incorporation program index. However, and / or for software supplied from a supply medium, a separate index file of an embedded index and an embedded program index may be used. In the following, a case will be described in which separate index files of built-in indexes and built-in program indexes are used for software supplied from a supply medium.

(媒体ソフト供給組み込み)(組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
(B)
また、媒体入出力手段を有している場合、媒体に(B)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を示すファイル若しくはデータを供給すると、供給された(B)組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(B)組み込み指標に基づいて、(B)組み込み指標が変更される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができる。
(A)
また、媒体入出力手段を有している場合、媒体に(A)ソフトウエアを供給すると、設定された組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標選択(又は画面表示選択)手段が表示され、(B)組み込み指標選択(又は画面表示選択)手段により選択された(B)組み込み指標に基づいて、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。この設定は、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行える。
(A+B)
また、媒体に(B)組み込み指標を示すファイル又はデータと共に(A)ソフトウエアを供給すると、設定されている(B)組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標選択(又は画面表示選択)手段が表示され、(B)組み込み指標選択(又は画面表示選択)手段により選択された(B)組み込み指標に基づいて、実行体に(C)組み込み用プログラムがバイナリの状態で組み込まれる。選択手段を有している場合は、選択画面が表示され、どのソフトウエアのどの位置にどの組み込み用プログラムを組み込むのかを選択し、選択されたソフトウエアに選択した(C)組み込み用プログラムを組み込むことができる。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができる。
(Incorporation of medium software supply) (When the built-in index and / or the program index for embedding use a file different from the integrated circuit built-in index and / or the program index for integrated circuit incorporation, and the setting is stored on the electronic device or computer) )
(B)
In the case of having medium input / output means, a file indicating (B) an installation index (which installation program is installed in which position of software and / or whether initial setting is performed, etc.) on the medium. Alternatively, when data is supplied, based on the supplied (B) built-in indicator, and the (selection) operating device of the electronic device, the (selection) operating device of the computer, or the computer if the computer has a display means The display means displays (B) built-in index selection (or screen display selection) means, and (B) the built-in index is changed based on the (B) built-in index selected by the selection (or screen display selection) means. Is done. (B) Built-in indicators and / or (D) displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means The setting of (B) built-in index and / or (D) built-in program index can be changed by means of () program index selection (or screen display selection).
(A)
In addition, when the medium input / output means is provided, when the software (A) is supplied to the medium, the (selection) operating device of the electronic device or the (selection of the computer) is selected based on the set built-in index. ) When the operation unit or the computer has a display means The computer display means displays (B) built-in index selection (or screen display selection) means, and (B) built-in index selection (or screen display selection). Based on the (B) built-in index selected by the means, the built-in program is built into the execution body in a binary state. This setting is displayed on the display means of the (selection) controller of the electronic device, or of the (selection) controller of the computer, or of the computer if the computer has a display means. (D) Various setting changes of the (B) built-in index and / or (D) the built-in program index can be performed by the built-in program index selection (or screen display selection) means.
(A + B)
Further, when (A) software is supplied to the medium together with (B) the file or data indicating the built-in index, based on the set (B) built-in index, (B) Built-in index selection (or screen display selection) means is displayed on the display means of the computer (selection) controller or when the computer has a display means. (B) Built-in index selection (or Based on the (B) built-in index selected by the (screen display selection) means, (C) the built-in program is built into the execution body in a binary state. If there is a selection means, a selection screen is displayed, which position of which software is to be installed and which embedded program is to be incorporated, and the selected (C) incorporation program is incorporated into the selected software. be able to. Also, (B) built-in indicators and / or (D) displayed on the display means of the electronic device (selection) controller, the computer (selection) controller, or if the computer has a display means Various setting changes of (B) built-in index and / or (D) built-in program index can be performed by means of a program index selection (or screen display selection) unit.

(媒体組み込み用プログラム変更)(組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
(D)
また、媒体入出力手段を有している場合、媒体に(D)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、(C)組み込み用プログラムの順序、(C)組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル若しくはデータを供給すると、供給された(D)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(D)組み込み用プログラム指標に基づいて、(D)組み込み用プログラム指標の設定が変更される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができる。
(C)
また、媒体に(C)組み込み用プログラムを供給すると、設定されている(D)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(D)組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(D)組み込み用プログラム指標に基づいて、(C)組み込み用プログラムが追加、変更、及び/又は削除される。この初期設定は、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、D)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行える。
(D+C)
また、媒体に(D)組み込み用プログラム指標を示すファイル又はデータと共に、(C)組み込み用プログラムを供給すると、(D)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(D)組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(D)組み込み用プログラム指標に基づいて、(D)組み込み用プログラム指標を変更することができ、(C)組み込み用プログラムの追加、変更、及び/又は削除が行える。この場合、(C)組み込み用プログラムは、機械語であってもよく、高級言語で記載されたものであってもよく、(D)組み込み用プログラム指標によって設定された指標によって組み込みが行われ、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納される。また、電子機器の(選択)操作機又はコンピュータ若しくはコンピュータの(選択)操作機が表示手段を有し、(D)組み込み用プログラム指標選択(又は画面表示選択)手段を有している場合は、機械語かどの高級言語かの(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、機械語かどの高級言語かを選択し、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみをバイナリの状態で格納する。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができる。
(Change of program for embedding medium) (The built-in index and / or the program index for embedding use a file different from the integrated circuit built-in index and / or the program index for embedding the integrated circuit, and store the settings on the electronic device or the computer. If)
(D)
Further, when the medium input / output means is provided, (D) an embedded program index (adding, changing, and / or deleting an embedded program, (C) an order of the embedded program, (C) When a file or data indicating whether the embedded program is written in a machine language or in a high-level language and / or whether or not to perform initial setting is supplied, (D) based on the supplied embedded program index In addition, the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or in the case where the computer has a display means, includes (D) selection of an embedded program index (or Screen display selection) means is displayed, and based on (D) the program index for incorporation selected by the selection (or screen display selection) means And it changes the setting of (D) embedded program indicators. Also, (B) built-in indicators and / or (D) displayed on the display means of the electronic device (selection) controller, the computer (selection) controller, or if the computer has a display means Various setting changes of (B) built-in index and / or (D) built-in program index can be performed by means of a program index selection (or screen display selection) unit.
(C)
Further, when (C) an embedded program is supplied to the medium, based on the set (D) embedded program index, an electronic device (selection) operating device, or a computer (selection) operating device If the computer has display means, the display means of the computer displays (D) program index selection (or screen display selection) means for incorporation, and (D) program index selection (or screen display selection) for incorporation. Based on (D) the program index for installation selected by the means, (C) the program for installation is added, changed, and / or deleted. This initial setting is based on the (B) built-in indicators and / or (or the (select) operating device of the electronic device, the (selecting) operating device of the computer, or the computer if the computer has a display device. D) a built-in program index selection (or screen display selection) means is displayed, and (B) a built-in index and / or (D) a built-in program index selection (or screen display selection) means, D) a built-in index and / or (D) Various settings of the program index for incorporation can be changed.
(D + C)
In addition, when (C) an embedded program is supplied to a medium together with a file or data indicating (D) an embedded program index, (D) based on the embedded program index, and the (selection) operating device of the electronic device , Or the computer's (selection) operating device, or if the computer has a display means, the computer's display means displays (D) a program index selection means (or screen display selection) means, and (D) (D) The program index for embedding can be changed based on the program index for embedding (D) selected by the program index selection (or screen display selection) means, and (C) Addition / change of program for embedding And / or deletion. In this case, the (C) embedding program may be a machine language or may be written in a high-level language, and (D) the embedding is performed according to the index set by the embedding program index. In the case of a high-level language, only a means having a function is compiled and stored in a binary state. In addition, when the (selection) operating device of the electronic device or the computer or the (selection) operating device of the computer has a display means, and (D) an embedded program index selection (or screen display selection) means, (D) Embedded program index selection (or screen display selection) means of machine language or which high-level language is displayed. Select high-level language which is machine language or high-level language, and compile with the selected high-level language. Only the means having the function is stored in a binary state. Also, (B) built-in indicators and / or (D) displayed on the display means of the electronic device (selection) controller, the computer (selection) controller, or if the computer has a display means Various setting changes of (B) built-in index and / or (D) built-in program index can be performed by means of a program index selection (or screen display selection) unit.

また、以上においては、供給媒体から供給されたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標の別指標ファイルを使用し、それら指標を記憶するようにした場合を示したが、及び/又は、記憶しないようにしてもよい。以下に、供給媒体から供給されたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標を供給し、それらの指標を記憶しないようにした場合について説明する。   Further, in the above, for the software supplied from the supply medium, a case has been shown in which separate indicators files of embedded indicators and embedded program indicators are used, and these indicators are stored. Or you may make it not memorize | store. In the following, a case will be described in which built-in indexes and built-in program indexes are supplied to the software supplied from the supply medium, and these indexes are not stored.

(媒体ソフト供給組み込み)(組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
(ソフトウエア+組み込み指標+組み込み用プログラム+組み込み用プログラム指標)
また、媒体に(A)ソフトウエアと(B)組み込み指標を示すファイル又はデータと(C)組み込み用プログラムと(D)組み込み用プログラム指標を供給すると、(B)組み込み指標と(D)組み込み用プログラム指標に基いて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段による(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択により、実行体に供給した組み込み用プログラムが組み込まれる。この際、(B)組み込み指標及び(D)組み込み用プログラム指標の設定は変更されない。
(Incorporation of media software supply) (When the built-in index and / or the program index for embedding use a file different from the integrated circuit built-in index and / or the integrated circuit built-in program index, and the settings are not stored on the electronic device or computer) )
(Software + Embedded index + Embedded program + Embedded program index)
When (A) software, (B) a file or data indicating an embedded index, (C) an embedded program, and (D) an embedded program index are supplied to the medium, (B) an embedded index and (D) an embedded index (B) Built-in indicators displayed on the display means of the (selection) operating device of the electronic device, or of the (selection) operating device of the computer, or if the computer has display means, based on the program index And / or (D) an embedded program supplied to the execution body is incorporated by (B) built-in index and / or (D) built-in program index selection by means of selecting a built-in program index (or screen display selection). At this time, the settings of (B) built-in index and (D) built-in program index are not changed.

尚、以上において、(媒体ソフト供給組み込み)の群のうちの少なくとも1つと、(媒体組み込み用プログラム変更)の群内のうちの少なくとも1つが供給された場合、(媒体組み込み用プログラム変更)の群の処理が終ってから、(媒体ソフト供給組み込み)の群の処理を行うようにしており、かつ、(媒体ソフト供給組み込み)の群と(媒体組み込み用プログラム変更)群では、英字のZに近い方から処理を行うようにしているが、任意の組み合わせの処理順に処理するようにしてもよい。また、選択画面表示では、(媒体ソフト供給組み込み)の群と(媒体組み込み用プログラム変更)の群のうちの少なくとも1つの組が供給された場合、対応する選択手段を表示するようにしているが、(媒体ソフト供給組み込み)の群と(媒体組み込み用プログラム変更)の群のうちの少なくとも1つの組が供給された場合、画面としては両画面が同時のように表示するようにしてもよい。この場合、選択処理は、上述した処理順で行うようにしてもよいが、(媒体ソフト供給組み込み)の群、(媒体組み込み用プログラム変更)の群の任意の組み合わせで供給された場合、どれから処理を行うようにしてもよく、選択画面表示では、(媒体ソフト供給組み込み)の群と(媒体組み込み用プログラム変更)の群のうちの少なくとも1つの組が供給された場合、同時のように表示し、設定中の処理順に処理してもよく、それ以外の処理順に処理してもよく、設定中の処理順に、(媒体ソフト供給組み込み)の選択(又は画面表示選択)処理、(媒体組み込み用プログラム変更)の選択(又は画面表示選択)処理を別々に行うようにしてもよい。   In the above, when at least one of the (medium software supply and incorporation) group and at least one of the (medium incorporation program change) group is supplied, the (medium program incorporation program change) group The processing of the group (media software supply and incorporation) is performed after the above processing is completed, and the group of (media software supply and incorporation) and the group (program change for medium incorporation) are close to the letter Z. However, the processing may be performed in any combination of processing order. Further, in the selection screen display, when at least one set of the group of (medium software supply and incorporation) and the group of (change program for medium incorporation) is supplied, the corresponding selection means is displayed. When at least one set of the group of (medium software supply and incorporation) and the group of (change program for medium incorporation) is supplied, both screens may be displayed simultaneously. In this case, the selection processing may be performed in the above-described processing order. However, when the selection processing is supplied in an arbitrary combination of the group of (medium software supply and incorporation) and the group (program change for medium incorporation), from which one Processing may be performed, and in the selection screen display, when at least one set of the group of (media software supply and incorporation) and the group of (change program for medium incorporation) is supplied, it is displayed at the same time. The processing may be performed in the order of processing during the setting, or may be processed in the order of other processing. In the processing order during the setting, the (media software supply / embedding) selection (or screen display selection) processing (for medium incorporation) (Program change) selection (or screen display selection) processing may be performed separately.

尚、以上において、(集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に、集積回路組み込み指標と組み込み指標及び/又は集積回路組み込み用プログラム指標と組み込み用プログラム指標とを別ファイルとするかどうかの指標、集積回路組み込み指標と組み込み指標及び/又は集積回路組み込み用プログラム指標と組み込み用プログラム指標とを別ファイルとして組み込み指標及び/又は組み込み用プログラム指標を記憶しないか又は記憶するかどうかの指標を設けるようにし、(集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に基づいて別ファイルとするか、別ファイルとして記憶しないか又は記憶するかを判断するようにしてもよい。即ち、(集積回路)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、(集積回路)組み込み指標と組み込み指標とを別のファイルとするか、(集積回路)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、組み込み用プログラム及び/又は(集積回路)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、(集積回路)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、(集積回路)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)に基づいて別ファイルとするか、別ファイルとして記憶しないか又は記憶するかを判断するようにしてもよい。   In the above, the (integrated circuit) built-in index and / or the (integrated circuit) built-in program index include the integrated circuit built-in index and the built-in index and / or the integrated circuit built-in program index and the built-in program index as separate files. Whether or not to store the embedded index and / or the embedded program index as separate files, the integrated circuit embedded index and the embedded index and / or the integrated circuit embedded program index and the embedded program index. It is possible to determine whether to make a separate file based on the (integrated circuit) built-in index and / or the (integrated circuit) built-in program index, or not to store as a separate file. Good. In other words, (integrated circuit) embedded index (which embedded program is embedded in which software position, which software is written in machine language or in which high-level language, (integrated circuit) embedded index and embedded index (Integrated circuit) whether the built-in index and the built-in index are separated into different files, and whether the built-in index is stored and / or whether or not the initial setting is made, etc.), Or (integrated circuit) embedded program index (which embedded program is added, changed, and / or deleted, the sequence of the embedded program, which embedded program is written in machine language or in any high-level language, ( (Integrated circuit) Whether the embedded program index and the embedded program index are in separate files or Circuit) separate the program index for embedding and the program index for embedding into different files and store the embedding program index and / or whether to perform initial setting, etc.) or as separate files You may make it judge whether it memorize | stores or memorize | stores.

以下に、供給媒体に、ソフトウエア、組み込み指標、組み込み用プログラム、及び/又は、組み込み用プログラム指標が供給された場合について、詳細に説明する。また、ソフトウエア、組み込み指標、組み込み用プログラム、及び/又は、組み込み用プログラム指標は、其々、電子機器又はコンピュータ上に存在する実行体、集積回路組み込み指標、集積回路組み込み用プログラム、及び/又は、集積回路組み込み用プログラム指標と置き換えれば、電子機器又はコンピュータ上に存在する実行体、集積回路組み込み指標、集積回路組み込み用プログラム、及び/又は、集積回路組み込み用プログラム指標の場合に適用が可能である。   Hereinafter, a case where software, a built-in index, a built-in program, and / or a built-in program index are supplied to the supply medium will be described in detail. In addition, the software, the embedded index, the embedded program, and / or the embedded program index are respectively an execution body, an integrated circuit embedded index, an integrated circuit embedded program, and / or an existing program on an electronic device or a computer. If it is replaced with an integrated circuit embedded program index, it can be applied to an execution body existing on an electronic device or a computer, an integrated circuit embedded index, an integrated circuit embedded program, and / or an integrated circuit embedded program index. is there.

(ソフトウエア)
また、媒体入出力手段を有している場合、ソフトウエアを供給すると、初期設定された組み込み指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択(又は画面表示選択)手段による組み込み指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。
(ソフトウエア+組み込み用プログラム)
また、媒体入出力手段を有している場合、ソフトウエアと組み込み用プログラムを供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれ、並びに/若しくは、組み込み用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。
(ソフトウエア+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、ソフトウエアと組み込み用プログラム指標を供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれ、並びに/若しくは組み込み用プログラム指標が変更される。
(Software)
In addition, when media input / output means are provided, when software is supplied, based on the built-in index that is initially set, the (selection) operating device of the electronic device, or the (selection) operating device of the computer, Alternatively, when the computer has a display means, the built-in program is incorporated into the execution body in a binary state by the built-in index selection by the built-in index selection (or screen display selection) means displayed on the display means of the computer.
(Software + embedded program)
Also, in the case of having a medium input / output means, if software and an embedded program are supplied, based on the initially set embedded index and the embedded program index, Executed by selecting a built-in index by means of a computer (selection) operating device or, if the computer has a display means, a built-in index displayed on the display means and / or a program index selection (or screen display selection) means for incorporation. The embedded program is incorporated into the body in a binary state and / or the embedded program is added, changed, and / or deleted, and / or the embedded program index is changed.
(Software + Embedded program index)
In addition, when the medium input / output means is provided, supplying the software and the program index for installation, based on the default installation index and the program index for installation, and the (selection) operating device of the electronic device, Alternatively, by selecting a built-in index by a computer (selection) operating device, or when the computer has a display means, a built-in index displayed on the display means and / or a program index selection (or screen display selection) means for incorporation, The embedded program is incorporated into the executable in a binary state and / or the embedded program index is changed.

(ソフトウエア+組み込み指標)
また、媒体入出力手段を有している場合、媒体にソフトウエアと共に組み込み指標を示すファイル又はデータを供給すると、組み込み指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択(又は画面表示選択)手段による組み込み指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更される。
(ソフトウエア+組み込み指標+組み込み用プログラム)
また、媒体入出力手段を有している場合、媒体にソフトウエアと組み込み指標を示すファイル又はデータと組み込み用プログラムを供給すると、組み込み指標と初期設定された組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれ、並びに/もしくは、組み込み用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更される。
(ソフトウエア+組み込み指標+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体にソフトウエアと組み込み指標を示すファイル又はデータと組み込み用プログラム指標を供給すると、組み込み指標と初期設定された組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更される。
(Software + built-in index)
In addition, when a medium input / output means is provided, if a file or data indicating an embedded index is supplied to the medium together with software, the (selection) operating device of the electronic device or the computer ( Selection) When the operating unit or the computer has a display means, the embedded program is selected by the built-in index selection (or screen display selection) means displayed on the display means of the computer. Incorporated. At this time, if the initial setting of the built-in index is changed, the initial setting of the built-in index is also changed.
(Software + Embedded index + Embedded program)
In addition, when a medium input / output means is provided, when a file or data indicating software and a built-in index and a built-in program are supplied to the medium, the electronic program is based on the built-in index and the default built-in program index. Selection of built-in indices and / or built-in program indices (or screen display) displayed on the display means of the (selection) controller of the device, or of the (selection) controller of the computer, or if the computer has a display means By selecting a built-in index and / or a program index for embedding by means of selection, the embedding program is incorporated in a binary state in the executable, and / or the embedding program is added, changed, and / or deleted, and / or Alternatively, the built-in program index is changed. At this time, if the initial setting of the built-in index is changed, the initial setting of the built-in index is also changed.
(Software + Embedded index + Embedded program index)
Further, when the medium input / output means is provided, when the file or data indicating the software and the built-in index and the program index for the built-in are supplied to the medium, based on the built-in index and the default built-in program index, Built-in indicators and / or built-in program indicators selection (or screens) displayed on the display means of an electronic device (selection) operating device, or a computer (selection) operating device, or if the computer has display means By selecting the built-in index and / or the built-in program index by means of (display selection) means, the built-in program is incorporated into the execution body in a binary state. At this time, if the initial setting of the built-in index is changed, the initial setting of the built-in index is also changed.

(組み込み指標)
また、媒体入出力手段を有している場合、媒体に組み込み指標を示すファイル又はデータを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択(又は画面表示選択)手段による組み込み指標選択により、初期設定の組み込み指標が変更される。
(組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラム指標を示すファイル又はデータを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み用プログラム指標選択により、初期設定の組み込み用プログラム指標が変更される。
(組み込み指標+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み指標と組み込み用プログラム指標を示すファイル又はデータを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、初期設定の組み込み指標及び/又は組み込み用プログラム指標が変更される。
(組み込み用プログラム)
また、媒体入出力手段を有している場合、組み込み用プログラムを供給すると、初期設定された媒体に組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される媒体に組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標選択により、組み込み用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。
(組み込み指標+組み込み用プログラム)
また、媒体入出力手段を有している場合、媒体に組み込み指標を示すファイル又はデータと組み込み用プログラムを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、初期設定の組み込み指標が変更され、並びに/若しくは、組み込み用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。
(Built-in indicators)
In addition, when a medium input / output means is provided, when a file or data indicating a built-in index is supplied to the medium, it is displayed on the (selection) operating device of the electronic device, the (selection) operating device of the computer, or the computer. In the case of having means, the default built-in index is changed by the built-in index selection by the built-in index selection (or screen display selection) means displayed on the display means of the computer.
(Embedded program index)
Further, in the case of having medium input / output means, when a file or data indicating a program index for incorporation is supplied to the medium, the (selection) operating device of the electronic device, the (selection) operating device of the computer, or the computer When the computer has a display means, the default built-in program index is changed by selecting the built-in program index by the built-in program index selection (or screen display selection) means displayed on the display means of the computer.
(Built-in index + Embedded program index)
In addition, when a medium input / output unit is provided, if a file or data indicating an installation index and an installation program index is supplied to the medium, the (selection) operating device of the electronic device or the (selection) operating device of the computer If the computer has display means, the initial setting is made by selecting the built-in index displayed on the display means and / or the built-in program index selection (or screen display selection) means of the computer and / or the program index for installation. The embedded index and / or the embedded program index are changed.
(Embedded program)
In addition, when the medium input / output means is provided, if the program for installation is supplied, the program is selected for the electronic device (selection) or the computer (selection) based on the program index for installation in the initially set medium. ) When the operating device or the computer has a display means, an embedded program is added or changed by selecting an embedded index on the medium displayed on the display means of the computer by an embedded program index selection (or screen display selection) means. And / or deleted and / or the embedded program index is changed.
(Built-in index + Embedded program)
In addition, when a medium input / output means is provided, when a file or data indicating an installation index and an installation program are supplied to the medium, the (selection) operating device of the electronic device, or the (selection) operating device of the computer, Alternatively, when the computer has a display means, the initial setting is made by selecting the built-in index and / or the program index for embedding by the built-in index displayed on the display means and / or the program index selection (or screen display selection) means for the computer. The embedded index is changed and / or the embedded program is added, changed, and / or deleted, and / or the embedded program index is changed.

(組み込み用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラムと共に組み込み用プログラム指標を示すファイル又はデータを供給すると、組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み用プログラム指標選択により、組み込み用プログラムが追加、変更、及び/又は削除される。この際、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(ソフトウエア+組み込み用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体にソフトウエアと組み込み用プログラムと組み込み用プログラム指標を供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。この際、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(組み込み指標+組み込み用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラム指標と組み込み用プログラムと組み込み用プログラム指標を供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更され、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(Embedded program + Embedded program index)
In addition, when the medium input / output means is provided, if a file or data indicating the program index for installation is supplied to the medium together with the program for installation, the (selection) operating device of the electronic device is based on the program index for installation. If the computer has a display means, or if the computer has a display means, the program is selected by the program index selection for installation (or screen display selection) means displayed on the display means of the computer. Programs are added, changed, and / or deleted. At this time, if the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.
(Software + Embedded program + Embedded program index)
In addition, when the medium input / output means is provided, if software, an embedded program, and an embedded program index are supplied to the medium, based on the initially set embedded index and the embedded program index, Selection) Built-in index and / or built-in program index selection means (or screen display selection) means displayed on the display means of the operating device, or the (selective) operating device of the computer, or if the computer has a display means By selecting the built-in index and / or the program index for embedding, the program for embedding is incorporated into the execution body in a binary state. At this time, if the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.
(Built-in index + Embedded program + Embedded program index)
Further, when the medium input / output means is provided, when the program index for installation, the program for installation, and the program index for installation are supplied to the medium, the electronic device is based on the built-in index and the program index for installation. Selection of built-in indicators and / or built-in program indicators (or screen display selections) displayed on the display means of the (selection) controller, or the (selection) controller of the computer, or if the computer has a display means ) By the built-in index and / or the program index for embedding by means, the program for embedding is incorporated into the execution body in a binary state. At this time, when the initial setting of the embedded index is changed, the initial setting of the embedded index is also changed. When the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.

(ソフトウエア+組み込み指標+組み込み用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体にソフトウエアと組み込み指標を示すファイル又はデータと組み込み用プログラムと組み込み用プログラム指標を供給すると、組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、実行体に組み込み用プログラムがバイナリの状態で組み込まれる。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更され、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(Software + Embedded index + Embedded program + Embedded program index)
In addition, when the medium input / output means is provided, when the file or data indicating the software and the built-in index, the built-in program, and the built-in program index are supplied to the medium, based on the built-in index and the built-in program index, Built-in indicators and / or built-in program indicators selection (or screens) displayed on the display means of an electronic device (selection) controller, or a computer (selection) controller, or if the computer has a display means By selecting the built-in index and / or the built-in program index by means of (display selection) means, the built-in program is incorporated into the execution body in a binary state. At this time, when the initial setting of the embedded index is changed, the initial setting of the embedded index is also changed. When the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.

(供給媒体からソフトウエアを供給した場合)説明箇所終 (When software is supplied from the supply medium)

以上のように、本発明の実施の形態の機械語コード組込システム集積回路を電子機器又はコンピュータに装着しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上する。   As described above, the machine language code embedded system integrated circuit according to the embodiment of the present invention is simply mounted on an electronic device or a computer. For example, if an electronic device only operation permission program is embedded as a binary embedded code, All executables on an electronic device or computer can only be run on that electronic device or computer. For this reason, for example, when another person uses an electronic device or a computer, even if another person takes out the execution body, it can be operated only by the electronic device or the computer, and the security function is improved.

尚、以上においては、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を使用したが、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)を使用するようにしてもよい。この場合、ソフトウエアは高級言語で記載されたものであってもよく、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、高級言語のコンパイラでコンパイルされた後に、組み込み用プログラムがバイナリの状態で実行体に格納される。また、ソフトウエアも組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標と組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納される。また、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)と組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)との2つのファイルを用いたが、2つのファイル又はデータを1つとした組み込み/組み込み用プログラム指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、初期設定をするかどうか等、どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、初期設定を行うかどうか等)を共有して使用するようにしてもよい。   In the above, the built-in index (which embedded program is installed in which position of which software and / or whether or not to perform initial setting) is used. It is also possible to use the location in which the software is incorporated, whether the software is written in a machine language or in a high-level language, and / or whether to perform initialization. In this case, the software may be written in a high-level language. If the high-level language is written in the built-in index, the software is compiled by a high-level language compiler. After that, the embedded program is stored in a binary state in the execution body. If the software and the embedded program are written in a high-level language, and the high-level language is described in the built-in index and the built-in program index, the embedded program is designated as the specified high-level language. The software is compiled with the compiler of the designated high-level language, and the compiled embedded program is stored in the executable form in a binary state. In addition, built-in indexes (such as which embedded program is to be embedded in which position and / or whether to make initial settings) and embedded program indexes (which embedded programs are added, changed, and / or deleted) The order of the program for embedding, the embedding program is written in machine language or in any high-level language, and / or whether to perform initial setting, etc.). Or, a program index for embedding / embedding with one data (adding, changing, and / or deleting which embedding program, such as which embedding program is to be incorporated in which position of software, whether to perform initial setting, etc. , Sequence of embedded programs, embedded programs can be machine language or May be used in a shared manner.

また、以上に説明した本発明の実施の形態の機械語コード組込システム集積回路1200を電子機器又はコンピュータ上に装着した場合、初期設定又は選択手段による選択により、組み込みを行うようにしたり行わないように選択できるようにしてもよい。また、実行体に組み込み用プログラムを組み込んだ後に、実行体への組み込み用プログラムの組み込みを解除(即ち、実行体に組み込んだ組み込み用プログラムを削除して元の実行体の状態に戻す)できるようにしてもよい(詳細は後述する組み込み処理の逆の処理である組み込み削除の処理((組み込み削除の処理説明箇所初め)〜(組み込み削除の処理説明箇所終))に記す。)。この解除も、初期設定又は選択手段による選択((集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に、上述した(集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等をさらに追加したものを使用し、追加した指標に対応した処理を実行することにより、組み込み処理と同様の動作で、組み込み削除を行うことができる。)により、選択した実行体にのみ行えるようにしてもよい(詳細は後述する組み込み処理の逆の処理である組み込み削除の処理((図10〜図12に対応した組み込み削除の処理説明箇所初め)〜(図10〜図12に対応した組み込み削除の処理説明箇所終))に記す。)。また、媒体入出力手段により読み取った組み込み用プログラムは、電子機器又はコンピュータに内蔵の不揮発性のメモリに格納するようにしてもよいし、機械語コード組込システム集積回路1200内に内蔵されている又はさらに内蔵する不揮発性のメモリ(,さらに内蔵する書き込み回路)に格納するようにしてもよい。   Further, when the machine language code embedded system integrated circuit 1200 according to the embodiment of the present invention described above is mounted on an electronic device or a computer, it may or may not be incorporated by initial setting or selection by a selection means. You may make it selectable. In addition, after an embedded program is incorporated into an executable, the incorporation of the embedded program into the executable is released (that is, the embedded program embedded in the executable is deleted and returned to the original executable state). (Details may be described in a built-in deletion process that is the reverse of the below-described built-in process (from the beginning of the description of the built-in deletion process to the end of the description of the built-in deletion process)). This cancellation is also made by the above-described (integrated circuit) built-in index and / or (integrated circuit) built-in program index in the initial setting or selection by the selection means ((integrated circuit) built-in index and / or (integrated circuit) built-in program index). In addition, it is necessary to delete the means having the function, to delete the means having the function from which software, to which position in the software the size of the function means is incorporated, Whether to execute deletion, whether to perform embedded processing or embedded deletion processing, whether to use initial settings at the start of processing, or by means of selection, etc. is used, and processing corresponding to the added index is executed In this way, it is possible to delete the embedded program in the same manner as the embedded process.) (The details of the deletion process, which is the reverse of the process described later, will be described in detail (the description of the process of the deletion process corresponding to FIGS. 10 to 12) to (FIGS. 10 to 12). The corresponding explanation of the processing for deleting a built-in is described in the end))). Further, the embedded program read by the medium input / output means may be stored in a non-volatile memory built in the electronic device or computer, or is built in the machine language code embedded system integrated circuit 1200. Alternatively, it may be stored in a built-in nonvolatile memory (and a built-in writing circuit).

また、以上に説明した本発明の実施の形態の機械語コード組込システム集積回路1200を本発明の実施の形態の機械語コード組込システム供給若しくは配布媒体とし、電子機器又はコンピュータの媒体供給入出力に挿入することによって、機械語コード組込システム集積回路1200と同様の処理を施す、本発明の実施の形態の機械語コード組込システム供給若しくは配布媒体としてもよい。このようにすれば、機械語コード組込システム供給若しくは配布媒体を電子機器又はコンピュータに挿入(装着)しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる(1電子機器唯一動作許可機械語コード組込システム供給若しくは配布媒体とすることができる)。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上する。図12(1−1)では、供給若しくは配布媒体をUSB(Universal・Serial・Bus)フラッシュメモリとした場合の実施例である機械語コード組込システム供給若しくは配布媒体1200−1が示されている(供給若しくは配布媒体としては、詳細は後述するが、例えば、USBフラッシュメモリ、USBHDD(Hard・Disk・Drive)、MO、DVD−ROM、CD-ROM、フロッピー(登録商標)ディスク等の各種媒体とすることができる)。機械語コード組込システム供給若しくは配布媒体1200−1を電子機器又はコンピュータの媒体供給入出力に挿入(装着)時は、集積回路組み込み指標と集積回路組み込み用プログラム指標とが供給若しくは配布媒体組み込み指標と供給若しくは配布媒体組み込み用プログラム指標として使用され、組み込み指標と組み込み用プログラム指標とが他の媒体供給入出力に供給された供給媒体で使用されるものとなる。また、機械語コード組込システム供給若しくは配布媒体1200−1の構成は、図12(2)に示すように、機械語コード組込システム集積回路1200と同様の構成をしており、同様の動作を行う。   The machine language code embedded system integrated circuit 1200 according to the embodiment of the present invention described above is used as a machine language code embedded system supply or distribution medium according to the embodiment of the present invention. The machine language code embedded system supply or distribution medium according to the embodiment of the present invention may be processed by performing the same processing as the machine language code embedded system integrated circuit 1200 by being inserted into the output. In this way, the machine language code embedded system supply or distribution medium is simply inserted (attached) to the electronic device or computer. For example, if a single electronic device operation permission program is incorporated as a binary embedded code, All executables on a device or computer can be run only on that electronic device or computer (one electronic device can be the only operation-permitted machine language code embedded system supply or distribution medium) . For this reason, for example, when another person uses an electronic device or a computer, even if another person takes out the execution body, it can be operated only by the electronic device or the computer, and the security function is improved. FIG. 12 (1-1) shows a machine language code embedded system supply or distribution medium 1200-1 which is an embodiment when the supply or distribution medium is a USB (Universal / Serial / Bus) flash memory. (The supply or distribution medium will be described in detail later, for example, various media such as a USB flash memory, USB HDD (Hard Disk Drive), MO, DVD-ROM, CD-ROM, floppy (registered trademark) disk, etc. can do). When the machine language code embedded system supply or distribution medium 1200-1 is inserted (attached) into the medium supply input / output of the electronic device or computer, the integrated circuit built-in index and the integrated circuit built-in program index are supplied or distributed medium built-in index. Are used as supply or distribution medium built-in program indexes, and the built-in indexes and built-in program indexes are used in the supply medium supplied to other medium supply input / output. The configuration of the machine language code embedded system supply or distribution medium 1200-1 is the same as that of the machine language code embedded system integrated circuit 1200 as shown in FIG. I do.

(組み込み削除の処理説明箇所初め)
上述した、バイナリの状態での実行体への機械語コード組み込み方法に対応したバイナリの状態での実行体からの機械語コード組み込み削除方法を示す、機械語コードの組み込み削除(解除)装置及び方法である、本発明の実施の形態の機械語コード組み込み削除装置及び方法について、図9を参照しつつ説明する。
(Beginning of the explanation of the built-in deletion process)
Machine language code embedding deletion (cancellation) apparatus and method showing a method for embedding a machine language code from an executable in a binary state corresponding to the above-described method for embedding a machine language code in an executable in a binary state The machine language code embedding / deleting apparatus and method according to the embodiment of the present invention will be described with reference to FIG.

以下に説明するのは、実行体のファイルフォーマットがPE(Portable・Executable)ファイルフォーマットの場合のバイナリの状態での実行体への機械語コード組み込み削除装置及び方法である。   Described below is an apparatus and method for deleting machine language code embedded in an executable in a binary state when the file format of the executable is the PE (Portable / Executable) file format.

図9(1)に示すバイナリ状態での実行体への機械語コード組み込み削除装置は、コードセクションのコード内にコードセクション内のプログラム開始位置にジャンプする箇所がある場合(例えば、デバッグ情報が挿入されている場合)であり、挿入されているバイナリコードには、システムコールまでしか使用していない場合(例えば、Windows(登録商標)の場合、dllの呼び出しのコードを使用せずに、使用してもシステムコールまでしか使用しない場合、コードセクションよりも前に、挿入されているバイナリコードを削除し、実行体のバイナリファイルからコードセクション内のプログラム開始位置にジャンプするコードセクション内のプログラム開始位置が記載されている領域を検索し、検索したコードセクション内のプログラム開始位置をプログラム開始位置から削除したバイナリコードのサイズ分加算したアドレスに変更する。また、削除したバイナリコードがデータを使用している場合、データセクションからデータを削除する。また、削除したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションからデータを削除する。また、コードを削除したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。削除したバイナリコードが大きく、コードサイズが減少する場合、減少後のコードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを減少したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したコードサイズ分ずらす。削除した他のセクションサイズが大きく、他のセクションサイズが減少する場合、減少後の他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを減少した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したサイズ分ずらす。尚、コードセクション内のプログラム開始位置の検索は、PEヘッダ、コードセクションヘッダ内の検索により行われる。   The machine language code embedding / deleting device in the execution state in the binary state shown in FIG. 9 (1) has a place in the code section where there is a jump to the program start position in the code section (for example, debug information is inserted). If the binary code that is inserted is used only up to the system call (for example, in the case of Windows (registered trademark), use the dll call code without using it) If only the system call is used, the inserted binary code is deleted before the code section, and the program start position in the code section jumps from the executable binary file to the program start position in the code section. Search the area where is described, and start the program in the searched code section Change the location to the address added by the size of the deleted binary code from the program start position, and if the deleted binary code uses data, delete the data from the data section. If data in another data section is used, delete the data from the other data section, and change the address of the part that refers to the address in the code of the other code part by deleting the code If the deleted binary code is large and the code size decreases, the code size in the code section header is changed to a specified size larger than the code size after the decrease, and other section headers other than the code section Coder with reduced start address of other sections in The number of addresses that refer to other sections in the code is reduced (for example, the address that refers to the address is searched, and the address that refers to another section in the code is searched) decreases. If the other section size that was deleted is large and the other section size is reduced, the other section size in the other section header is larger than the other section size after the reduction. , Shift the start address of the other sections after the code section by another section size that has been decreased, and search for the address that referenced the other section in the code (for example, the location where the address is a reference instruction, etc.) And search for addresses that referenced other sections in the code) are offset by the reduced size. The program start position in the code section is searched by searching in the PE header and code section header.

図9(2)に示すバイナリ状態での実行体への機械語コード組み込み削除装置は、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がある場合(例えば、デバッグ情報が挿入されている場合)であり、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションよりも前に、挿入されているバイナリコードを削除し、実行体のバイナリファイルからコードセクション内のプログラム開始位置にジャンプするコードセクション内のプログラム開始位置が記載されている領域を検索し、検索したコードセクション内のプログラム開始位置をプログラム開始位置から削除したバイナリコードのサイズ分加算したアドレスに変更する。そして、削除したバイナリコードが使用しているdll関数をコード内の他の箇所で参照しているかどうかを検索し、参照していない場合、インポートセクションからdll関数を削除し、dll関数が属するdllの他のdll関数をコード内の他の箇所で参照しているかどうかを検索し、参照していない場合、他のdll関数及びdllをインポートセクションから削除する。そして、インポートセクションに既にあるdllとdll関数のアドレスを削除した分だけずらし、コード内にdll関数を参照しているアドレスを変更する。また、呼び出しdll関数がデータを使用している場合、データセクションからデータを削除する。また、コードを削除したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。削除したバイナリコードが大きく、コードサイズが減少する場合、減少後のコードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを減少したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したコードサイズ分ずらす。削除した他のセクションサイズが大きく、他のセクションサイズが減少する場合、減少後の他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを減少した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したサイズ分ずらす。尚、コードセクション内のプログラム開始位置の検索は、PEヘッダ、コードセクションヘッダ内の検索により行われる。   The machine language code embedding / deleting apparatus in the execution body in the binary state shown in FIG. 9 (2) has a place where the code jumps to the program start position in the code section (for example, debug information is inserted). If the code used is a function that is not an executable but a function that is embedded in a file (for example, dll in the case of Windows (registered trademark)), and is called. Before the section, delete the inserted binary code, and search the area where the program start position in the code section that jumps from the executable binary file to the program start position in the code section is searched and searched Binary code size in which the program start position in the selected code section is deleted from the program start position. Change the address to the number added. Then, it is searched whether or not the dll function used by the deleted binary code is referenced elsewhere in the code. If not, the dll function is deleted from the import section and the dll function belongs to the dll function. It is searched whether other dll functions are referenced elsewhere in the code. If not, the other dll functions and dll are deleted from the import section. Then, the dll and dll function addresses already in the import section are shifted by the amount deleted, and the address referring to the dll function is changed in the code. If the calling dll function uses data, the data is deleted from the data section. In addition, the address of the part that refers to the address in the code of another code part due to the deletion of the code is also changed. If the deleted binary code is large and the code size decreases, change the code size in the code section header to a specified size larger than the code size after the decrease, and change the code size in other section headers other than the code section. The start address of the section is shifted by the reduced code size, the address that referred to another section in the code (for example, the location where the address is referenced, etc. is searched, and the other section in the code is referenced. Search the address that had been changed) is shifted by the reduced code size. If the deleted other section size is large and the other section size decreases, change the other section size in the other section header to the size of the specified size larger than the other section size after the decrease, and the code section Subsequent start addresses of other sections are shifted by another reduced section size, and the address that referenced another section in the code (for example, the location where the address is a reference instruction, etc. is searched, Search for the address that referred to the section of) and shift it by the reduced size. The program start position in the code section is searched by searching in the PE header and code section header.

図9(3)に示すバイナリ状態での実行体への機械語コード組み込み削除装置は、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、挿入されているバイナリコードには、システムコールまでしか使用していない場合(例えば、Windows(登録商標)の場合、dllの呼び出しのコードを使用せずに、使用してもシステムコールまでしか使用しない場合、コードセクションの初め、中間、又は最後に、挿入されているバイナリコードを削除する。また、挿入されているバイナリコードがデータを使用している場合、データセクションからデータを削除する。また、削除したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションから削除する。また、コードを削除したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。削除したバイナリコードが大きく、コードサイズが減少する場合、減少後のコードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを減少したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したコードサイズ分ずらす。削除した他のセクションサイズが大きく、他のセクションサイズが減少する場合、減少後の他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを減少した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したサイズ分ずらす。   The machine language code embedding / deleting apparatus in the execution body in the binary state shown in FIG. 9 (3) is a case where there is no place in the code that jumps to the program start position in the code section. In cases other than 2), the inserted binary code is used only up to the system call (for example, in the case of Windows (registered trademark), it can be used without using the code for calling the dll). If only the system call is used, the inserted binary code is deleted at the beginning, middle, or end of the code section, and if the inserted binary code uses data, the data from the data section is deleted. If the deleted binary code uses data from another data section, delete it from the other data section. Also, change the address of the part that refers to the address in the code of another code part by deleting the code.If the deleted binary code is large and the code size decreases, the code after the decrease Change the code size in the code section header to a specified size larger than the size, shift the start address of other sections in other section headers other than the code section by the reduced code size, and change the other size in the code Addresses that refer to sections (for example, search for locations that refer to addresses as reference instructions and search for addresses that refer to other sections in the code) are shifted by the reduced code size. If the section size is large and the other section size decreases, the other section Change the other section size in the other section header to a size larger than the specified size, shift the start address of other sections after the code section by the other section size, and shift the other sections in the code The address (for example, searching for the location where the address is a reference instruction and searching for the address referring to another section in the code) is shifted by the reduced size.

図9(4)に示すバイナリ状態での実行体への機械語コード組み込み削除装置は、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションの初め、中間、又は最後に、挿入されているバイナリコードを削除する。また、削除したいバイナリコードがデータを使用している場合、データセクションからデータを削除する。また、削除したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションからデータを削除する。また、コードを削除したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う。削除したバイナリコードが大きく、コードサイズが減少する場合、減少後のコードサイズよりも大きい規定サイズの大きさにコードセクションヘッダー内のコードサイズを変更し、コードセクション以外の他のセクションヘッダー内の他のセクションの開始アドレスを減少したコードサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したコードサイズ分ずらす。削除した他のセクションサイズが大きく、他のセクションサイズが減少する場合、減少後の他のセクションサイズよりも大きい規定サイズの大きさに他のセクションヘッダー内の他のセクションサイズを変更し、コードセクション以降の他のセクションの開始アドレスを減少した他のセクションサイズ分ずらし、コード内の他のセクションを参照していたアドレス(例えば、アドレスを参照命令等している箇所を検索し、コード内の他のセクションを参照していたアドレスを検索する)は減少したサイズ分ずらす。   The machine language code embedding / deleting apparatus in the execution body in the binary state shown in FIG. 9 (4) is a case where there is no place in the code that jumps to the program start position in the code section. In cases other than 2), when a code that uses a function incorporated in a file in which a function group is incorporated (for example, dll in the case of Windows (registered trademark)) is called instead of an executable, Delete the inserted binary code at the beginning, middle or end of the code section. If the binary code to be deleted uses data, the data is deleted from the data section. If the deleted binary code uses data from another data section, the data is deleted from the other data section. In addition, the address of the part that refers to the address in the code of another code part due to the deletion of the code is also changed. If the deleted binary code is large and the code size decreases, change the code size in the code section header to a specified size larger than the code size after the decrease, and change the code size in other section headers other than the code section. The start address of the section is shifted by the reduced code size, the address that referred to another section in the code (for example, the location where the address is referenced, etc. is searched, and the other section in the code is referenced. Search the address that had been changed) is shifted by the reduced code size. If the deleted other section size is large and the other section size decreases, change the other section size in the other section header to the size of the specified size larger than the other section size after the decrease, and the code section Subsequent start addresses of other sections are shifted by another reduced section size, and the address that referenced another section in the code (for example, the location where the address is a reference instruction, etc. is searched, Search for the address that referred to the section of) and shift it by the reduced size.

以下に、PE(Portable・Executable)フォーマットの場合の、本発明の実施の形態の機械語コード組み込み削除装置の構成及び方法を詳細に説明する。   The configuration and method of the machine language code incorporation / deletion device according to the embodiment of the present invention in the case of the PE (Portable / Executable) format will be described in detail below.

本発明の実施の形態の機械語コード組み込み削除装置は、
1.<コードの削除>
1.0. 組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
組み込んだソフトウエアのコードのどの位置に機能を有する手段を挿入しているかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に機能を有する手段を挿入している場合(コード挿入位置選択判断手段による判断に依る)、
(コードセクション)ヘッダーのコードセクション開始アドレスを検索するコードセクション開始アドレス検索手段と、
コードセクション開始アドレスからコードセクション内を検索し、コード開始アドレスをコールしている箇所を検索するコードセクション内コード開始アドレスコール箇所検索手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード開始アドレスからコードセクションの開始アドレス(又は、組み込み前のコードセクションの通常の開始アドレス)の前までに挿入したコードを削除するコード削除手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに削除した機能を有する手段のコードアドレスを加算した(又は、通常の)開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又はdll関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合(システムコール又はdll関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段がdllを使用している場合>
3.0. 削除した機能を有する手段がdllを使用しているかどうかを判断する、機能を有する手段dll使用/非使用判断手段と
を有し、
3.1.<他の箇所使用dll関数使用/非使用チェック>
削除した機能を有する手段がdllを使用している場合(機能を有する手段dll使用/非使用判断手段による判断に依る)、
機能を有する手段が使用しているdll関数のアドレスを検索するdll関数アドレス検索手段と、
機能を有する手段が使用しているdll関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用dll関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用dll関数を使用していない場合>
コード内の他の箇所で使用dll関数を使用していると判断されなかった場合(他の箇所使用dll関数アドレス使用/非使用検索手段による判断に依る)、
インポートセクション内に、使用dll関数が属するdllの他のdll関数のアドレスを検索するインポートセクション内他のdll関数アドレス検索手段と
を有し、
3.1.1.1.<インポートセクション内に他のdll関数が検索された場合>
インポートセクション内に他のdll関数が検索された場合、
他のdll関数をコード内の他の箇所で使用しているかどうかを検索する他のdll関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他のdll関数アドレスを使用していない場合>
他のdll関数アドレスを使用していると判断されなかった場合(他のdll関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
dll関数,dll関数のdllに属する全ての他のdll関数,dllを削除し、dll,dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
3.1.1.1.2.<他のdll関数アドレスを使用している場合>
他のdll関数アドレスを使用していると判断された場合(他のdll関数アドレス使用/非使用検索手段による判断に依る)、
dll関数を削除し、dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード、インポート、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<組み込んだソフトウエアに他のセクションの要素非存在時>
組み込んだソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有し、
6.
6.0. 機能を有する手段削除によりコードサイズが初めより小さくなるかどうかを判断するコード削除コードサイズ小/非小判断手段と
を有し、
(機能を有する手段削除によりコードサイズが初めより小さくなる場合)
機能を有する手段削除により、コードサイズがコードセクションヘッダーに記載されているサイズよりも小さくなる場合(コード削除コードサイズ小/非小判断手段による判断に依る)、
コードセクションヘッダー内に記載のコードセクション及び/又はコードセクションのコードサイズをコード削除後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コードセクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により減分したサイズ分、第1の他のセクションヘッダー内に記載の第1の他のセクションの開始アドレス及び/又は第1の他のセクションを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード削除により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより小さくなる場合)
コード削除により、第1の他のセクションのサイズが第1の他のセクションヘッダー内に記載されているサイズよりも小さくなる場合(コード挿入により他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段による判断に依る)、
第1の他のセクションヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション削除後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コードセクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する第2の他のセクションヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの減分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード削除により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有する
ことを特徴とする。
The machine language code built-in deletion device of the embodiment of the present invention,
1. <Deleting code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in the embedded software;
Code insertion position selection determining means for selecting and determining at which position of the embedded software code the functional means is inserted;
1.1. If the embedded software has a location where the code start address is called in the current code, such as debug information (depending on the determination by the code start address call location search means), and means that has a function before the start of the code Is inserted (depending on the determination by the code insertion position selection determination means)
(Code section) code section start address search means for searching the code section start address of the header;
Search the code section from the code section start address, search the code start address call location search means to search the location where the code start address is called,
Code start address in code section Based on the code start address searched by the call location search means, the code inserted from the code start address to the code section start address (or the normal start address of the code section before installation) Code deletion means to delete,
Code start address in code section Code start address searched by call location search means Code start address obtained by adding the code address of the means having the deleted function to the code start address of the call location (or normal) to be rewritten to the start address Change means,
1.2. If the embedded software does not have a location to call the code start address in the current code, such as debug information (depending on judgment by the code start address call location search means), or other than 1.1 (code section) header Code start address search means for searching the code start address of
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or dll function is called in the code of the means having the deleted function, and a system call or dll function data use / non-use judgment means for judging whether or not the function uses data; Have
When a system call or dll function is called in the code of the means having the deleted function and the function uses data (depending on judgment by the system call or dll function data use / non-use judgment means) A data section deleting means for deleting data from the data section;
3. <If the deleted function uses a dll>
3.0. A means for determining whether the means having the deleted function uses a dll, a means having a function dll use / non-use determination means,
3.1. <Use / non-use check of other part dll function>
When the means having the deleted function uses dll (depending on the judgment by the means having the function dll use / non-use judgment means)
A dll function address search means for searching for an address of a dll function used by the means having a function;
Dll function address use / non-use search means for searching whether or not the address of the dll function used by the means having the function is used elsewhere in the code,
3.1.1. <When the dll function used elsewhere is not used>
If it is not determined that the used dll function is used elsewhere in the code (depending on the determination by the other location used dll function address use / non-use search means)
In the import section, there is another dll function address search means in the import section that searches for the address of another dll function of the dll to which the used dll function belongs,
3.1.1.1. <When another dll function is found in the import section>
If other dll functions are found in the import section,
Another part use / non-use search means in other dll function address code to search whether other dll functions are used elsewhere in the code,
3.1.1.1.1. <When other dll function address is not used>
When it is not determined that another dll function address is used (depending on the determination by other part use / non-use search means in other dll function address code),
Delete all other dll functions and dlls belonging to the dll of the dll function and dll function, and change the address by deleting the dll and dll function. In the import section to change the address reference address of dll, dll function address change means,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
3.1.1.1.2. <When using other dll function address>
When it is determined that another dll function address is used (depending on the determination by other dll function address use / non-use search means)
Changing the dll address in the import section by deleting the dll function and changing the dll address, dll function address, and / or other address reference address in the import section by changing the address by deleting the dll function When,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
4). <When the means with the deleted function uses elements of other sections (one or more other than code, import, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements do not exist in the embedded software>
When there is no element in another section in the embedded software (depending on the determination by the element existence / non-existence search means in the other section in the code)
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(When there is a designated part depending on the judgment by the address designation / non-designation judgment means in the means deleting code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code section is It has an address shifting means for searching for the address being referred to and deleting the searched address by the code size of the deleted code,
6).
6.0. A code deletion code size small / non-small determination means for determining whether or not the code size is smaller than the beginning by deleting the function having the function;
(When code size becomes smaller than the beginning due to deletion of means with functions)
When the code size becomes smaller than the size described in the code section header due to means deletion having a function (depending on the determination by the code deletion code size small / non-small determination means),
Code size changing means for changing the code section described in the code section header and / or the code size of the code section to a size having a specified width larger than the size after the code is deleted;
A first other section for determining whether a first other section (other than a code section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section start for changing the start address of the first other section and / or the first other section described in the first other section header by the size decremented by the code size changing means. An address changing means;
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code deletion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size small / non-small judgment means for judging whether or not the first other section size is smaller than the first by insertion of the code,
(When the code inserts the first other section size smaller than the beginning)
If code deletion causes the size of the first other section to be smaller than the size described in the first other section header (determines whether code insertion causes the other section size to be smaller than the beginning) Depending on the judgment by the other section size small / non-small judgment means of the first code insertion)
The size of the first other section and / or the first other section described in the first other section header is changed to a size having a specified width larger than the size after the first other section is deleted. First other section sizing means to
A second other section for determining whether a second other section (other than the code section) is present,
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the second other section header having the start address after the start address of the first other section is set to the first other section. Means for changing the start address of the second other section that is shifted by a decrement in size from the start address of the section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code deletion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. And a process repeat execution means.

尚、上述した機械語コード組み込み削除装置は、ELF(Executable・and・Linkable・Format)フォーマットの場合でも同様に組み込み削除が行え、PEファイルフォーマットの場合、各セクションヘッダーのアドレス及び/又はサイズ等の検索に、PEヘッダー及び/又はセクションヘッダーを用いていたものを、ELFファイルフォーマットの場合、ELFヘッダー、プログラムヘッダー、セクションヘッダ、及び/又は、セクションヘッダーテーブルを用いるようになり、これらを、(各セクションのアドレス及び/又はサイズが記載されている)ヘッダーと纏めて記すと、ELFフォーマットを含める場合は、以下のようになる。
本発明の実施の形態の機械語コード組み込み削除装置は、
ソフトウエアにバイナリの状態で組み込んだ機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置であって、
1.<コードの挿入>
1.0. 組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
組み込んだソフトウエアのコードのどの位置に機能を有する手段を挿入しているかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に機能を有する手段を挿入している場合(コード挿入位置選択判断手段による判断に依る)、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード開始アドレスからコード記載セクションの開始アドレス(又は、組み込み前のコード記載セクションの通常の開始アドレス)の前までに挿入したコードを削除するコード削除手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに削除した機能を有する手段のコードアドレスを加算した(又は、通常の)開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合(システムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合>
3.0. 削除した機能を有する手段が呼び出し関数群格納ファイルを使用しているかどうかを判断する、機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段と
を有し、
3.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数使用/非使用チェック>
削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合(機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段による判断に依る)、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していない場合>
コード内の他の箇所で使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していると判断されなかった場合(他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群呼び出しセクション内に、使用呼び出し関数群格納ファイル被格納呼び出し関数が属する呼び出し関数群格納ファイルの他の呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群呼び出しセクション内他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と
を有し、
3.1.1.1.<呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合>
呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合、
他の呼び出し関数群格納ファイル被格納呼び出し関数をコード内の他の箇所で使用しているかどうかを検索する他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していない場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断されなかった場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイル被格納呼び出し関数の呼び出し関数群格納ファイルに属する全ての他の呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイルを削除し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.1.1.2.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断された場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数を削除し、呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード記載、呼び出し関数群呼び出し、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<組み込んだソフトウエアに他のセクションの要素非存在時>
組み込んだソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有し、
6.
6.0. 機能を有する手段削除によりコードサイズが初めより小さくなるかどうかを判断するコード削除コードサイズ小/非小判断手段と
を有し、
(機能を有する手段削除によりコードサイズが初めより小さくなる場合)
機能を有する手段削除により、コードサイズが(コード記載セクション)ヘッダーに記載されているサイズよりも小さくなる場合(コード削除コードサイズ小/非小判断手段による判断に依る)、
(コード記載セクション)ヘッダー内に記載のコード記載セクション及び/又はコード記載セクションのコードサイズをコード削除後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コード記載セクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により減分したサイズ分、(第1の他のセクション)ヘッダー内に記載の第1の他のセクションの開始アドレス及び/又は第1の他のセクションを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード削除により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより小さくなる場合)
コード削除により、第1の他のセクションのサイズが(第1の他のセクション)ヘッダー内に記載されているサイズよりも小さくなる場合(コード挿入により他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段による判断に依る)、
(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション削除後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コード記載セクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する(第2の他のセクション)ヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの減分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード削除により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有し、
ソフトウエアにバイナリの状態で組み込んだ機能を有する手段をバイナリの状態で組み込み削除する
ことを特徴とするソフトウエア製造装置
となる。
尚、以上において、他のファイルフォーマットにおいても、上述したソフトウエア製造装置において、ソフトウエアにバイナリの状態で組み込んだ機能を有する手段をバイナリの状態で組み込み削除することができ、COFF(Common・Object・File・Format)、XCOFF、ECOFF、a.outフォーマットの場合においてもフォーマットに応じて不用な手段を使用しないようにすれば、上述したソフトウエア製造装置において、ソフトウエアにバイナリの状態で組み込んだ機能を有する手段をバイナリの状態で組み込み削除することができる。
The above-described machine language code embedding / deleting device can similarly perform embedding / deleting even in the case of ELF (Executable, Linkable, Format), and in the case of PE file format, the address and / or size of each section header. The search uses the PE header and / or section header. In the case of the ELF file format, the ELF header, program header, section header, and / or section header table are used. When combined with the header (which describes the address and / or size of the section), the ELF format is as follows.
The machine language code built-in deletion device of the embodiment of the present invention,
A software manufacturing apparatus characterized in that means having a function incorporated in software in a binary state is incorporated and deleted in binary state,
1. <Insert code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in the embedded software;
Code insertion position selection determining means for selecting and determining at which position of the embedded software code the functional means is inserted;
1.1. If the embedded software has a location where the code start address is called in the current code, such as debug information (depending on the determination by the code start address call location search means), and means that has a function before the start of the code Is inserted (depending on the determination by the code insertion position selection determination means)
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code start address in code description section Based on the code start address searched by the call location search means, from the code start address to the start address of the code description section (or the normal start address of the code description section before installation) A code deletion means for deleting the inserted code;
Code start address in the code description section Code start address searched by the call location search means Code start address obtained by adding the code address of the means having the deleted function to the code start address of the call location (or normal) to rewrite the start address Address changing means,
1.2. If the embedded software does not have a location to call the code start address in the current code, such as debug information (depends on the judgment by the code start address call location search means), or other than 1.1 (code description section) Code start address search means for searching for the code start address of the header;
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 System call or call function group storage file stored call function is called in the code of the means having the deleted function, and the system call or call function group for determining whether the function uses data A storage file stored call function data use / non-use determination means,
When a system call or calling function group storage file stored call function is called in the code of the means having the deleted function and the function uses data (system call or calling function group storage file stored call) Data section deletion means for deleting data from the data section, depending on the determination by the function data use / non-use determination means),
3. <When the means with the deleted function uses the calling function group storage file>
3.0. A means for determining whether the function having the deleted function is using the calling function group storage file; a means for determining whether the function calling function group storage file is used / not used;
3.1. <Use / non-use check of stored function for calling stored function in other locations>
When the means having the deleted function uses the calling function group storage file (depending on the judgment by the means for using / not using the function calling function group storage file having the function),
A call function group storage file stored call function address search means for searching for an address of a call function group storage file stored call function used by a means having a function;
Called function group storage file stored call function address used to search whether the address of the call function group stored file stored call function used by the means having the function is used elsewhere in the code Use / non-use search means,
3.1.1. <When other part use call function group storage file stored call function is not used>
When it is not determined that the used call function group storage file stored call function is being used elsewhere in the code (according to another location use call function group storage file stored call function address use / non-use search means Depending on judgment),
In the calling function group calling section, the other calling function group storage file to which the used calling function group storage file stored call function belongs is searched. A call function group storage file stored call function address search means,
3.1.1.1. <When another call function group storage file stored call function is found in the call function group call section>
If another call function group storage file stored call function is found in the call function group call section,
Search whether other call function group storage file stored call function is used elsewhere in the code Use other group use file non-use search in other call function group storage file stored call function address code Means,
3.1.1.1.1. <When other call function group storage file stored call function address is not used>
When it is not determined that another call function group storage file stored call function address is used (determination by other place use / non-use search means in another call function group storage file stored call function address code )
Delete all other call function group storage file stored call functions and call function group storage files belonging to the call function group storage file stored call function of the call function group storage file, call function group storage file storage call function, Call function group storage file, call function group storage file stored call function stored address call function group storage file address, call function group storage file stored call function address and / or call function A calling function group storage file for calling function group calling section for changing other address reference addresses in the group calling section, a calling function group storage file stored call function address changing means,
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
3.1.1.1.2. <When other call function group storage file stored call function address is used>
When it is determined that another call function group storage file stored call function address is used (depending on determination by other call function group storage file stored call function address use / non-use search means)
The call function group storage file stored call function is deleted by deleting the call function group storage file stored call function and deleting the call function group storage file stored call function. A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
4). <When the means having the deleted function uses elements of other sections (single or plural other than code description, calling function group call, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements do not exist in the embedded software>
When there is no element in another section in the embedded software (depending on the determination by the element existence / non-existence search means in the other section in the code)
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(When there is a designated part depending on the judgment by the address designation / non-designation judgment means in the means deleting code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code description section And an address shifting means for deleting the code corresponding to the deleted code size.
6).
6.0. A code deletion code size small / non-small determination means for determining whether or not the code size is smaller than the beginning by deleting the function having the function;
(When code size becomes smaller than the beginning due to deletion of means with functions)
When the code size becomes smaller than the size described in the (code description section) header due to the deletion of means having a function (depending on the determination by the code deletion code size small / non-small determination means),
(Code description section) code size changing means for changing the code size of the code description section described in the header and / or the code size of the code description section to a size having a specified width larger than the size after the code is deleted;
A first other section for determining whether a first other section (other than the code-written section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section that changes the start address of the first other section and / or the first other section described in the (first other section) header by the size decremented by the code size changing means Section start address changing means,
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code deletion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size small / non-small judgment means for judging whether or not the first other section size is smaller than the first by insertion of the code,
(When the code inserts the first other section size smaller than the beginning)
If code deletion causes the size of the first other section to be smaller than the size described in the header (first other section) The code insertion to be determined first depends on the judgment by the other section size small / non-small judgment means),
(First other section) The size of the first other section and / or the first other section described in the header is larger than the size after the first other section is deleted. A first other section size changing means for changing to
A second other section for determining whether there is a second other section (other than the code-written section);
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the header having the start address after the start address of the first other section (second other section) Means for changing the start address of the second other section shifted by a decrement in size from the start address of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code deletion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. 1 processing repetition execution means,
A software manufacturing apparatus is characterized in that means having a function incorporated in software in a binary state is incorporated and deleted in a binary state.
In the above, even in other file formats, in the above-described software manufacturing apparatus, means having a function incorporated in the software in a binary state can be incorporated and deleted in the binary state, and COFF (Common Object -In the case of File / Format), XCOFF, ECOFF, a.out format, if the unnecessary means are not used according to the format, it is incorporated into the software in the above-described software manufacturing apparatus in a binary state. A means having a function can be incorporated and deleted in a binary state.

尚、図1乃至図8に示す、本発明の実施の形態、本発明の第1乃至第5の実施の形態における、バイナリ組み込みの方法に対応したバイナリ組み込み削除の方法は、上述したバイナリ組み込み削除の方法のうち、図9(4)に示すバイナリ状態での実行体への機械語コード組み込み装置に対応したバイナリ組み込み削除装置に該当し、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションの初め、中間、又は最後に、削除したいバイナリコードを挿入されている。また、削除したいバイナリコードがデータを使用している場合、データセクションからデータを削除する。また、挿入したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションからデータを削除する。また、コードを削除したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う処理を有しており、詳細には、
1.<コードの削除>
1.0. 組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
を有し、
1.2.組み込んだソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又はdll関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合(システムコール又はdll関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段がdllを使用している場合>
3.0. 削除した機能を有する手段がdllを使用しているかどうかを判断する、機能を有する手段dll使用/非使用判断手段と
を有し、
3.1.<他の箇所使用dll関数使用/非使用チェック>
削除した機能を有する手段がdllを使用している場合(機能を有する手段dll使用/非使用判断手段による判断に依る)、
機能を有する手段が使用しているdll関数のアドレスを検索するdll関数アドレス検索手段と、
機能を有する手段が使用しているdll関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用dll関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用dll関数を使用していない場合>
コード内の他の箇所で使用dll関数を使用していると判断されなかった場合(他の箇所使用dll関数アドレス使用/非使用検索手段による判断に依る)、
インポートセクション内に、使用dll関数が属するdllの他のdll関数のアドレスを検索するインポートセクション内他のdll関数アドレス検索手段と
を有し、
3.1.1.1.<インポートセクション内に他のdll関数が検索された場合>
インポートセクション内に他のdll関数が検索された場合、
他のdll関数をコード内の他の箇所で使用しているかどうかを検索する他のdll関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他のdll関数アドレスを使用していない場合>
他のdll関数アドレスを使用していると判断されなかった場合(他のdll関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
dll関数,dll関数のdllに属する全ての他のdll関数,dllを削除し、dll,dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
3.1.1.1.2.<他のdll関数アドレスを使用している場合>
他のdll関数アドレスを使用していると判断された場合(他のdll関数アドレス使用/非使用検索手段による判断に依る)、
dll関数を削除し、dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード、インポート、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<組み込んだソフトウエアに他のセクションの要素非存在時>
組み込んだソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有した処理を使用して、バイナリコード(機能を有する手段)が組み込まれたソフトウエアからバイナリコード(機能を有する手段)が削除される。
(組み込み削除の処理説明箇所終)
Note that the binary incorporation deletion method corresponding to the binary incorporation method in the embodiment of the present invention and the first to fifth embodiments of the present invention shown in FIGS. 9 corresponds to the binary embedding / deleting device corresponding to the machine language code embedding device in the execution body in the binary state shown in FIG. 9 (4), and jumps to the program start position in the code section in the code In cases other than those shown in FIGS. 9 (1) and 9 (2), the function group is incorporated in a file (for example, dll in the case of Windows (registered trademark)) instead of an executable. When code that calls using a function is used, the binary code to be deleted is inserted at the beginning, middle, or end of the code section. If the binary code to be deleted uses data, the data is deleted from the data section. If the inserted binary code uses data from another data section, the data is deleted from the other data section. In addition, it has processing that also changes the address of the part that refers to the address in the code of the other code part by deleting the code,
1. <Deleting code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in the embedded software;
Have
1.2. If the embedded software does not have a location to call the code start address in the current code, such as debug information (depending on judgment by the code start address call location search means), or other than 1.1 (code section) header Code start address search means for searching the code start address of
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or dll function is called in the code of the means having the deleted function, and a system call or dll function data use / non-use judgment means for judging whether or not the function uses data; Have
When a system call or dll function is called in the code of the means having the deleted function and the function uses data (depending on judgment by the system call or dll function data use / non-use judgment means) A data section deleting means for deleting data from the data section;
3. <If the deleted function uses a dll>
3.0. A means for determining whether the means having the deleted function uses a dll, a means having a function dll use / non-use determination means,
3.1. <Use / non-use check of other part dll function>
When the means having the deleted function uses dll (depending on the judgment by the means having the function dll use / non-use judgment means)
A dll function address search means for searching for an address of a dll function used by the means having a function;
Dll function address use / non-use search means for searching whether or not the address of the dll function used by the means having the function is used elsewhere in the code,
3.1.1. <When the dll function used elsewhere is not used>
If it is not determined that the used dll function is used elsewhere in the code (depending on the determination by the other location used dll function address use / non-use search means)
In the import section, there is another dll function address search means in the import section that searches for the address of another dll function of the dll to which the used dll function belongs,
3.1.1.1. <When another dll function is found in the import section>
If other dll functions are found in the import section,
Another part use / non-use search means in other dll function address code to search whether other dll functions are used elsewhere in the code,
3.1.1.1.1. <When other dll function address is not used>
When it is not determined that another dll function address is used (depending on the determination by other part use / non-use search means in other dll function address code),
Delete all other dll functions and dlls belonging to the dll of the dll function and dll function, and change the address by deleting the dll and dll function. In the import section to change the address reference address of dll, dll function address change means,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
3.1.1.1.2. <When using other dll function address>
When it is determined that another dll function address is used (depending on the determination by other dll function address use / non-use search means)
Changing the dll address in the import section by deleting the dll function and changing the dll address, dll function address, and / or other address reference address in the import section by changing the address by deleting the dll function When,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
4). <When the means with the deleted function uses elements of other sections (one or more other than code, import, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements do not exist in the embedded software>
When there is no element in another section in the embedded software (depending on the determination by the element existence / non-existence search means in the other section in the code)
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(If there is a designated part depending on the judgment by the address designation / non-designation judgment means within the function deletion code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code section is Search for the address being referred to, and use a process that has an address shifting means that deletes the searched address by the size of the deleted code. The binary code (means having a function) is deleted.
(End of explanation of built-in deletion processing)

(図10〜図12に対応した組み込み削除の処理説明箇所初め)
上述した、本発明の実施の形態の機械語コード組込装置(電子機器)及び方法に対応した本発明の実施の形態の機械語コード組込削除(解除)装置(電子機器)及び方法について、図10、図11を参照して説明する。
(Beginning of the explanation of the process for deleting the built-in corresponding to FIGS. 10 to 12)
Regarding the machine language code embedded device (electronic device) and method of the embodiment of the present invention corresponding to the machine language code embedded device (electronic device) and method of the embodiment of the present invention described above, This will be described with reference to FIGS.

機械語コード組込削除装置(電子機器)1000aにおいては、各種媒体挿入口1016aに挿入されたソフトウエアが格納された媒体からソフトウエアを読み出し、そのソフトウエアに機械語コードで、上述した本明細書中全てに記載されているプログラム、例えば、上述した一電子機器動作許可の機能を有するプログラムを初め、初期設定された((集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標が、上述した(集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたものであり、この場合、組み込み削除処理を行うに初期設定が設定されている場合)、機能を有する手段であるプログラムが組み込まれたソフトウエアから組み込み削除用プログラムがバイナリの状態で組み込み削除され、組み込み削除されたソフトウエア及び/又は削除された組み込み削除用プログラムを媒体に格納する(尚、指定された組み込み削除用プログラムが、指定されたソフトウエアの指定された位置に指定されたサイズあるかどうかを判断し、無い場合(指定された組み込み削除用プログラムと一致しない場合)は、組み込み削除処理は行われない。また、機能を有する手段を組み込んだソフトウエアから機能を有する手段を組み込み削除するのみならず、単数又は複数の機能を有する手段が(あるアドレスからあるアドレス迄の)固まった単位でソフトウエア内に存在する機能を有する手段の場合は、ソフトウエアから機能を有する手段の組み込み削除を行うことができる。この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023aを有している場合、機械語コード組込削除装置(電子機器)1000aに、(選択)操作機(コンピュータ)入出力(挿入口)1023aを介して(選択)操作機(コンピュータ)1024aを接続することにより表示される選択(又はメニュー表示画面選択)手段(機械語コード組込削除装置(電子機器)の初期設定用のソフトウエア)からの選択により決定される。その他の各種設定、各種(選択)操作もこの(選択)操作機(コンピュータ)入出力(挿入口)1023aを介して(選択)操作機(コンピュータ)1024aにより行われる。   In the machine language code incorporation / deletion apparatus (electronic device) 1000a, the software is read from the medium in which the software inserted into the various medium insertion openings 1016a is stored, and the machine language code is stored in the software as described above. Initially set ((integrated circuit) built-in index and / or (integrated circuit) built-in program index include programs described in all of the documents, for example, the above-mentioned program having the function of permitting operation of one electronic device) In addition to the above-mentioned (integrated circuit) built-in index and / or (integrated circuit) built-in program index, which function is deleted, which software is deleted, which function is deleted What means do you have at what location in the software, what size is installed, and whether to delete Whether the embedded process or the embedded deletion process is performed, whether the initial setting at the start of processing or the selection means is added, and in this case, the initial setting is set to perform the embedded deletion process. If the program for embedding / deleting is incorporated and deleted in a binary state from the software in which the program, which is a means having a function, is incorporated, the embedded / deleted software and / or the deleted embedding / deleting program is used as a medium. Store (If the specified built-in deletion program determines whether the specified size is the specified size at the specified position of the specified software, if not (if it does not match the specified embedded deletion program) ) Does not perform the built-in deletion process, and incorporates means with functionality In addition to incorporating and deleting means having a function from the software, in the case where the means having one or a plurality of functions is a means having a function existing in the software in a solid unit (from a certain address to a certain address) It is possible to incorporate and delete means having a function from the software, as to details of the processing (from the beginning of the description of the non-binary embedded software processing) to (the end of the description of the processing of the non-binary embedded software). To state.) When these initial settings have (selection) operating device (computer) input / output (insertion port) 1023a, the machine language code built-in deletion device (electronic device) 1000a has (selection) operating device (computer). Selection (or menu display screen selection) means (machine language code built-in deletion device (electronic device)) displayed by connecting a (selection) controller (computer) 1024a via an input / output (insertion port) 1023a It is determined by selection from the setting software. Various other settings and various (selection) operations are also performed by the (selection) operation device (computer) 1024a via the (selection) operation device (computer) input / output (insertion port) 1023a.

尚、各種媒体挿入口1016aに、機能を有する手段であるプログラムが組み込まれたソフトウエア、及び/又は、組み込み指標(上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、及び/又は、組み込み削除用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、機能を有する手段であるプログラムが組み込まれたソフトウエアから組み込み削除用プログラムがバイナリの状態で組み込み削除され、組み込み削除されたソフトウエアが格納され(挿入された組み込み削除用プログラムが高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納され、組み込み削除に使用される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、削除された組み込み削除用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理に対応した処理(供給媒体から被組込ソフトウエアを供給した場合)と同様の処理を行う。)   In addition, in addition to the software in which the program which is a means which has a function is incorporated in various medium insertion slot 1016a, and / or a built-in index (integrated circuit) mentioned above, what function means is deleted. Which function with which function is to be deleted from which software, which size of the function with the function is embedded in what size, whether to execute the deletion, whether to perform the installation process A file or data indicating whether an embedded deletion process is performed, whether the initial setting at the start of processing, or a selection means is further added) and / or an embedded program index (the above-mentioned (integrated circuit) embedded program) In addition to the indicators, which functions have to be deleted, which functions from which software Deletes the means that has the function, means that the function means has been incorporated at what position in the software, at what size, whether to execute the embedded deletion, whether to perform the embedded process, or to start the embedded deletion process Function or file according to the file or data indicating the built-in index and the program index for embedding when the program for embedding / deleting is inserted. Embedded program is deleted in the binary state from the software in which the program, which is a means that has embedded, is stored in the binary state, and the deleted software is stored (the inserted embedded program is described in a high-level language) Compile with a high-level language compiler. Only the part of the program, which is a means having a function including processing, is stored in machine language and used for embedding deletion), and / or an embedding program index and / or an embedding program index The built-in deletion program that has been changed, stored, and / or deleted is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as the processes corresponding to the processes shown in FIG. 12 (when the embedded software is supplied from the supply medium).)

また、各種媒体挿入口1022aを備えている場合、各種媒体挿入口1022aに組み込み削除用のプログラムが格納された各種媒体を挿入することによって、組み込み削除したい組み込み削除用のプログラムを入れ替えることができる。これは、高級言語で記載されたプログラムでもよく、高級言語で記載されたプログラムが挿入された場合は、高級言語用のコンパイラでコンパイルされ、処理が含まれたプログラムの部分だけが機械語で記憶される。この機械語で供給されるか高級言語のプログラムで供給されるかどの高級言語で供給されるかの選択は、初期設定の組み込み用プログラム指標で決定される。また、供給された機能を有する手段であるプログラムが組み込まれたソフトウエアの初め、途中(何バイト目か等)、最後のどの箇所に機能を有する手段であるプログラムが組み込まれているかの判断も初期設定の組み込み指標により決定される。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023aを有している場合、機械語コード組込削除装置(電子機器)1000aに、(選択)操作機(コンピュータ)入出力(挿入口)1023aを介して(選択)操作機(コンピュータ)1024aを接続することにより表示される選択(又はメニュー表示画面選択)手段(機械語コード組込削除装置(電子機器)の初期設定用のソフトウエア)からの選択により決定される。   Further, in the case where the various medium insertion ports 1022a are provided, the built-in deletion program to be included / deleted can be replaced by inserting various media in which the program for deletion / installation is stored into the various medium insertion ports 1022a. This can be a program written in a high-level language. When a program written in a high-level language is inserted, it is compiled by a compiler for high-level languages and only the part of the program that includes processing is stored in machine language. Is done. The selection of the high-level language, which is supplied in the machine language or the high-level language program, is determined by the default built-in program index. It is also possible to determine whether the program that is a function means is incorporated in the beginning, middle (number of bytes, etc.), and the last part of the software in which the program that is a means having the supplied function is incorporated. Determined by default built-in indicators. When these initial settings have (selection) operating device (computer) input / output (insertion port) 1023a, the machine language code built-in deletion device (electronic device) 1000a has (selection) operating device (computer). Selection (or menu display screen selection) means (machine language code built-in deletion device (electronic device)) displayed by connecting a (selection) controller (computer) 1024a via an input / output (insertion port) 1023a It is determined by selection from the setting software.

尚、各種媒体挿入口1016a又は各種媒体挿入口1022aに、機能を有する手段であるプログラムが組み込まれたソフトウエア、及び/又は、組み込み指標(上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、及び/又は、組み込み削除用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアから組み込み削除用プログラムがバイナリの状態で組み込み削除され、組み込み削除されたソフトウエアが格納され(挿入された組み込み削除用プログラムが高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納され、組み込み削除に使用される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、削除された組み込み削除用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理に対応した処理(供給媒体から被組込ソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that the various media insertion slot 1016a or the various media insertion slot 1022a has software and / or a built-in index (integrated circuit) as described above. Whether to delete the means having the function, the function having the function to be deleted from which software, the size of the function having the function installed in the software, and whether to execute the built-in deletion File or data indicating whether to perform an embedded process or an embedded deletion process, whether to perform initial setting at the start of processing, or a selection means, and / or an embedded program index (described above ( Integrated circuit) In addition to the embedded program index, which function to delete, which Which function means is to be deleted from the software, how much size the function means is incorporated at what position in the software, whether to execute the embedding deletion, whether to perform the embedding process File or data indicating whether processing is to be performed, initial setting at the start of processing, or selection means, etc.) and / or an embedded deletion program are inserted, the embedded index and the embedded program index are displayed. The built-in deletion program is embedded and deleted from the software in accordance with the file or data shown, and the embedded and deleted software is stored (if the inserted built-in deletion program is written in a high-level language, Compiled with high-level language compiler and includes processing Only the part of the program which is a means having a function is stored in the machine language and used for embedding deletion), and / or the embedding program index and / or the embedding program index is changed and stored, and / or Alternatively, the deleted built-in deletion program is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as the processes corresponding to the processes shown in FIG. 12 (when the embedded software is supplied from the supply medium).)

従って、本発明の実施の形態の機械語コード組込削除装置(電子機器)によれば、ソフトウエアが格納された媒体を各種媒体挿入口1016aに挿入するだけで、そのソフトウエアに機械語コードで、上述した本明細書中全てに記載されているプログラム、例えば、上述した一電子機器動作許可の機能を有するプログラムを初め、初期設定された組み込み指標に基づいて、又は、組み込み指標を示すファイル又はデータに記載された組み込み指標、並びに/若しくは、組み込み用プログラム指標、及び/又は、組み込み用プログラムに基づいて、機能を有する手段であるプログラムがバイナリの状態で組み込まれたソフトウエアを媒体に格納することができる(一電子機器動作許可機械語コード組込削除装置(電子機器)とすることができる)と共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する(この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。   Therefore, according to the machine language code incorporation / deletion apparatus (electronic apparatus) of the embodiment of the present invention, the machine language code is not added to the software just by inserting the medium storing the software into the various medium insertion slot 1016a. In the above-described programs described in all of the present specification, for example, the above-described program having the function of permitting the operation of one electronic device, a file indicating the built-in index based on the built-in index that is initially set. Alternatively, a software that is a means having a function based on a built-in index described in data and / or a built-in program index and / or a built-in program is stored in a medium in a binary state. (One electronic device operation permission machine language code embedded deletion device (electronic device) can be At the same time, it is possible to delete the means having the incorporated function from the software in which the means having the incorporated function is incorporated and return to the original software, and further, the function can be obtained from the software not incorporating the means having the function. It is possible to incorporate and delete the means to be included, to prevent the use of functions that others do not want to use, and to improve the security function (for details of this processing, see (Description of Processing of Non-Binary Embedded Software) (First) to (End of description of processing of non-binary embedded software) will be described in detail.).

機械語コード組込削除装置(電子機器)1000bにおいては、機能を有する手段であるプログラムが組み込まれたソフトウエアが格納された媒体を各種媒体挿入口1016bを挿入すると、表示部1020bに、上述した一電子機器動作許可の機能を有するプログラムを初め、機能を有する手段であるプログラムであるバイナリ組み込み用プログラムの選択(又はメニュー表示画面選択)手段(組み込み指標(上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を選択する選択(又はメニュー表示画面選択)手段)、及び/又は、組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を選択する選択(又はメニュー表示画面選択)手段)が表示され、バイナリ組み込み削除用プログラムを選択することによって、選択したプログラムがバイナリの状態で組み込まれたソフトウエアから選択したプログラムが組み込み削除されたソフトウエア及び/又は組み込まれていたプログラムがバイナリの状態で媒体に格納される。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023bを有している場合、機械語コード組込削除装置(電子機器)1000bに、(選択)操作機(コンピュータ)入出力(挿入口)1023bを介して(選択)操作機(コンピュータ)1024bを接続することにより表示される選択(又はメニュー表示画面選択)手段(機械語コード組込削除装置(電子機器)の初期設定用のソフトウエア)からの選択によっても決定することができる。また、その他の各種設定、各種(選択)操作もこの(選択)操作機(コンピュータ)入出力(挿入口)1023bを介して(選択)操作機(コンピュータ)1024bにより行われる。   In the machine language code incorporation / deletion apparatus (electronic device) 1000b, when various medium insertion ports 1016b are inserted into a medium storing software in which a program that is a function is incorporated, the display unit 1020b displays the above-described information. In addition to a program having a function for permitting operation of one electronic device, a program for selecting a binary installation program (or menu display screen selection) that is a program having a function (in addition to the built-in index (integrated circuit) built-in index described above) Which function means are deleted, what function means are deleted from which software, what function means are installed in what position in the software, what size is included Whether to execute, whether to perform embedded processing or embedded deletion processing, Selection (or menu display screen selection) means) and / or built-in program index (the above-mentioned (integrated circuit) built-in program index). In addition, it is necessary to delete the means having the function, to delete the means having the function from which software, to which position in the software the size of the function means is incorporated, Selection (or menu display screen selection) means for selecting whether or not to perform deletion, whether to perform embedded processing or embedded deletion processing, whether the initial setting at the start of processing or the selection means is added) ) Is displayed, and the selected program is deleted by selecting the binary built-in deletion program. Nari soft program selected from embedded software in the state has been built deleted software and / or embedded have a program is stored in the medium in the form of binary. When these initial settings have a (selection) controller (computer) input / output (insertion port) 1023b, the machine language code built-in deletion device (electronic device) 1000b has a (selection) controller (computer). Selection (or menu display screen selection) means (machine language code built-in deletion device (electronic device)) displayed by connecting (selection) controller (computer) 1024b via input / output (insertion port) 1023b It can also be determined by selection from the setting software. Various other settings and various (selection) operations are also performed by the (selection) operation device (computer) 1024b via the (selection) operation device (computer) input / output (insert port) 1023b.

尚、各種媒体挿入口1016bに、機能を有する手段であるプログラムが組み込まれたソフトウエア、及び/又は、組み込み指標(上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、及び/又は、組み込み削除用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアから組み込み削除用プログラムがバイナリの状態で組み込み削除され、組み込み削除されたソフトウエアが格納され(挿入された組み込み削除用プログラムが高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納され、組み込み削除に使用される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、削除された組み込み削除用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理に対応した処理(供給媒体から被組込ソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that in addition to the software and / or built-in index (integrated circuit) built-in index described above, means having any function are deleted from the various medium insertion openings 1016b. Which function with which function is to be deleted from which software, which size of the function with the function is embedded in what size, whether to execute the deletion, whether to perform the installation process A file or data indicating whether an embedded deletion process is performed, whether the initial setting at the start of processing, or a selection means is further added) and / or an embedded program index (the above-mentioned (integrated circuit) embedded program) In addition to the indicators, which functions are deleted, which functions from which software Deletes the means that has the function, means that the function means has been incorporated at what position in the software, at what size, whether to execute the embedded deletion, whether to perform the embedded process, or to start the embedded deletion process File or data indicating whether the initial setting or selection means is further added) and / or, when an embedded deletion program is inserted, software according to the file or data indicating the embedded index or embedded program index The embedded deletion program is deleted from the software in the binary state, and the deleted software is stored (if the inserted deletion program is written in a high-level language, it is compiled with a high-level language compiler. , Is a means with functions that include processing Only the part of the program is stored in machine language and used for embedded deletion), and / or embedded program indices and / or embedded program indices are modified and stored and / or deleted Programs for use are added, changed, and / or deleted and stored in a binary state. (These processes are the same as the processes corresponding to the processes shown in FIG. 12 (when the embedded software is supplied from the supply medium).)

また、各種媒体挿入口1022bを備えている場合、各種媒体挿入口1022bに組み込み削除用のプログラムが格納された各種媒体を挿入することによって、選択(又はメニュー表示画面選択)手段(組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を選択する選択(又はメニュー表示画面選択)手段)、及び/又は、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等)を選択する選択(又はメニュー表示画面選択)手段)が表示され、各種媒体のどの組み込み削除用のプログラムを追加又はどの記憶されている組み込み削除用のプログラムと入れ替えるのかを選択決定することができる。これは、高級言語で記載されたプログラムでもよく、高級言語で記載されたプログラムが挿入された場合は、高級言語用のコンパイラでコンパイルされ、処理が含まれたプログラムの部分だけが機械語で記憶される。この機械語で供給されるか高級言語のプログラムで供給されるかどの高級言語で供給されるかの選択も、選択(又はメニュー表示画面選択)手段から選択決定することができる。また、供給された機能を有する手段であるプログラムが組み込まれたソフトウエアの初め、途中(何バイト目か等)、最後のどの箇所に機能を有する手段であるプログラムが組み込まれているかの判断も選択(又はメニュー表示画面選択)手段から選択決定することができる。   In addition, when various medium insertion ports 1022b are provided, selection (or menu display screen selection) means (embedded program index) is performed by inserting various media in which various programs for incorporation and deletion are stored in the various medium insertion ports 1022b. (Which embedded programs are added, changed, and / or deleted, the order of the embedded programs, whether the embedded programs are written in machine language or in a high-level language, and / or whether to perform initial setting, etc. ) Selection (or menu display screen selection means)) and / or selection of built-in indexes (such as which built-in program is to be built in which position of software, and / or whether to make initial settings, etc.) Selection (or menu display screen selection means) to be displayed and which of the various media Whether replace the programs for embedded deletion that have been added or which stores a program for removal may be selected and determined. This can be a program written in a high-level language. When a program written in a high-level language is inserted, it is compiled by a compiler for high-level languages and only the part of the program that includes processing is stored in machine language. Is done. The selection of whether to be supplied in the machine language or the high-level language program or in the high-level language can be selected and determined from the selection (or menu display screen selection) means. It is also possible to determine whether the program that is a function means is incorporated in the beginning, middle (number of bytes, etc.), and the last part of the software in which the program that is a means having the supplied function is incorporated. Selection can be made from a selection (or menu display screen selection) means.

尚、各種媒体挿入口1016a又は各種媒体挿入口1022aに、機能を有する手段であるプログラムが組み込まれたソフトウエア、及び/又は、組み込み指標(上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、及び/又は、組み込み削除用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアから組み込み削除用プログラムがバイナリの状態で組み込み削除され、組み込み削除されたソフトウエアが格納され(挿入された組み込み削除用プログラムが高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納され、組み込み削除に使用される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、削除された組み込み削除用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理に対応した処理(供給媒体から被組込ソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that the various media insertion slot 1016a or the various media insertion slot 1022a has software and / or a built-in index (integrated circuit) as described above. Whether to delete the means having the function, the function having the function to be deleted from which software, the size of the function having the function installed in the software, and whether to execute the built-in deletion File or data indicating whether to perform an embedded process or an embedded deletion process, whether to perform initial setting at the start of processing, or a selection means, and / or an embedded program index (described above ( Integrated circuit) In addition to the embedded program index, which function to delete, which Which function means is to be deleted from the software, how much size the function means is incorporated at what position in the software, whether to execute the embedding deletion, whether to perform the embedding process File or data indicating whether processing is to be performed, initial setting at the start of processing, or selection means, etc.) and / or an embedded deletion program are inserted, the embedded index and the embedded program index are displayed. The built-in deletion program is embedded and deleted from the software in accordance with the file or data shown, and the embedded and deleted software is stored (if the inserted built-in deletion program is written in a high-level language, Compiled with high-level language compiler and includes processing Only the part of the program which is a means having a function is stored in the machine language and used for embedding deletion), and / or the embedding program index and / or the embedding program index is changed and stored, and / or Alternatively, the deleted built-in deletion program is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as the processes corresponding to the processes shown in FIG. 12 (when the embedded software is supplied from the supply medium).)

従って、本発明の実施の形態の機械語コード組込削除装置(電子機器)によれば、ソフトウエアが格納された媒体を各種媒体挿入口1016aに挿入し、所望のバイナリ組み込み用プログラムを選択することによって、又は、初期設定された組み込み指標、又は、組み込み用プログラム指標を示すファイル又はデータに記載された組み込み指標、並びに/若しくは、組み込み用プログラム指標、及び/又は、組み込み用プログラムに基づいて、そのソフトウエアに機械語コードで、上述した本明細書中全てに記載されているプログラム、例えば、上述した一電子機器動作許可の機能を有するプログラムを初め、機能を有する手段であるプログラムがバイナリの状態で組み込まれたソフトウエアを媒体に格納することができる(一電子機器動作許可機械語コード組込削除装置(電子機器)とすることができる)と共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する(この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。   Therefore, according to the machine language code incorporation / deletion apparatus (electronic device) of the embodiment of the present invention, a medium storing software is inserted into various medium insertion openings 1016a, and a desired binary incorporation program is selected. Or based on a built-in index that is initialized, or a built-in index described in a file or data indicating a program index for embedding, and / or a program index for embedding, and / or a program for embedding, The software is a machine language code, and the programs described in all of the above-described specification, for example, the above-described program having the function of permitting the operation of one electronic device, and the program which is a function means are binary. Software embedded in the state can be stored on a medium (one electronic device operation A machine language code built-in deletion device (electronic device) can also be used to delete the means having the incorporated function from the software having the incorporated function and return to the original software. In addition, it is possible to incorporate and delete means having functions even from software that does not incorporate means having functions, so that functions that are not desired to be used by others can be prevented from being used, and security functions are improved. (This detailed processing will be described in detail from the beginning of the description of the processing of the non-binary embedded software) to (the end of the description of the processing of the non-binary embedded software).

機械語コード組込削除装置(電子機器)1000cにおいては、各種媒体挿入口1016cに機能を有する手段であるプログラムが組み込まれたソフトウエアが格納された媒体が挿入され、上述した一電子機器動作許可の機能を有するプログラムを初め、機能を有する手段であるプログラムである所望のバイナリ組み込み削除用プログラムを各種処理開始用釦1021c(1021c−1〜1021c−N)によって選択することによって、選択したプログラムをソフトウエアバイナリの状態で組み込み削除し、組み込み削除されたソフトウエア及び/又は削除された組み込み削除用プログラムを媒体に格納する((集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標が、上述した(集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたものであり、この場合、組み込み削除処理を行うに初期設定が設定されている場合)(尚、指定された組み込み削除用プログラムが、指定されたソフトウエアの指定された位置に指定されたサイズあるかどうかを判断し、無い場合(指定された組み込み削除用プログラムと一致しない場合)は、組み込み削除処理は行われない。また、機能を有する手段を組み込んだソフトウエアから機能を有する手段を組み込み削除するのみならず、単数又は複数の機能を有する手段が(あるアドレスからあるアドレス迄の)固まった単位でソフトウエア内に存在する機能を有する手段の場合は、ソフトウエアから機能を有する手段の組み込み削除を行うことができる。この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023cを有している場合、機械語コード組込削除装置(電子機器)1000cに、(選択)操作機(コンピュータ)入出力(挿入口)1023cを介して(選択)操作機(コンピュータ)1024aを接続することにより表示される選択(又はメニュー表示画面選択)手段からの選択により決定される。その他の各種設定、各種(選択)操作もこの(選択)操作機(コンピュータ)入出力(挿入口)1023cを介して(選択)操作機(コンピュータ)1024cにより行われる。   In the machine language code built-in deletion device (electronic device) 1000c, a medium storing software in which a program which is a function means is inserted into various medium insertion ports 1016c is inserted, and the above-mentioned one electronic device operation permission is performed. By selecting a desired binary installation / deletion program, which is a program having a function, using the various processing start buttons 1021c (1021c-1 to 1021c-N), Software embedded state is deleted in the state of software binary, and the embedded and deleted software and / or the deleted embedded deletion program is stored in a medium ((integrated circuit) embedded index and / or (integrated circuit) embedded program index , (Integrated circuit) built-in indicators and / or Integrated circuit) In addition to the program index for installation, which means having functions to be deleted, which means having functions to be deleted from which software, what size the function means has in which position of the software In addition, whether or not to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use the initial setting at the start of processing or by selection means, etc. (If the default setting is set to execute the built-in deletion process) (Note that it is determined whether the specified built-in deletion program has the specified size at the specified position in the specified software. If it does not match the specified built-in deletion program, the built-in deletion process is not performed and the function is disabled. In addition to incorporating and deleting means having a function from the software incorporating the means for performing the function, a function having one or a plurality of functions exists in the software in a solid unit (from a certain address to a certain address). In the case of the means having, it is possible to incorporate and delete the means having the function from the software.For this detailed processing, the description of the processing of the non-binary embedded software is first described. Will be described in detail.). These initial settings are as follows: (selection) operating device (computer) input / output (insertion port) 1023c, machine language code built-in deletion device (electronic device) 1000c, (selection) operating device (computer) It is determined by selection from a selection (or menu display screen selection) means displayed by connecting a (selection) operating device (computer) 1024a via an input / output (insertion port) 1023c. Various other settings and various (selection) operations are also performed by the (selection) operation device (computer) 1024c via the (selection) operation device (computer) input / output (insertion port) 1023c.

尚、各種媒体挿入口1016cに、機能を有する手段であるプログラムが組み込まれたソフトウエア、及び/又は、組み込み指標(上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、及び/又は、組み込み削除用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアから組み込み削除用プログラムがバイナリの状態で組み込み削除され、組み込み削除されたソフトウエアが格納され(挿入された組み込み削除用プログラムが高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納され、組み込み削除に使用される)、並びに/若しくは、削除された組み込み用プログラム指標、並びに/若しくは、組み込み削除用プログラム指標が変更格納され、及び/又は、組み込み用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理に対応した処理(供給媒体から被組込ソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that in addition to the software and / or built-in index (integrated circuit) built-in index described above, means having any function are deleted from the various medium insertion openings 1016c. Which function with which function is to be deleted from which software, which size of the function with the function is embedded in what size, whether to execute the deletion, whether to perform the installation process A file or data indicating whether an embedded deletion process is performed, whether the initial setting at the start of processing, or a selection means is further added) and / or an embedded program index (the above-mentioned (integrated circuit) embedded program) In addition to the indicator, which function has to be deleted, which function from which software Deletes the means that has the function, means that the function means has been incorporated at what position in the software, at what size, whether to execute the embedded deletion, whether to perform the embedded process, or to start the embedded deletion process File or data indicating whether the initial setting or selection means is further added) and / or, when an embedded deletion program is inserted, software according to the file or data indicating the embedded index or embedded program index The embedded deletion program is deleted from the software in the binary state, and the deleted software is stored (if the inserted deletion program is written in a high-level language, it is compiled with a high-level language compiler. , Is a means with functions that include processing Only the part of the program is stored in machine language and used for embedding deletion) and / or the deleted embedding program index and / or the embedding deletion program index is modified and stored and / or embedded Programs for use are added, changed, and / or deleted and stored in a binary state. (These processes are the same as the processes corresponding to the processes shown in FIG. 12 (when the embedded software is supplied from the supply medium).)

また、各種媒体挿入口1022cを備えている場合、各種媒体挿入口1022cに組み込み削除用のプログラムが格納された各種媒体を挿入することによって、各種媒体のどの組み込み削除用のプログラムを追加及び/又はどの記憶されている組み込み削除用のプログラムと入れ替えるのかを組み込み用プログラム選択釦1021c(1021c−1〜1021c−N)によって、又は、(組み込み用プログラム選択釦1025c(1025c−1〜1025c−N))が備えられている場合、組み込み用プログラム選択釦1021c(1021c−1〜1021c−N)によって機能を有する手段であるプログラムが組み込まれたソフトウエアを、組み込み用プログラム選択釦1025c(1025c−1〜1025c−N))によって組み込み削除用プログラムを、選択決定することができる。これは、高級言語で記載されたプログラムでもよく、高級言語で記載されたプログラムが挿入された場合は、高級言語用のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で記憶される。この機械語で供給されるか高級言語のプログラムで供給されるかどの高級言語で供給されるかの選択も、選択(又はメニュー表示画面選択)手段から選択決定することができる。また、供給された機能を有する手段であるプログラムが組み込まれたソフトウエアの初め、途中(何バイト目か等)、最後のどの箇所に機能を有する手段であるプログラムが組み込まれているかの判断も初期設定により決定される。これらの初期設定は、(選択)操作機(コンピュータ)入出力(挿入口)1023cを有している場合、機械語コード組込削除装置(電子機器)1000cに、(選択)操作機(コンピュータ)入出力(挿入口)1023cを介して(選択)操作機(コンピュータ)1024cを接続することにより表示される選択(又はメニュー表示画面選択)手段からの選択により決定される。   Further, in the case where the various medium insertion ports 1022c are provided, any of the various medium insertion / deletion programs can be added and / or inserted by inserting various media in which the programs for the deletion / installation are stored in the various medium insertion ports 1022c. Which stored program for deletion is replaced by a program selection button 1021c (1021c-1 to 1021c-N) for installation or (program selection button 1025c (1025c-1 to 1025c-N)) Is provided, the software in which the program, which is a means having a function by the program selection button 1021c (1021c-1 to 1021c-N) for installation, is installed as the program selection button 1025c (1025c-1 to 1025c) -N)) The deletion program can be selected and determined. This may be a program written in a high-level language. When a program written in a high-level language is inserted, it is compiled by a high-level language compiler and is a part of the program that has a function including processing. Only is memorized in machine language. The selection of whether to be supplied in the machine language or the high-level language program or in the high-level language can be selected and determined from the selection (or menu display screen selection) means. It is also possible to determine whether the program that has the function is installed at the beginning, midway (number of bytes, etc.) or the last part of the software in which the program that is the supplied function is installed. Determined by initial settings. These initial settings are as follows: (selection) controller (computer) input / output (insertion port) 1023c, machine language code built-in deletion device (electronic device) 1000c, (selection) controller (computer) It is determined by selection from a selection (or menu display screen selection) means displayed by connecting a (selection) controller (computer) 1024c via the input / output (insertion port) 1023c.

尚、各種媒体挿入口1016c又は各種媒体挿入口1022cに、機能を有する手段であるプログラムが組み込まれたソフトウエア、及び/又は、組み込み指標(上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、並びに/若しくは、組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル又はデータ、及び/又は、組み込み削除用プログラムを挿入すると、組み込み指標、組み込み用プログラム指標を示すファイル又はデータに従って、ソフトウエアから組み込み削除用プログラムがバイナリの状態で組み込み削除され、組み込み削除されたソフトウエアが格納され(挿入された組み込み削除用プログラムが高級言語で記載されている場合は、高級言語のコンパイラでコンパイルされ、処理が含まれた機能を有する手段であるプログラムの部分だけが機械語で格納され、組み込み削除に使用される)、並びに/若しくは、組み込み用プログラム指標、並びに/若しくは、組み込み用プログラム指標が変更格納され、及び/又は、削除された組み込み削除用プログラムが追加、変更、及び/又は削除され、バイナリの状態で格納される。(これらの処理は、図12に示す処理に対応した処理(供給媒体から被組込ソフトウエアを供給した場合)と同様の処理を行う。)   It should be noted that the various medium insertion slot 1016c or the various medium insertion slot 1022c has software and / or a built-in index (integrated circuit) as described above. Whether to delete the means having the function, the function having the function to be deleted from which software, the size of the function having the function installed in the software, and whether to execute the built-in deletion File or data indicating whether to perform an embedded process or an embedded deletion process, whether to perform initial setting at the start of processing, or a selection means, and / or an embedded program index (described above ( Integrated circuit) In addition to the embedded program index, which function to delete, Which function means is to be deleted from the software, how much size the function means is incorporated at what position in the software, whether to execute the embedding deletion, whether to perform the embedding process File or data indicating whether processing is to be performed, initial setting at the start of processing, or selection means, etc.) and / or an embedded deletion program are inserted, the embedded index and the embedded program index are displayed. The built-in deletion program is embedded and deleted from the software in accordance with the file or data shown, and the embedded and deleted software is stored (if the inserted built-in deletion program is written in a high-level language, Compiled by a high-level language compiler and includes processing Only the part of the program which is a means having the functions described above is stored in machine language and used for embedding deletion), and / or the embedding program index and / or the embedding program index is changed and stored, and The deleted built-in deletion program is added, changed, and / or deleted, and stored in a binary state. (These processes are the same as the processes corresponding to the processes shown in FIG. 12 (when the embedded software is supplied from the supply medium).)

従って、本発明の実施の形態の機械語コード組込削除装置(電子機器)によれば、ソフトウエアが格納された媒体を各種媒体挿入口1016aに挿入し、所望のバイナリ組み込み用プログラムを各種処理開始用釦1021c(1021c−1〜1021c−N)及び/又は各種処理開始用釦1025c(1025c−1〜1025c−N)によって選択することによって、又は、初期設定された組み込み指標、又は、組み込み用プログラム指標を示すファイル又はデータに記載された組み込み指標、並びに/若しくは、組み込み用プログラム指標、及び/又は、組み込み用プログラムに基づいて、ソフトウエアに所望のバイナリ組み込み用プログラムである機能を有する手段であるプログラムがバイナリの状態で組み込まれ、組み込まれたソフトウエアを媒体に格納することができる(一電子機器動作許可機械語コード組込削除装置(電子機器)とすることができる)と共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する(この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。   Therefore, according to the machine language code embedding / deleting apparatus (electronic apparatus) of the embodiment of the present invention, a medium storing software is inserted into various medium insertion openings 1016a, and a desired binary incorporation program is processed in various ways. By selecting with the start button 1021c (1021c-1 to 1021c-N) and / or various processing start buttons 1025c (1025c-1 to 1025c-N), or an initial setting index or setting A means having a function that is a desired binary installation program for software based on an installation index and / or an installation program index and / or an installation program described in a file or data indicating a program index A program is embedded in a binary state, and the embedded software Functions stored in the medium (one electronic device operation permission machine language code built-in deletion device (electronic device) can be used), and functions incorporated from software incorporating means having built-in functions It is possible to delete the means having the function and return to the original software, and further, the function having the function can be incorporated and deleted even from the software not incorporating the function having the function. The security function is improved because it can be prevented from being used (this processing is detailed (from the beginning of the description of the processing of the non-binary embedded software) to (the end of the description of the processing of the non-binary embedded software). To do.)

尚、以上においては、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等を含んだ、上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を使用したが、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等を含んだ、上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたものに加えて、ソフトウエアは機械語かそれともどの高級言語で記載されたものかをさらに追加したもの)を使用するようにしてもよい。この場合、ソフトウエアは高級言語で記載されたものであってもよく、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、高級言語のコンパイラでコンパイルした後に、組み込み削除用プログラムがバイナリの状態で実行体に格納される。また、ソフトウエアも組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標と組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体から、コンパイルした組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除する。また、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等を含んだ、上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)と組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等を含んだ、上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)との2つのファイルを用いたが、2つのファイル又はデータを1つとした組み込み/組み込み用プログラム指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、初期設定をするかどうか等、どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、初期設定を行うかどうか等を含んだ、上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を共有して使用するようにしてもよい。   In addition, in the above, in addition to the above-mentioned (integrated circuit) built-in index including the built-in index (which embedded program is installed in which position of which software, and / or whether to perform initial setting, etc.) Which function means are deleted, what function means are deleted from which software, and what function means the function means is installed at what size and size of the software, and performs the embedded deletion Whether the embedded process or embedded deletion process is performed, whether the initial setting at the start of the process or the selection means is added), but the embedded index (which embedded program and which software) In which location of the software, whether the software is written in machine language or in any high-level language, In addition to the above-mentioned (integrated circuit) built-in indicators including whether or not to make initial settings, etc., which means have a function to be deleted and which means have a function to be deleted from which software , The size of the function means is installed in what position in the software, whether to execute the embedded deletion, whether to perform the embedded process or the embedded deletion process, or whether to perform the initial setting at the start of the process In addition to what is added by means, etc., software may be used in which the machine language or the high-level language is further added). In this case, the software may be written in a high-level language. If the high-level language is written in the built-in index, the software is compiled by a high-level language compiler. After that, the built-in deletion program is stored in the executable in a binary state. In addition, when the software and the built-in deletion program are written in a high-level language, and the high-level language is written in the built-in index and the built-in program index, the built-in deletion program is designated. Compile with the high-level language compiler, compile the software with the designated high-level language compiler, and embed and delete the compiled program for deletion from the executable in the binary state. In addition to the above-mentioned (integrated circuit) built-in program index, which function includes a built-in index (including which embedded program is installed at which position in which software, and / or whether to perform initial setting) Whether to delete the means having the function, the function having the function to be deleted from which software, the size of the function having the function installed in the software, and whether to execute the built-in deletion , Whether to perform embedded processing or embedded deletion processing, whether the initial setting at the start of processing or selection means is added) and the program index for installation (which program to add, change, and / or Delete the order of the embedded program, the embedded program is machine language or any high-level language In addition to the above-mentioned (integrated circuit) built-in program index including whether it is described in the above and / or whether or not to perform initial setting, which function is deleted, which software from which Whether to delete the means having the function, to which position in the software the size of the function means is embedded, whether to execute the embedded deletion, whether to perform the embedded process or the embedded deletion process, Two files are used, including whether the initial setting at the start of processing or the selection means is added), but the embedded / incorporated program index (which embedded program is the two files or data) Which embedded program to use, such as where to install in which software, whether to make initial settings, etc. Added, changed, and / or deleted, including the order of the embedded program, whether the embedded program is written in machine language or in any high-level language, whether to perform initial setting, etc. (integrated circuit ) In addition to the program index for installation, which means with which function are to be deleted, which means with which function is to be deleted from which software, and with which size the function having means is installed at which position of the software And whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use initial settings at the start of processing, or by means of selection, etc.) It may be.

上述した、本発明の実施の形態の機械語コード組込システム集積回路1200に対応した本発明の実施の形態の機械語コード組込削除(解除)システム集積回路1200及び方法について、図12を参照して説明する。   FIG. 12 shows the machine language code embedded deletion (cancellation) system integrated circuit 1200 and method of the embodiment of the present invention corresponding to the machine language code embedded system integrated circuit 1200 of the embodiment of the present invention described above. To explain.

(電子機器又はコンピュータ上の組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムをバイナリの状態で組み込み削除)
機械語コード組込削除システム集積回路1200を装着された電子機器又はコンピュータでは、集積回路組み込み指標(上述した集積回路組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、集積回路組み込み指標選択(又は画面表示選択)手段(機械語コード組込システム集積回路の初期設定用のソフトウエア)が表示され、選択(又は画面表示選択)手段による選択により集積回路組み込み指標(上述した集積回路組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)に基づいて、電子機器又はコンピュータ上に存在する組み込み用プログラムが組み込まれたプログラムのうちの、集積回路組み込み指標で設定された実行体の集積回路組み込み指標で設定された位置から、集積回路組み込み指標で設定された内蔵の組み込み用プログラムが、実行体の停止中に(電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、停止中に)バイナリの状態で組み込み削除することができる。これらの実行体への組み込み削除は、電子機器又はコンピュータ上に存在する組み込み用プログラムが組み込まれた全てのプログラムに対して行えるように集積回路組み込み指標を定義すれば、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上に存在する全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる(1電子機器唯一動作許可機械語コード組込システム集積回路とすることができる)と共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができる(この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上すると共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する(この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標選択(又は画面表示選択)手段(機械語コード組込システム集積回路の初期設定用のソフトウエア)により、集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(Embedded deletion program is included and deleted in binary form from an executable with embedded programs installed on an electronic device or computer)
Machine language code built-in deletion system In an electronic device or computer equipped with an integrated circuit 1200, an integrated circuit built-in index (in addition to the above-mentioned integrated circuit built-in index, which function to delete, which software from which software Whether to delete the means having the function, to which position in the software the size of the function means is embedded, whether to execute the embedded deletion, whether to perform the embedded process or the embedded deletion process, Based on the initial setting at the start of processing or whether the selection means is used), the (selection) operating device of the electronic device, the (selection) operating device of the computer, or the computer is the display means The display means of the computer has an integrated circuit built-in index selection (or screen display selection) means ( Machine language code embedded system software for initial setting of integrated circuit) is displayed, and an integrated circuit built-in index (in addition to the above-mentioned integrated circuit built-in index, which function is provided) by selection (or screen display selection) means How to delete the means, what means from which software to delete, which function means the function means is embedded at what size in the software, whether to perform the built-in deletion, built-in A program in which an embedded program that exists on an electronic device or computer is incorporated based on whether processing is performed, embedded deletion processing, initial setting at the start of processing, or selection means is further added) Of these, it is set with the integrated circuit built-in index of the execution body set with the integrated circuit built-in index. The built-in built-in program set by the integrated circuit built-in index is in a binary state while the execution body is stopped (the execution of the execution body of the program on the electronic device or computer is monitored and stopped). Can be built-in and deleted. If the integrated circuit built-in index is defined so that the built-in deletion to these execution bodies can be performed for all programs in which the built-in program existing on the electronic device or computer is built, for example, 1 as binary built-in code. If the electronic device unique operation permission program is incorporated, all execution bodies existing on the electronic device or computer can be operated only on the electronic device or computer (one electronic device unique operation permission machine code set). In addition, it is possible to delete the means having the incorporated function from the software in which the means having the incorporated function is incorporated and return to the original software. Even if software that doesn't incorporate It is possible to remove only (For more information on this process is, will be described in detail (beginning explanation of the non-binary built-in software of processing) - (Description end of the non-binary built-in software of the processing).). For this reason, for example, in the case where another person uses an electronic device or computer, even if another person takes out the execution body, it can be operated only by this electronic device or computer, and the security function is improved. The means having the incorporated function can be deleted from the software in which the means having the incorporated function is incorporated, and the original software can be deleted, and further, the means having the function from the software not incorporating the means having the function. Can be deleted, and functions that you do not want others to use can be prevented from being used, and security functions are improved. (For details on this process, see the description of the process of non-binary embedded software.) Details about ~ (End of description of processing of non-binary embedded software) .). Also, an integrated circuit built-in indicator and / or integrated circuit built-in displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means Program index selection (or screen display selection) means (software language embedded system integrated circuit initial setting software) to change various settings of the integrated circuit embedded index and / or integrated circuit embedded program index Can do.

(B並びに/若しくはD及び/又はC)
また、媒体入出力手段を有している場合、媒体に(B)集積回路組み込み指標(上述した集積回路組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)、並びに/若しくは、(D)集積回路組み込み用プログラム指標(上述した集積回路組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル若しくはデータ、及び/又は(C)集積回路組み込み削除用プログラムを供給すると、供給された(B)集積回路組み込み指標、並びに/若しくは、(D)集積回路組み込み用プログラム指標、及び/又は(C)集積回路組み込み用プログラムに基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標に基づいて、(B)集積回路組み込み指標並びに/若しくは、(D)集積回路組み込み用プログラム指標の設定が変更され、及び/又は、組み込み削除用プログラムの追加、変更、及び/又は削除される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(B)
また、媒体入出力手段を有している場合、媒体に(B)集積回路組み込み指標(上述した集積回路組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を供給すると、供給された(B)集積回路組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)集積回路組み込み指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(B)集積回路組み込み指標に基づいて、(B)集積回路組み込み指標の設定が変更される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(D)
また、媒体入出力手段を有している場合、媒体に(D)集積回路組み込み用プログラム指標(上述した集積回路組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル若しくはデータを供給すると、供給された(D)集積回路組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(D)集積回路組み込み用プログラム指標に基づいて、(D)集積回路組み込み用プログラム指標の設定が変更され、及び/又は、組み込み削除用プログラムの追加、変更、及び/又は削除される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(C)
また、(C)集積回路組み込み削除用プログラムを供給すると、設定されている(D)集積回路組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(D)集積回路組み込み用プログラム指標に基づいて、(C)集積回路組み込み削除用プログラムが追加/変更/削除される。この場合、組み込み削除用プログラムが機械語ではなく、高級言語で記載されたプログラムである場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標の各種設定変更を行うことができる。
(D+C)
また、媒体に(D)集積回路組み込み用プログラム指標を示すファイル又はデータと共に、(C)集積回路組み込み削除用プログラムを供給すると、(D)集積回路組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(D)集積回路組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(D)集積回路組み込み用プログラム指標に基づいて、(D)集積回路組み込み用プログラム指標を変更することができ、(C)組み込み削除用プログラムの追加、変更、及び/又は削除が行える。この場合、(C)組み込み削除用プログラムは、機械語であってもよく、高級言語で記載されたものであってもよく、(D)組み込み用プログラム指標によって設定された指標によって組み込み削除が行われ、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納され、組み込み削除に使用される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(B)集積回路組み込み指標及び/又は(D)集積回路組み込み用プログラム指標に基づいて、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができ、(C)組み込み削除用プログラムの追加、変更、及び/又は削除が行える。この場合、(C)組み込み削除用プログラムは、機械語であってもよく、高級言語で記載されたものであってもよく、(D)組み込み用プログラム指標によって設定された指標によって組み込み削除が行われ、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納され、組み込み削除に使用される。
(B and / or D and / or C)
In addition, in the case of having medium input / output means, (B) integrated circuit built-in index (in addition to the above-mentioned integrated circuit built-in index, which function is deleted, which software has which function from which software) Deletes the means that has the function, means that the function means has been incorporated at what position in the software, at what size, whether to execute the embedded deletion, whether to perform the embedded process, or to start the embedded deletion process And / or (D) an integrated circuit incorporation program index (in addition to the integrated circuit incorporation program index described above, which function has a function) How to delete, what function to delete from which software, and how much of the function means to software In addition to what size is included, whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use the initial setting at the start of processing, or by selection means) And / or (C) an integrated circuit embedded index supplied and / or (D) an integrated circuit embedded program index, and / or (C) Based on the program for incorporating an integrated circuit, and for the (selection) operating device of an electronic device, or the (selection) operating device of a computer, or when the computer has a display means, (B) Integrated circuit incorporation index and / or (D) Integrated circuit incorporation program index selection (or screen table) (Selection) means is displayed, and based on (B) integrated circuit incorporation index and / or (D) integrated circuit incorporation program index selected by the selection (or screen display selection) means, (B) integrated circuit incorporation index and / or Alternatively, (D) the setting of the integrated circuit incorporation program index is changed, and / or the addition, change, and / or deletion of the installation deletion program is performed. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, Various settings of the (B) integrated circuit incorporation index and / or (D) the integrated circuit incorporation program index can be changed by the (D) integrated circuit incorporation program index selection (or screen display selection) means.
(B)
In addition, in the case of having medium input / output means, (B) integrated circuit built-in index (in addition to the above-mentioned integrated circuit built-in index, which function is deleted, which software has which function from which software) Deletes the means that has the function, means that the function means has been incorporated at what position in the software, at what size, whether to execute the embedded deletion, whether to perform the embedded process, or to start the embedded deletion process When the initial setting or selection means is further added), (B) based on the supplied integrated circuit built-in index, the (selection) operating device of the electronic device, or the computer (Selection) When the operating device or the computer has a display means, the display means of the computer includes (B) integrated circuit built-in index selection (or Surface display selection) unit is displayed, selected (or selected by the screen display selection) unit (B) based on the integrated circuit embedded indicator, which changes the setting of (B) an integrated circuit embedded indicators. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, Various settings of the (B) integrated circuit incorporation index and / or (D) the integrated circuit incorporation program index can be changed by the (D) integrated circuit incorporation program index selection (or screen display selection) means.
(D)
Further, when the medium input / output means is provided, (D) integrated circuit incorporation program index on the medium (in addition to the above-described integrated circuit incorporation program index, which function is deleted, which software Which function means is to be deleted from, what size means the function means is embedded in at what size in the software, whether to execute the built-in deletion, whether to perform the built-in process or the built-in delete process If the file or the data indicating whether the initial setting at the start of processing or the selection means is further added) is supplied, the electronic device is also based on the supplied (D) integrated circuit incorporation program index. (Selection) operating device, computer (selection) operating device, or computer having a display means The display means of the computer displays (D) integrated circuit incorporation program index selection (or screen display selection) means, and the (D) integrated circuit incorporation program index selected by the selection (or screen display selection) means Based on this, (D) the setting of the integrated circuit incorporation program index is changed, and / or the addition, change, and / or deletion of the installation deletion program is performed. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, Various settings of the (B) integrated circuit incorporation index and / or (D) the integrated circuit incorporation program index can be changed by the (D) integrated circuit incorporation program index selection (or screen display selection) means.
(C)
Further, when (C) an integrated circuit built-in deletion program is supplied, (D) an integrated circuit built-in program index is set, an electronic device (selection) operating device, or a computer (selection) When the operating device or the computer has a display means, the display means of the computer displays (D) a program index selection (or screen display selection) means for incorporating an integrated circuit, and the selection (or screen display selection) means Based on the selected (D) integrated circuit incorporation program index, the (C) integrated circuit incorporation deletion program is added / changed / deleted. In this case, when the built-in deletion program is not a machine language but a program written in a high-level language, the program is compiled in the selected high-level language, and only a means having a function is stored in a binary state. (B) an integrated circuit built-in indicator and / or displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means, (D) Various setting changes of the (B) integrated circuit built-in index and / or (D) the integrated circuit built-in program index can be performed by the built-in program index selecting (or screen display selecting) means.
(D + C)
Further, when (C) an integrated circuit incorporation deletion program is supplied to the medium together with (D) a file or data indicating an integrated circuit incorporation program index, and (D) an electronic device is based on the integrated circuit incorporation program index. (Selection) controller, or computer (selection) controller, or if the computer has display means, the display means of the computer includes (D) program index selection (or screen display selection) (D) The integrated circuit incorporation program index is changed based on the (D) integrated circuit incorporation program index selected by the (D) integrated circuit incorporation program index selection (or screen display selection) means. (C) Addition, change, and / or deletion of a built-in deletion program can be performed. In this case, the (C) built-in deletion program may be in machine language or written in a high-level language, and (D) the built-in deletion is performed by the index set by the built-in program index. In the case of a high-level language, the high-level language is compiled in the selected high-level language, and only a means having a function is stored in a binary state and used for embedding deletion. Also, (B) integrated circuit built-in indicators and / or (and / or) displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has display means (D) The program index selection (or screen display selection) means for incorporation is displayed, and (B) is selected by the (B) integrated circuit incorporation index and / or (D) the program index selection (or screen display selection) means for incorporation. Based on the integrated circuit built-in index and / or (D) the integrated circuit built-in program index, various settings can be changed for (B) the integrated circuit built-in index and / or (D) the built-in program index. Add, change, and / or delete programs for built-in deletion. In this case, the (C) built-in deletion program may be in machine language or written in a high-level language, and (D) the built-in deletion is performed by the index set by the built-in program index. In the case of a high-level language, the high-level language is compiled in the selected high-level language, and only a means having a function is stored in a binary state and used for embedding deletion.

(供給媒体から被組込ソフトウエアを供給した場合)説明箇所初め (When embedded software is supplied from the supply medium)

(媒体被組込ソフト供給組み込み)組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標と同じファイルを使用する場合) (In case of using the same file as the integrated circuit embedded index and / or the integrated circuit embedded program index)

また、媒体入出力手段を有している場合、媒体に(A)組み込み用プログラムが組み込まれたソフトウエアを供給すると、設定された(B)集積回路組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)集積回路組み込み指標選択(又は画面表示選択)手段が表示され、(B)集積回路組み込み指標選択(又は画面表示選択)手段により選択された(B)集積回路組み込み指標に基づいて、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。この設定は、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)集積回路組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行える。   Further, when the medium input / output means is provided, when (A) the software in which the program for incorporation is incorporated is supplied to the medium, the (B) integrated circuit incorporation index is set. (Selection) of the operating device, or of the (selection) operating device of the computer, or in the case where the computer has a display means. (B) Based on the (B) integrated circuit built-in index selected by the integrated circuit built-in index selection (or screen display selection) means, the embedded deletion program is in a binary state from the execution body in which the built-in program is embedded. Embedded and deleted. This setting is displayed on the display means of the (selection) controller of the electronic device, or of the (selection) controller of the computer, or of the computer if the computer has display means. Various settings of (B) integrated circuit built-in index and / or (D) built-in program index can be changed by means of (D) built-in program index selection (or screen display selection) means.

また、以上においては、供給媒体から組み込み用プログラムが組み込まれたソフトウエアを供給した場合、電子機器又はコンピュータ上の実行体が使用する集積回路組組み込み指標と集積回路組組み込み用プログラム指標と同じ指標ファイルを使用するようにしたが、及び/又は、供給媒体から供給された組み込み用プログラムが組み込まれたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標の別指標ファイルを使用するようにしてもよい。以下に、供給媒体から供給された組み込み用プログラムが組み込まれたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標の別指標ファイルを使用するようにした場合について説明する。   In addition, in the above, when software incorporating an embedded program is supplied from a supply medium, the integrated circuit built-in index used by the execution device on the electronic device or computer and the same index as the integrated circuit built-in program index are used. The file is used, and / or for software in which the embedded program supplied from the supply medium is embedded, separate index files for the embedded index and the embedded program index should be used. Also good. In the following, a description will be given of a case where separate index files for the built-in index and the built-in program index are used for the software in which the built-in program supplied from the supply medium is embedded.

(媒体被組込ソフト供給組み込み)(組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
(B)
また、媒体入出力手段を有している場合、媒体に(B)組み込み指標(上述した組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル若しくはデータを供給すると、供給された(B)組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(B)組み込み指標に基づいて、(B)組み込み指標が変更される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができる。
(A)
また、媒体入出力手段を有している場合、媒体に(A)組み込み用プログラムが組み込まれたソフトウエアを供給すると、設定された組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標選択(又は画面表示選択)手段が表示され、(B)組み込み指標選択(又は画面表示選択)手段により選択された(B)組み込み指標に基づいて、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。この設定は、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行える。
(A+B)
また、媒体に(B)組み込み指標を示すファイル又はデータと共に(A)ソフトウエアを供給すると、設定されている(B)組み込み指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標選択(又は画面表示選択)手段が表示され、(B)組み込み指標選択(又は画面表示選択)手段により選択された(B)組み込み指標に基づいて、組み込み用プログラムが組み込まれた実行体から(C)組み込み削除用プログラムがバイナリの状態で組み込み削除される。選択手段を有している場合は、選択画面が表示され、どの組み込み用プログラムが組み込まれたソフトウエアのどの位置からどれ程のサイズでどの組み込み削除用プログラムを組み込み削除するのかを選択し、選択された組み込み用プログラムが組み込まれたソフトウエアに選択した(C)組み込み削除用プログラムを組み込み削除することができる。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み削除用プログラム指標の各種設定変更を行うことができる。
(Embedded medium embedded software supply built-in) (The built-in index and / or the program index for embedding use a file different from the integrated circuit built-in index and / or the integrated circuit built-in program index, and the setting is stored on the electronic device or computer. When memorizing)
(B)
Also, if you have media input / output means, (B) Built-in indicators on the media (in addition to the built-in indicators mentioned above, which functions have to be deleted, which software has which functions have been deleted) Depending on the initial setting at the start of the process, whether the function means is installed in what position in the software at what size, whether to delete the embedded, whether to perform the embedded process or the embedded deletion process If the file or data indicating whether the selection means is added or the like is added), based on the supplied (B) built-in index, the (selection) operating device of the electronic device, or ( Selection) When the operating device or the computer has a display means, the display means of the computer includes (B) built-in index selection (or screen) Display selection) unit is displayed, selected (or selected by the screen display selection) unit (B) based on the embedded index is changed (B) embedded indicators. Also, (B) built-in indicators and / or (D) displayed on the display means of the electronic device (selection) controller, the computer (selection) controller, or if the computer has a display means Various setting changes of (B) built-in index and / or (D) built-in program index can be performed by means of a program index selection (or screen display selection) unit.
(A)
In addition, when the medium input / output means is provided, if (A) software in which the program for incorporation is incorporated is supplied to the medium, the (selection) operating device of the electronic device is set based on the set incorporation index. If the computer has a display means, (B) a built-in index selection (or screen display selection) means is displayed on the display means of the computer, and (B) a built-in index Based on the (B) built-in index selected by the selection (or screen display selection) means, the built-in deletion program is built-in and deleted from the execution body in which the built-in program is built-in in a binary state. This setting is displayed on the display means of the (selection) controller of the electronic device, or of the (selection) controller of the computer, or of the computer if the computer has a display means. (D) Various setting changes of the (B) built-in index and / or (D) the built-in program index can be performed by the built-in program index selection (or screen display selection) means.
(A + B)
Further, when (A) software is supplied to the medium together with (B) a file or data indicating an embedded index, based on the set (B) embedded index, or the (selection) operating device of the electronic device, (B) Built-in index selection (or screen display selection) means is displayed on the display means of the computer (selection) operating device or when the computer has a display means, and (B) Built-in index selection (or Based on the (B) built-in index selected by the (screen display selection) means, the (C) built-in deletion program is built-in and deleted in a binary state from the execution body in which the built-in program is built. If there is a selection means, a selection screen will be displayed, select which embedded program to delete from which position of which embedded program is embedded, and what size to delete. The selected (C) built-in deletion program can be installed and deleted in the software in which the installed program is installed. (B) Built-in indicators and / or (D) displayed on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means Various setting changes of the (B) built-in index and / or (D) the built-in deletion program index can be performed by means of the program index selection (or screen display selection) unit.

(媒体組み込み削除用プログラム変更)(組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
(D)
また、媒体入出力手段を有している場合、媒体に(D)組み込み用プログラム指標(上述した組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を示すファイル若しくはデータを供給すると、供給された(D)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、選択(又は画面表示選択)手段により選択した(D)組み込み用プログラム指標に基づいて、(D)組み込み用プログラム指標の設定が変更される。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができる。
(C)
また、媒体に(C)組み込み削除用プログラムを供給すると、設定されている(D)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(D)組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(D)組み込み用プログラム指標に基づいて、(C)組み込み削除用プログラムが追加、変更、及び/又は削除される。この初期設定は、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、D)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行える。
(D+C)
また、媒体に(D)組み込み用プログラム指標を示すファイル又はデータと共に、(C)組み込み削除用プログラムを供給すると、(D)組み込み削除用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段には、(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、(D)組み込み用プログラム指標選択(又は画面表示選択)手段により選択された(D)組み込み用プログラム指標に基づいて、(D)組み込み用プログラム指標を変更することができ、(C)組み込み削除用プログラムの追加、変更、及び/又は削除が行える。この場合、(C)組み込み削除用プログラムは、機械語であってもよく、高級言語で記載されたものであってもよく、(D)組み込み用プログラム指標によって設定された指標によって組み込み削除が行われ、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみがバイナリの状態で格納され、組み込み削除に使用される。また、電子機器の(選択)操作機又はコンピュータ若しくはコンピュータの(選択)操作機が表示手段を有し、(D)組み込み用プログラム指標選択(又は画面表示選択)手段を有している場合は、機械語かどの高級言語かの(D)組み込み用プログラム指標選択(又は画面表示選択)手段が表示され、機械語かどの高級言語かを選択し、高級言語の場合、選択された高級言語でコンパイルし、機能を有する手段のみをバイナリの状態で格納する。また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される、(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段により、(B)組み込み指標及び/又は(D)組み込み用プログラム指標の各種設定変更を行うことができる。
(Program change for medium incorporation deletion) (Incorporation index and / or program index for incorporation is used in a file different from that for integrated circuit incorporation and / or program index for incorporation of integrated circuit, and setting is stored on electronic device or computer) If you want to)
(D)
In addition, in the case of having medium input / output means, (D) the program index for incorporation in the medium (in addition to the above-mentioned program index for incorporation, which function is deleted, which function from which software Deletes the means that has the function, means that the function means has been incorporated at what position in the software, at what size, whether to execute the embedded deletion, whether to perform the embedded process, or to start the embedded deletion process When a file or data indicating whether the initial setting or selection means is further added) is supplied, based on the supplied (D) built-in program index, the electronic device (selection) operating device Of the (selection) operating device of the computer or, if the computer has a display means, on the display means of the computer , (D) a program index selection (or screen display selection) means for incorporation is displayed, and (D) the program index for incorporation is selected based on (D) the program index for incorporation selected by the selection (or screen display selection) means. The setting is changed. Also, (B) built-in indicators and / or (D) displayed on the display means of the electronic device (selection) controller, the computer (selection) controller, or if the computer has a display means Various setting changes of (B) built-in index and / or (D) built-in program index can be performed by means of a program index selection (or screen display selection) unit.
(C)
Further, when (C) the program for embedding deletion is supplied to the medium, based on the set program index for (D) embedding, the (selection) operating device of the electronic device, or the (selection) operating device of the computer If the computer has display means, the display means of the computer will display (D) program index selection (or screen display selection) means for installation, and (D) program index selection for installation (or screen display selection). ) Based on the (D) built-in program index selected by the means, (C) the built-in deletion program is added, changed, and / or deleted. This initial setting is based on the (B) built-in indicators and / or (or the (select) operating device of the electronic device, the (selecting) operating device of the computer, or the computer if the computer has a display device. D) a built-in program index selection (or screen display selection) means is displayed, and (B) a built-in index and / or (D) a built-in program index selection (or screen display selection) means, D) a built-in index and / or (D) Various settings of the program index for incorporation can be changed.
(D + C)
In addition, when (C) a program for embedding / deleting is supplied together with a file or data indicating a program index for embedding (D) on the medium, (D) the (selection) operation of the electronic device is performed based on the program index for embedding / deleting. When a computer or (computer) (selection) operating device or computer has a display means, the display means of the computer displays (D) a program index selection (or screen display selection) means for incorporation, and (D ) Based on the (D) built-in program index selected by the built-in program index selection (or screen display selection) means, (D) the built-in program index can be changed. Additions, changes, and / or deletions can be made. In this case, the (C) built-in deletion program may be in machine language or written in a high-level language, and (D) the built-in deletion is performed by the index set by the built-in program index. In the case of a high-level language, the high-level language is compiled in the selected high-level language, and only a means having a function is stored in a binary state and used for embedding deletion. In addition, when the (selection) operating device of the electronic device or the computer or the (selection) operating device of the computer has a display means, and (D) an embedded program index selection (or screen display selection) means, (D) Embedded program index selection (or screen display selection) means of machine language or which high-level language is displayed. Select high-level language which is machine language or high-level language, and compile with the selected high-level language. Only the means having the function is stored in a binary state. Also, (B) built-in indicators and / or (D) displayed on the display means of the electronic device (selection) controller, the computer (selection) controller, or if the computer has a display means Various setting changes of (B) built-in index and / or (D) built-in program index can be performed by means of a program index selection (or screen display selection) unit.

また、以上においては、供給媒体から供給されたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標の別指標ファイルを使用し、それら指標を記憶するようにした場合を示したが、及び/又は、記憶しないようにしてもよい。以下に、供給媒体から供給されたソフトウエアに対しては、組み込み指標と組み込み用プログラム指標を供給し、それらの指標を記憶しないようにした場合について説明する。   Further, in the above, for the software supplied from the supply medium, a case has been shown in which separate indicators files of embedded indicators and embedded program indicators are used, and these indicators are stored. Or you may make it not memorize | store. In the following, a case will be described in which built-in indexes and built-in program indexes are supplied to the software supplied from the supply medium, and these indexes are not stored.

(媒体被組込ソフト供給組み込み)(組み込み指標及び/又は組み込み用プログラム指標を集積回路組み込み指標及び/又は集積回路組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
(組み込み用プログラムが組み込まれたソフトウエア+組み込み指標+組み込み削除用プログラム+組み込み用プログラム指標)
また、媒体に(A)組み込み用プログラムが組み込まれたソフトウエアと(B)組み込み指標を示すファイル又はデータと(C)組み込み削除用プログラムと(D)組み込み用プログラム指標を供給すると、(B)組み込み指標と(D)組み込み用プログラム指標に基いて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択(又は画面表示選択)手段による(B)組み込み指標及び/又は(D)組み込み用プログラム指標選択により、組み込み用プログラムが組み込まれた実行体から供給した組み込み削除用プログラムが組み込み削除される。この際、(B)組み込み指標及び(D)組み込み用プログラム指標の設定は変更されない。
(Embedded medium embedded software supply built-in) (The built-in index and / or the program index for embedding use a file different from the integrated circuit built-in index and / or the integrated circuit built-in program index, and the setting is stored on the electronic device or computer. If you do not remember)
(Software with embedded program + Embedded index + Embedded deletion program + Embedded program index)
Further, when (A) software in which an embedded program is embedded, (B) a file or data indicating an embedded index, (C) an embedded deletion program, and (D) an embedded program index are supplied to the medium, (B) On the basis of the built-in index and (D) the program index for incorporation, and on the display means of the electronic device (selection) operating device, or the computer (selection) operating device, or if the computer has a display means An embedded program is incorporated by (B) built-in index and / or (D) built-in program index selection (or screen display selection) means (B) built-in index and / or (D) built-in program index selection. The built-in deletion program supplied from the executed executable is installed and deleted. At this time, the settings of (B) built-in index and (D) built-in program index are not changed.

尚、以上において、(媒体被組込ソフト供給組み込み)の群のうちの少なくとも1つと、(媒体組み込み削除用プログラム変更)の群内のうちの少なくとも1つが供給された場合、(媒体組み込み削除用プログラム変更)の群の処理が終ってから、(媒体被組込ソフト供給組み込み)の群の処理を行うようにしており、かつ、(媒体被組込ソフト供給組み込み)の群と(媒体組み込み削除用プログラム変更)群では、英字のZに近い方から処理を行うようにしているが、任意の組み合わせの処理順に処理するようにしてもよい。また、選択画面表示では、(媒体被組込ソフト供給組み込み)の群と(媒体組み込み削除用プログラム変更)の群のうちの少なくとも1つの組が供給された場合、対応する選択手段を表示するようにしているが、(媒体被組込ソフト供給組み込み)の群と(媒体組み込み削除用プログラム変更)の群のうちの少なくとも1つの組が供給された場合、画面としては両画面が同時のように表示するようにしてもよい。この場合、選択処理は、上述した処理順で行うようにしてもよいが、(媒体被組込ソフト供給組み込み)の群、(媒体組み込み削除用プログラム変更)の群の任意の組み合わせで供給された場合、どれから処理を行うようにしてもよく、選択画面表示では、(媒体被組込ソフト供給組み込み)の群と(媒体組み込み削除用プログラム変更)の群のうちの少なくとも1つの組が供給された場合、同時のように表示し、設定中の処理順に処理してもよく、それ以外の処理順に処理してもよく、設定中の処理順に、(媒体被組込ソフト供給組み込み)の選択(又は画面表示選択)処理、(媒体組み込み削除用プログラム変更)の選択(又は画面表示選択)処理を別々に行うようにしてもよい。   In the above, when at least one of the (medium embedded software supply / installation) group and at least one of the (medium embedded deletion program change) group is supplied, After the processing of the (Program Change) group is finished, the processing of the (Media Embedded Software Supply / Incorporation) group is performed, and the (Media Embedded Software Supply / Incorporation) Group and (Media Installation Deletion) In the program change) group, processing is performed from the side closer to the letter Z, but processing may be performed in an arbitrary combination of processing order. In addition, in the selection screen display, when at least one of the group of (medium embedded software supply and incorporation) and the group of (medium embedded deletion program change) is supplied, the corresponding selection means is displayed. However, if at least one of the group of (Media Embedded Software Supply / Incorporation) and (Media Embedded Deletion Program Change) is supplied, both screens will be displayed simultaneously. You may make it display. In this case, the selection processing may be performed in the above-described processing order, but the selection processing is supplied in an arbitrary combination of the group of (medium embedded software supply and incorporation) and the group of (medium embedded deletion program change). In this case, the process may be performed from any of them, and in the selection screen display, at least one set of the group of (medium embedded software supply / installation) and the group of (change program for deleting medium installation software) is supplied. If they are displayed at the same time, they may be processed in the order in which they are being set, may be processed in the order in which they are set, and (media embedded software supply and incorporation) selection ( Alternatively, the selection (or screen display selection) processing of (screen display selection) processing and (changing program for medium incorporation deletion) may be performed separately.

尚、以上において、(集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に、集積回路組み込み指標と組み込み指標及び/又は集積回路組み込み用プログラム指標と組み込み用プログラム指標とを別ファイルとするかどうかの指標、集積回路組み込み指標と組み込み指標及び/又は集積回路組み込み用プログラム指標と組み込み用プログラム指標とを別ファイルとして組み込み指標及び/又は組み込み用プログラム指標を記憶しないか又は記憶するかどうかの指標を設けるようにし、(集積回路)組み込み指標及び/又は(集積回路)組み込み用プログラム指標に基づいて別ファイルとするか、別ファイルとして記憶しないか又は記憶するかを判断するようにしてもよい。即ち、(集積回路)組み込み指標(上述した(集積回路)組み込み指標に加えて追加された、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等に加え、(集積回路)組み込み指標と組み込み指標とを別のファイルとするか、(集積回路)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、組み込み用プログラム及び/又は(集積回路)組み込み用プログラム指標(上述した(集積回路)組み込み用プログラム指標に加えて追加された、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等に加え、(集積回路)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、(集積回路)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)に基づいて別ファイルとするか、別ファイルとして記憶しないか又は記憶するかを判断するようにしてもよい。   In the above, the (integrated circuit) built-in index and / or the (integrated circuit) built-in program index include the integrated circuit built-in index and the built-in index and / or the integrated circuit built-in program index and the built-in program index as separate files. Whether or not to store the embedded index and / or the embedded program index as separate files, the integrated circuit embedded index and the embedded index and / or the integrated circuit embedded program index and the embedded program index. It is possible to determine whether to make a separate file based on the (integrated circuit) built-in index and / or the (integrated circuit) built-in program index, or not to store as a separate file. Good. That is, the (integrated circuit) built-in index (which is added in addition to the above-mentioned (integrated circuit) built-in index, which function is deleted, which software is deleted, which function is deleted, which function Which means the software has at what size and size, whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use the initial setting at the start of processing, or depending on the selection means In addition to (integrated circuit) built-in index and built-in index in separate files, (integrated circuit) built-in index and built-in index in separate files, store built-in index and / or initial Whether to set), embedded program and / or (integrated circuit) embedded program index (described above (integrated circuit) What functions are added in addition to the program index for inclusion, what functions are deleted from which software, what functions are deleted from which software, and where the functions are located at which position in the software Whether it is embedded by size, whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use initial settings at the start of processing, or by means of selection, etc. (integrated circuit) embedded program index And the program index for embedding are separate files, or (integrated circuit) the program index for embedding and the program index for embedding are separate files, and the program index for embedding is stored and / or initialization is performed. Whether it is a separate file based on whether or not It may be determined to Luke.

以下に、供給媒体に、組み込み用プログラムが組み込まれたソフトウエア、組み込み指標、組み込み削除用プログラム、及び/又は、組み込み用プログラム指標が供給された場合について、詳細に説明する。また、組み込み用プログラムが組み込まれたソフトウエア、組み込み指標、組み込み削除用プログラム、及び/又は、組み込み用プログラム指標は、其々、電子機器又はコンピュータ上に存在する実行体、集積回路組み込み指標、集積回路組み込み削除用プログラム、及び/又は、集積回路組み込み用プログラム指標と置き換えれば、電子機器又はコンピュータ上に存在する実行体、集積回路組み込み指標、集積回路組み込み削除用プログラム、及び/又は、集積回路組み込み用プログラム指標の場合に適用が可能である。   Hereinafter, a case where software in which an embedding program is incorporated, an embedding index, an embedding deletion program, and / or an embedding program index is supplied to the supply medium will be described in detail. In addition, software having a built-in program, built-in index, built-in deletion program, and / or built-in program index are an executable, an integrated circuit built-in index, an integrated If replaced with a program embedded deletion program and / or integrated circuit embedded program index, an execution body, integrated circuit embedded index, integrated circuit embedded deletion program, and / or integrated circuit embedded existing on an electronic device or computer It can be applied to the case of the program index.

(被組込ソフトウエア)
また、媒体入出力手段を有している場合、組み込み用プログラムが組み込まれたソフトウエアを供給すると、初期設定された組み込み指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択(又は画面表示選択)手段による組み込み指標選択により、実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。
(被組込ソフトウエア+組み込み用プログラム)
また、媒体入出力手段を有している場合、組み込み用プログラムが組み込まれたソフトウエアと組み込み削除用プログラムを供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標選択により、実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除され、並びに/若しくは、組み込み削除用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。
(被組込ソフトウエア+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、組み込み用プログラムが組み込まれたソフトウエアと組み込み用プログラム指標を供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標選択により、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除され、並びに/若しくは組み込み用プログラム指標が変更される。
(Embedded software)
Also, in the case of having a medium input / output means, if software with a built-in program is supplied, it is based on the default built-in index, and the (selection) operating device of the electronic device or the computer (Selection) When the operating device or the computer has a display means The built-in deletion program is selected from the executable by the built-in index selection by the built-in index selection (or screen display selection) means displayed on the display means of the computer. Embedded and deleted in the state.
(Embedded software + embedded program)
In addition, when a medium input / output means is provided, supplying software with a built-in program and a built-in deletion program provided based on the default built-in index and built-in program index, (Selection) Selection of an operating device or computer (selection) operating device, or computer having a display means Built-in index and / or embedded program index selection (or screen display selection) displayed on the display means of the computer By selecting an embedded index by means, the embedded deletion program is embedded and deleted from the executable in a binary state, and / or the embedded deletion program is added, changed, and / or deleted, and / or the embedded program index. Is changed.
(Embedded software + Embedded program index)
In addition, when a medium input / output unit is provided, supplying software with a built-in program and a built-in program index, based on the built-in built-in index and the built-in program index, (Selection) Selection of an operating device or computer (selection) operating device, or computer having a display means Built-in index and / or embedded program index selection (or screen display selection) displayed on the display means of the computer By selecting the built-in index by the means, the built-in deletion program is built-in and deleted in a binary state from the execution body in which the built-in program is built, and / or the built-in program index is changed.

(被組込ソフトウエア+組み込み指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラムが組み込まれたソフトウエアと共に組み込み指標を示すファイル又はデータを供給すると、組み込み指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択(又は画面表示選択)手段による組み込み指標選択により、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更される。
(被組込ソフトウエア+組み込み指標+組み込み削除用プログラム)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラムが組み込まれたソフトウエアと組み込み指標を示すファイル又はデータと組み込み削除用プログラムを供給すると、組み込み指標と初期設定された組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除され、並びに/もしくは、組み込み削除用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更される。
(被組込ソフトウエア+組み込み指標+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラムが組み込まれたソフトウエアと組み込み指標を示すファイル又はデータと組み込み用プログラム指標を供給すると、組み込み指標と初期設定された組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更される。
(Embedded software + built-in index)
In addition, when a medium input / output unit is provided, if a file or data indicating an installation index is supplied together with software in which an installation program is installed on the medium, the electronic device (selection) operation is performed based on the installation index. If the computer has a display means, or if the computer has a display means, the built-in index selection by the built-in index selection (or screen display selection) means displayed on the display means of the computer causes the installation program to be The embedded deletion program is embedded and deleted from the embedded executable. At this time, if the initial setting of the built-in index is changed, the initial setting of the built-in index is also changed.
(Embedded software + built-in index + built-in deletion program)
In addition, when media input / output means are provided, if software for installing an embedded program on the medium, a file or data indicating an installation index, and an installation deletion program are supplied, the installation index and the default installation program are installed. Built-in indicators and / or built-ins displayed on the display means of the (selection) operating device of the electronic device, of the (selection) operating device of the electronic device, or of the computer if the computer has a display means The built-in deletion program is incorporated and deleted in a binary state from the execution body in which the built-in program is built in by the built-in index and / or the built-in program index selection by the program index selection (or screen display selection) means, and / or , A built-in deletion program is added, Further, and / or deleted, and / or, the program index for embedded is changed. At this time, if the initial setting of the built-in index is changed, the initial setting of the built-in index is also changed.
(Embedded software + Embedded index + Embedded program index)
In addition, when a medium input / output means is provided, if software for installing an embedded program on a medium, a file or data indicating an embedded index, and an embedded program index are supplied, the embedded index is initialized and the embedded program is initialized. Built-in indicators and / or built-ins displayed on the display means of the (selection) operating device of the electronic device, of the (selection) operating device of the electronic device, or of the computer if the computer has a display means By the built-in index and / or the built-in program index selection by the program index selection (or screen display selection) means, the built-in deletion program is embedded and deleted from the execution body in which the built-in program is installed. At this time, if the initial setting of the built-in index is changed, the initial setting of the built-in index is also changed.

(組み込み指標)
また、媒体入出力手段を有している場合、媒体に組み込み指標を示すファイル又はデータを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択(又は画面表示選択)手段による組み込み指標選択により、初期設定の組み込み指標が変更される。
(組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラム指標を示すファイル又はデータを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み用プログラム指標選択により、初期設定の組み込み用プログラム指標が変更される。
(組み込み指標+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み指標と組み込み用プログラム指標を示すファイル又はデータを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、初期設定の組み込み指標及び/又は組み込み用プログラム指標が変更される。
(組み込み削除用プログラム)
また、媒体入出力手段を有している場合、組み込み削除用プログラムを供給すると、初期設定された媒体に組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される媒体に組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標選択により、組み込み削除用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。
(組み込み指標+組み込み削除用プログラム)
また、媒体入出力手段を有している場合、媒体に組み込み指標を示すファイル又はデータと組み込み削除用プログラムを供給すると、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、初期設定の組み込み指標が変更され、並びに/若しくは、組み込み削除用プログラムが追加、変更、及び/又は削除され、及び/又は、組み込み用プログラム指標が変更される。
(Built-in indicators)
In addition, when a medium input / output means is provided, when a file or data indicating a built-in index is supplied to the medium, it is displayed on the (selection) operating device of the electronic device, the (selection) operating device of the computer, or the computer. In the case of having means, the default built-in index is changed by the built-in index selection by the built-in index selection (or screen display selection) means displayed on the display means of the computer.
(Embedded program index)
Further, in the case of having medium input / output means, when a file or data indicating a program index for incorporation is supplied to the medium, the (selection) operating device of the electronic device, the (selection) operating device of the computer, or the computer When the computer has a display means, the default built-in program index is changed by selecting the built-in program index by the built-in program index selection (or screen display selection) means displayed on the display means of the computer.
(Built-in index + Embedded program index)
In addition, when a medium input / output unit is provided, if a file or data indicating an installation index and an installation program index is supplied to the medium, the (selection) operating device of the electronic device or the (selection) operating device of the computer If the computer has display means, the initial setting is made by selecting the built-in index displayed on the display means and / or the built-in program index selection (or screen display selection) means of the computer and / or the program index for installation. The embedded index and / or the embedded program index are changed.
(Built-in deletion program)
In addition, when a medium input / output means is provided, if an embedded deletion program is supplied, it is based on the program index for incorporation into the initially set medium, and the (selection) operating device of the electronic device or ( Selection) When the operating device or the computer has a display means, an embedded deletion program is added to the medium displayed on the display means of the computer by the incorporation index selection (or screen display selection) means. Changed and / or deleted, and / or embedded program index changed.
(Built-in index + Built-in deletion program)
In addition, when a medium input / output means is provided, if a file or data indicating an installation index and an installation deletion program are supplied to the medium, the (selection) operation device of the electronic device or the (selection) operation device of the computer If the computer has display means, the initial setting is made by selecting the built-in index displayed on the display means and / or the built-in program index selection (or screen display selection) means of the computer and / or the program index for installation. The built-in index is changed and / or the built-in deletion program is added, changed, and / or deleted, and / or the built-in program index is changed.

(組み込み削除用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み削除用プログラムと共に組み込み用プログラム指標を示すファイル又はデータを供給すると、組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み用プログラム指標選択により、組み込み削除用プログラムが追加、変更、及び/又は削除される。この際、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(被組込ソフトウエア+組み込み削除用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラムが組み込まれたソフトウエアと組み込み削除用プログラムと組み込み用プログラム指標を供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。この際、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(組み込み指標+組み込み削除用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラム指標と組み込み削除用プログラムと組み込み用プログラム指標を供給すると、初期設定された組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更され、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(Built-in deletion program + Built-in program index)
In addition, when the medium input / output means is provided, when a file or data indicating an installation program index is supplied to the medium together with the installation deletion program, the (selection) operating device of the electronic device is also based on the installation program index. If the computer has a display means, or if the computer has a display means, the program is selected by the program index selection for installation by the program index selection (or screen display selection) means for display displayed on the display means of the computer. Deletion programs are added, changed, and / or deleted. At this time, if the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.
(Embedded software + embedded deletion program + embedded program index)
In addition, when media input / output means are provided, supplying software with an embedded program incorporated in the medium, an embedded deletion program, and an embedded program index, the initial embedded index and embedded program index are set. Built-in indicators and / or built-in program indicators of the electronic device (selection) operating device, or of the computer (selection) operating device, or of the computer if the computer has display means By selecting a built-in index and / or a built-in program index by the selection (or screen display selection) means, the built-in deletion program is built-in and deleted in a binary state from the execution body in which the built-in program is built. At this time, if the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.
(Built-in index + Built-in deletion program + Built-in program index)
If the medium input / output means is provided, supplying the program index for installation, the program for deletion and the program index for installation to the medium will be based on the built-in index and the program index for installation. Selection of built-in indices and / or built-in program indices (or screen display) displayed on the display means of the (selection) controller of the device, or of the (selection) controller of the computer, or if the computer has a display means By selecting a built-in index and / or a built-in program index by selecting means, the built-in deletion program is built-in and deleted in a binary state from the execution body in which the built-in program is built. At this time, when the initial setting of the embedded index is changed, the initial setting of the embedded index is also changed. When the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.

(被組込ソフトウエア+組み込み指標+組み込み削除用プログラム+組み込み用プログラム指標)
また、媒体入出力手段を有している場合、媒体に組み込み用プログラムが組み込まれたソフトウエアと組み込み指標を示すファイル又はデータと組み込み削除用プログラムと組み込み用プログラム指標を供給すると、組み込み指標と組み込み用プログラム指標に基づき、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択(又は画面表示選択)手段による組み込み指標及び/又は組み込み用プログラム指標選択により、組み込み用プログラムが組み込まれた実行体から組み込み削除用プログラムがバイナリの状態で組み込み削除される。この際、組み込み指標の初期設定が変更の場合、組み込み指標の初期設定も変更され、組み込み用プログラム指標の初期設定が変更の場合、組み込み用プログラム指標の初期設定も変更される。
(Embedded software + built-in index + built-in deletion program + built-in program index)
In addition, when a medium input / output unit is provided, if a program or a file indicating an installation index, an installation deletion program, and an installation program index are supplied, the installation index and the installation program are included. Built-in indicators displayed on the display means and / or of the (selection) operating device of the electronic device, of the (selection) operating device of the electronic device, or of the computer if the computer has the display means By the built-in index and / or the built-in program index selection by the built-in program index selection (or screen display selection) means, the built-in deletion program is embedded and deleted in the binary state from the execution body in which the built-in program is installed. At this time, when the initial setting of the embedded index is changed, the initial setting of the embedded index is also changed. When the initial setting of the embedded program index is changed, the initial setting of the embedded program index is also changed.

(供給媒体から被組込ソフトウエアを供給した場合)説明箇所終 (When embedded software is supplied from the supply medium) End of explanation

以上のように、本発明の実施の形態の機械語コード組込システム集積回路を電子機器又はコンピュータに装着しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上すると共に、組み込んだ機能を有する手段が組み込まれたソフトウエアから組み込んだ機能を有する手段を削除し元のソフトウエアに戻すこともでき、さらに、機能を有する手段を組み込んでいないソフトウエアからでも機能を有する手段を組み込み削除することができ、他人に使用させたくない機能は使用させないようにすることができ、セキュリティ機能が向上する(この詳細の処理については、(非バイナリ組み込みソフトウエアの処理の説明初め)〜(非バイナリ組み込みソフトウエアの処理の説明終)について詳述する。)。   As described above, the machine language code embedded system integrated circuit according to the embodiment of the present invention is simply mounted on an electronic device or a computer. For example, if an electronic device only operation permission program is embedded as a binary embedded code, All executables on an electronic device or computer can only be run on that electronic device or computer. For this reason, for example, in the case where another person uses an electronic device or computer, even if another person takes out the execution body, it can be operated only by this electronic device or computer, and the security function is improved. The means having the incorporated function can be deleted from the software in which the means having the incorporated function is incorporated, and the original software can be deleted, and further, the means having the function from the software not incorporating the means having the function. Can be deleted, and functions that you do not want others to use can be prevented from being used, and security functions are improved. (For details on this process, see the description of the process of non-binary embedded software.) Details about ~ (End of description of processing of non-binary embedded software) .).

尚、以上においては、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等を含んだ、上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を使用したが、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等を含んだ、上述した(集積回路)組み込み指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたものに加えて、ソフトウエアは機械語かそれともどの高級言語で記載されたものかをさらに追加したもの)を使用するようにしてもよい。この場合、ソフトウエアは高級言語で記載されたものであってもよく、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、高級言語のコンパイラでコンパイルされた後に、組み込み削除用プログラムがバイナリの状態で実行体に格納される。また、ソフトウエアも組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標と組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体から、コンパイルした組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除される。また、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、及び/又は初期設定をするかどうか等を含んだ、上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)と組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等を含んだ、上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)との2つのファイルを用いたが、2つのファイル又はデータを1つとした組み込み/組み込み用プログラム指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、初期設定をするかどうか等、どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、初期設定を行うかどうか等を含んだ、上述した(集積回路)組み込み用プログラム指標に加えて、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等がさらに追加されたもの)を共有して使用するようにしてもよい。   In addition, in the above, in addition to the above-mentioned (integrated circuit) built-in index including the built-in index (which embedded program is installed in which position of which software, and / or whether to perform initial setting, etc.) Which function means are deleted, what function means are deleted from which software, and what function means the function means is installed at what size and size of the software, and performs the embedded deletion Whether the embedded process or embedded deletion process is performed, whether the initial setting at the start of the process or the selection means is added), but the embedded index (which embedded program and which software) Where the software is installed, whether the software is written in machine language or in any high-level language, In addition to the above-mentioned (integrated circuit) built-in indicators including whether or not to make initial settings, etc., which means have a function to be deleted and which means have a function to be deleted from which software , The size of the function means is installed in what position in the software, whether to execute the embedded deletion, whether to perform the embedded process or the embedded deletion process, or whether to perform the initial setting at the start of the process In addition to what is added by means, etc., software may be used in which the machine language or the high-level language is further added). In this case, the software may be written in a high-level language. If the high-level language is written in the built-in index, the software is compiled by a high-level language compiler. After that, the built-in deletion program is stored in a binary state in the execution body. In addition, when the software and the built-in deletion program are written in a high-level language, and the high-level language is written in the built-in index and the built-in program index, the built-in deletion program is designated. Compile with a high-level language compiler, compile the software with the specified high-level language compiler, and compile and delete the compiled program for deletion from the executable program in the binary state. . In addition to the above-mentioned (integrated circuit) built-in program index, which function includes a built-in index (including which embedded program is installed at which position in which software, and / or whether to perform initial setting) Whether to delete the means having the function, the function having the function to be deleted from which software, the size of the function having the function installed in the software, and whether to execute the built-in deletion , Whether to perform embedded processing or embedded deletion processing, whether the initial setting at the start of processing or selection means is added) and the program index for installation (which program to add, change, and / or Delete the order of the embedded program, the embedded program is machine language or any high-level language In addition to the above-mentioned (integrated circuit) built-in program index including whether it is described in the above and / or whether or not to perform initial setting, which function is deleted, which software from which Whether to delete the means having the function, to which position in the software the size of the function means is embedded, whether to execute the embedded deletion, whether to perform the embedded process or the embedded deletion process, Two files are used, including whether the initial setting at the start of processing or the selection means is added), but the embedded / incorporated program index (which embedded program is the two files or data) Which embedded program to use, such as where to install in which software, whether to make initial settings, etc. Added, changed, and / or deleted, including the order of the embedded program, whether the embedded program is written in machine language or in any high-level language, whether to perform initial setting, etc. (integrated circuit ) In addition to the program index for installation, which means with which function are to be deleted, which means with which function is to be deleted from which software, and with which size the function having means is installed at which position of the software And whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use initial settings at the start of processing, or by means of selection, etc.) It may be.

尚、以上において、組み込み用プログラムを組み込んだソフトウエアであれば、組み込み用プログラム、ソフトウエア、及び/又は、組み込み用プログラムを組み込んだソフトウエアを、電子機器又はコンピュータに内蔵の不揮発性のメモリに格納するようにしておき、また、機械語コード組込(削除)システム集積回路1200内に内蔵されている又はさらに内蔵する不揮発性のメモリ(,さらに内蔵する書き込み回路)に格納するようにしておき、組み込み用プログラムと組み込み用プログラムを組み込んだソフトウエアとの対応関係を記憶しておき、それらの組合せが一致した際に、記憶しておいたソフトウエアを供給するようにしてもよい。また、媒体入出力手段により読み取った組み込み用プログラムは、電子機器又はコンピュータに内蔵の不揮発性のメモリに格納するようにしてもよいし、機械語コード組込(削除)システム集積回路1200内に内蔵されている又はさらに内蔵する不揮発性のメモリ(,さらに内蔵する書き込み回路)に格納するようにしてもよい。   Note that, in the above, if the software incorporates an embedded program, the embedded program, software, and / or software embedded with the embedded program is stored in a non-volatile memory built in the electronic device or computer. In addition, the machine language code is embedded (deleted) in the system integrated circuit 1200 or in a non-volatile memory (and a built-in writing circuit). Alternatively, the correspondence relationship between the embedded program and the software incorporating the embedded program may be stored, and the stored software may be supplied when the combination of the programs matches. The program for incorporation read by the medium input / output means may be stored in a non-volatile memory incorporated in the electronic device or computer, or may be incorporated in the machine language code incorporation (deletion) system integrated circuit 1200. Alternatively, it may be stored in a nonvolatile memory (or a built-in writing circuit).

また、以上に説明した本発明の実施の形態の機械語コード組込削除システム集積回路1200を本発明の実施の形態の機械語コード組込削除システム供給若しくは配布媒体とし、電子機器又はコンピュータの媒体供給入出力に挿入することによって、機械語コード組込削除システム集積回路1200と同様の処理を施す、本発明の実施の形態の機械語コード組込削除システム供給若しくは配布媒体としてもよい。このようにすれば、機械語コード組込削除システム供給若しくは配布媒体を電子機器又はコンピュータに挿入(装着)しているだけで、例えば、バイナリ組み込みコードとして1電子機器唯一動作許可プログラムを組み込めば、電子機器又はコンピュータ上にある全ての実行体をその電子機器又はコンピュータ上でのみしか動作させなくすることができる(1電子機器唯一動作許可機械語コード組込削除システム供給若しくは配布媒体とすることができる)。この為、例えば、他人に電子機器又はコンピュータを使用させるような場合、他人が実行体を持ち出したとしても、この電子機器又はコンピュータ以外では動作させなくすることができ、セキュリティー機能が向上する。図12(1−1)では、供給若しくは配布媒体をUSB(Universal・Serial・Bus)フラッシュメモリとした場合の実施例である機械語コード組込削除システム供給若しくは配布媒体1200−1が示されている(供給若しくは配布媒体としては、詳細は後述するが、例えば、USBフラッシュメモリ、USBHDD(Hard・Disk・Drive)、MO、DVD−ROM、CD-ROM、フロッピー(登録商標)ディスク等の各種媒体とすることができる)。機械語コード組込削除システム供給若しくは配布媒体1200−1を電子機器又はコンピュータの媒体供給入出力に挿入(装着)時は、集積回路組み込み指標と集積回路組み込み用プログラム指標とが供給若しくは配布媒体組み込み指標と供給若しくは配布媒体組み込み用プログラム指標として使用され、組み込み指標と組み込み用プログラム指標とが他の媒体供給入出力に供給された供給媒体で使用されるものとなる。また、機械語コード組込削除システム供給若しくは配布媒体1200−1の構成は、図12(2)に示すように、機械語コード組込削除システム集積回路1200と同様の構成をしており、同様の動作を行う。
(図10〜図12に対応した組み込み削除の処理説明箇所終)
Further, the machine language code incorporation / deletion system integrated circuit 1200 according to the embodiment of the present invention described above is used as the supply or distribution medium of the machine language code incorporation / deletion system according to the embodiment of the present invention. The machine language code incorporation / deletion system integrated circuit 1200 may be inserted into the supply input / output to perform the same processing as that of the machine language code incorporation / deletion system integrated circuit 1200. In this way, the machine language code built-in deletion system supply or distribution medium is simply inserted (attached) to the electronic device or computer. For example, if one electronic device unique operation permission program is incorporated as a binary built-in code, All executables on an electronic device or computer can be made to run only on the electronic device or computer. it can). For this reason, for example, when another person uses an electronic device or a computer, even if another person takes out the execution body, it can be operated only by the electronic device or the computer, and the security function is improved. FIG. 12 (1-1) shows a machine language code embedded deletion system supply or distribution medium 1200-1 which is an embodiment when the supply or distribution medium is a USB (Universal, Serial, Bus) flash memory. (Supplied or distributed media will be described in detail later, for example, various media such as USB flash memory, USB HDD (Hard Disk Drive), MO, DVD-ROM, CD-ROM, floppy disk) Can be). When the machine language code built-in deletion system supply or distribution medium 1200-1 is inserted (attached) into the medium supply input / output of an electronic device or computer, the integrated circuit built-in index and the integrated circuit built-in program index are supplied or built into the distribution medium. The index and the supply or distribution medium incorporation program index are used, and the incorporation index and the installation program index are used in the supply medium supplied to the other medium supply input / output. The configuration of the machine language code embedded deletion system supply or distribution medium 1200-1 is the same as that of the machine language code embedded deletion system integrated circuit 1200 as shown in FIG. Perform the operation.
(End of the explanation of the built-in deletion process corresponding to FIGS. 10 to 12)

(非バイナリ組み込みソフトウエアの処理の説明初め)
尚、以上においては、機能を有する手段を組み込んだソフトウエアから機能を有する手段を組み込み削除する例を示したが、これに限らず、単数又は複数の機能を有する手段が(あるアドレスからあるアドレス迄の)固まった単位でソフトウエア内に存在する場合は、単数又は複数の(あるアドレスからあるアドレス迄の)固まった単位で存在する機能を有する手段が参照するシステムコール、dll関数(呼び出し関数群格納ファイル被格納呼び出し関数)、インポートセクション(呼び出し関数群呼び出しセクション)、データセクション、及び/又は、他のデータセクション等のアドレス参照箇所の関数及び/又はデータと、ソフトウエアの該当箇所との一致を含め、機能を有する手段がソフトウエア内に存在するかどうかの判断を行う機能を有する手段ソフトウエア内存在/非存在判断手段をさらに備え、機能を有する手段ソフトウエア内存在/非存在判断手段による一致の判断の場合、上述した組み込み削除処理を行うようにするようにすることができる。
(First description of processing of non-binary embedded software)
In the above, an example in which a function unit is incorporated and deleted from software having a function unit has been described. However, the present invention is not limited to this, and a unit having one or more functions (an address from a certain address) System unit, dll function (calling function) referred to by one or more means having a function existing in a unit (from one address to a certain address). Group storage file stored call function), import section (call function group call section), data section, and / or other data sections, etc. Determine whether there is a functional means in the software, including a match. A function software existence / non-existence determination means is further provided, and in the case of a match determination by the function software presence / non-existence determination means, the above-described built-in deletion process is performed. be able to.

その処理を含めると以下((組み込み削除の処理再度説明箇所初め)〜(組み込み削除の処理再度説明箇所終))のようになる。   Including this process is as follows ((embedded deletion process again at the beginning of explanation part) to (embedded deletion process again at the explanation part end)).

(組み込み削除の処理再度説明箇所初め)
以下に、PE(Portable・Executable)フォーマットの場合の、機能を有する手段を組み込んでいないソフトウエアに対応した、本発明の実施の形態の機械語コード組み込み削除(解除)装置の構成及び方法を詳細に説明する。
(Embedded deletion process starts again)
The configuration and method of the machine language code embedding deletion (cancellation) apparatus according to the embodiment of the present invention corresponding to software that does not incorporate means having a function in the case of PE (Portable / Executable) format will be described in detail below. Explained.

本発明の実施の形態の機械語コード組み込み削除装置は、
<機能を有する手段のソフトウエア存在/非存在>
単数又は複数の、(あるアドレスからあるアドレス迄の)固まった単位で存在する機能を有する手段が参照するシステムコール、dll関数、インポートセクション、データセクション、及び/又は、他のデータセクション等のアドレス参照箇所の関数及び/又はデータと、ソフトウエアの該当箇所との一致を含め、機能を有する手段がソフトウエア内に存在するかどうかの判断を行う機能を有する手段ソフトウエア内存在/非存在判断手段と
を及び/又は有し、
<機能を有する手段のソフトウエア存在時>(及び/又は機能を有する手段ソフトウエア内存在/非存在判断手段による一致の判断の場合)
1.<コードの削除>
1.0. 機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
機能を有する手段を組み込んだ/組み込んでいないソフトウエアのコードのどの位置に機能を有する手段を挿入しているかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に機能を有する手段を挿入している場合(コード挿入位置選択判断手段による判断に依る)、
(コードセクション)ヘッダーのコードセクション開始アドレスを検索するコードセクション開始アドレス検索手段と、
コードセクション開始アドレスからコードセクション内を検索し、コード開始アドレスをコールしている箇所を検索するコードセクション内コード開始アドレスコール箇所検索手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード開始アドレスからコードセクションの開始アドレス(又は、組み込み前のコードセクションの通常の開始アドレス)の前までに挿入したコードを削除するコード削除手段と、
コードセクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに削除した機能を有する手段のコードアドレスを加算した(又は、通常の)開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又はdll関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合(システムコール又はdll関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段がdllを使用している場合>
3.0. 削除した機能を有する手段がdllを使用しているかどうかを判断する、機能を有する手段dll使用/非使用判断手段と
を有し、
3.1.<他の箇所使用dll関数使用/非使用チェック>
削除した機能を有する手段がdllを使用している場合(機能を有する手段dll使用/非使用判断手段による判断に依る)、
機能を有する手段が使用しているdll関数のアドレスを検索するdll関数アドレス検索手段と、
機能を有する手段が使用しているdll関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用dll関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用dll関数を使用していない場合>
コード内の他の箇所で使用dll関数を使用していると判断されなかった場合(他の箇所使用dll関数アドレス使用/非使用検索手段による判断に依る)、
インポートセクション内に、使用dll関数が属するdllの他のdll関数のアドレスを検索するインポートセクション内他のdll関数アドレス検索手段と
を有し、
3.1.1.1.<インポートセクション内に他のdll関数が検索された場合>
インポートセクション内に他のdll関数が検索された場合、
他のdll関数をコード内の他の箇所で使用しているかどうかを検索する他のdll関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他のdll関数アドレスを使用していない場合>
他のdll関数アドレスを使用していると判断されなかった場合(他のdll関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
dll関数,dll関数のdllに属する全ての他のdll関数,dllを削除し、dll,dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
3.1.1.1.2.<他のdll関数アドレスを使用している場合>
他のdll関数アドレスを使用していると判断された場合(他のdll関数アドレス使用/非使用検索手段による判断に依る)、
dll関数を削除し、dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード、インポート、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素非存在時>
機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有し、
6.
6.0. 機能を有する手段削除によりコードサイズが初めより小さくなるかどうかを判断するコード削除コードサイズ小/非小判断手段と
を有し、
(機能を有する手段削除によりコードサイズが初めより小さくなる場合)
機能を有する手段削除により、コードサイズがコードセクションヘッダーに記載されているサイズよりも小さくなる場合(コード削除コードサイズ小/非小判断手段による判断に依る)、
コードセクションヘッダー内に記載のコードセクション及び/又はコードセクションのコードサイズをコード削除後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コードセクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により減分したサイズ分、第1の他のセクションヘッダー内に記載の第1の他のセクションの開始アドレス及び/又は第1の他のセクションを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード削除により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより小さくなる場合)
コード削除により、第1の他のセクションのサイズが第1の他のセクションヘッダー内に記載されているサイズよりも小さくなる場合(コード挿入により他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段による判断に依る)、
第1の他のセクションヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション削除後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コードセクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する第2の他のセクションヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの減分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード削除により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有する
ことを特徴とする。
The machine language code built-in deletion device of the embodiment of the present invention,
<Software presence / absence of means having functions>
Address of system call, dll function, import section, data section, and / or other data section, etc. referenced by means having a function that exists in a unit (from one address to a certain address). Means having the function of determining whether or not the means having the function exists in the software, including the matching of the function and / or data of the reference part and the corresponding part of the software, the existence / non-existence judgment in the software And / or having means,
<When software having a function means is present> (and / or in the case of coincidence determination by means of presence / absence determination means in a function means software having a function)
1. <Deleting code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in software incorporating / not having a function having a function;
Code insertion position selection determining means for selecting and determining at which position of the software code in which the means having the function is incorporated / not incorporated the function means is inserted;
1.1. If the software with or without a function means has a part that calls the code start address in the current code, such as debug information (depending on the judgment by the code start address call part search means), When means having a function is inserted before the start of the code (depending on the judgment by the code insertion position selection judgment means),
(Code section) code section start address search means for searching the code section start address of the header;
Search the code section from the code section start address, search the code start address call location search means to search the location where the code start address is called,
Code start address in code section Based on the code start address searched by the call location search means, the code inserted from the code start address to the code section start address (or the normal start address of the code section before installation) Code deletion means to delete,
Code start address in code section Code start address searched by call location search means Code start address obtained by adding the code address of the means having the deleted function to the code start address of the call location (or normal) to be rewritten to the start address Change means,
1.2. 1. When software having built-in / non-built-in means does not have a place to call a code start address in the current code such as debug information (depending on judgment by a code start address call place search means), or Other than 1 (Code section) Code start address search means for searching for the code start address of the header,
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or dll function is called in the code of the means having the deleted function, and a system call or dll function data use / non-use judgment means for judging whether or not the function uses data; Have
When a system call or dll function is called in the code of the means having the deleted function and the function uses data (depending on judgment by the system call or dll function data use / non-use judgment means) A data section deleting means for deleting data from the data section;
3. <If the deleted function uses a dll>
3.0. A means for determining whether the means having the deleted function uses a dll, a means having a function dll use / non-use determination means,
3.1. <Use / non-use check of other part dll function>
When the means having the deleted function uses dll (depending on the judgment by the means having the function dll use / non-use judgment means)
A dll function address search means for searching for an address of a dll function used by the means having a function;
Dll function address use / non-use search means for searching whether or not the address of the dll function used by the means having the function is used elsewhere in the code,
3.1.1. <When the dll function used elsewhere is not used>
If it is not determined that the used dll function is used elsewhere in the code (depending on the determination by the other location used dll function address use / non-use search means)
In the import section, there is another dll function address search means in the import section that searches for the address of another dll function of the dll to which the used dll function belongs,
3.1.1.1. <When another dll function is found in the import section>
If other dll functions are found in the import section,
Another part use / non-use search means in other dll function address code to search whether other dll functions are used elsewhere in the code,
3.1.1.1.1. <When other dll function address is not used>
When it is not determined that another dll function address is used (depending on the determination by other part use / non-use search means in other dll function address code),
Delete all other dll functions and dlls belonging to the dll of the dll function and dll function, and change the address by deleting the dll and dll function. In the import section to change the address reference address of dll, dll function address change means,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
3.1.1.1.2. <When using other dll function address>
When it is determined that another dll function address is used (depending on the determination by other dll function address use / non-use search means)
Changing the dll address in the import section by deleting the dll function and changing the dll address, dll function address, and / or other address reference address in the import section by changing the address by deleting the dll function When,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
4). <When the means with the deleted function uses elements of other sections (one or more other than code, import, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements are not present in the software with or without a function means>
When the element of the other section does not exist in the software incorporating / not incorporating the means having the function (depending on the determination by the element existence / non-existence search means of the other section in the code),
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(When there is a designated part depending on the judgment by the address designation / non-designation judgment means in the means deleting code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code section is It has an address shifting means for searching for the address being referred to and deleting the searched address by the code size of the deleted code,
6).
6.0. A code deletion code size small / non-small determination means for determining whether or not the code size is smaller than the beginning by deleting the function having the function;
(When code size becomes smaller than the beginning due to deletion of means with functions)
When the code size becomes smaller than the size described in the code section header due to means deletion having a function (depending on the determination by the code deletion code size small / non-small determination means),
Code size changing means for changing the code section described in the code section header and / or the code size of the code section to a size having a specified width larger than the size after the code is deleted;
A first other section for determining whether a first other section (other than a code section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section start for changing the start address of the first other section and / or the first other section described in the first other section header by the size decremented by the code size changing means. An address changing means;
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code deletion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size small / non-small judgment means for judging whether or not the first other section size is smaller than the first by insertion of the code,
(When the code inserts the first other section size smaller than the beginning)
If code deletion causes the size of the first other section to be smaller than the size described in the first other section header (determines whether code insertion causes the other section size to be smaller than the beginning) Depending on the judgment by the other section size small / non-small judgment means of the first code insertion)
The size of the first other section and / or the first other section described in the first other section header is changed to a size having a specified width larger than the size after the first other section is deleted. First other section sizing means to
A second other section for determining whether a second other section (other than the code section) is present,
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the second other section header having the start address after the start address of the first other section is set to the first other section. Means for changing the start address of the second other section that is shifted by a decrement in size from the start address of the section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code deletion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. And a process repeat execution means.

尚、上述した機械語コード組み込み削除装置は、ELF(Executable・and・Linkable・Format)フォーマットの場合でも同様に組み込み削除が行え、PEファイルフォーマットの場合、各セクションヘッダーのアドレス及び/又はサイズ等の検索に、PEヘッダー及び/又はセクションヘッダーを用いていたものを、ELFファイルフォーマットの場合、ELFヘッダー、プログラムヘッダー、セクションヘッダ、及び/又は、セクションヘッダーテーブルを用いるようになり、これらを、(各セクションのアドレス及び/又はサイズが記載されている)ヘッダーと纏めて記すと、ELFフォーマットを含める場合は、以下のようになる。
本発明の実施の形態の機械語コード組み込み削除装置は、
ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置であって、
<機能を有する手段のソフトウエア存在/非存在>
単数又は複数の、(あるアドレスからあるアドレス迄の)固まった単位で存在する機能を有する手段が参照するシステムコール、呼び出し関数群格納ファイル被格納呼び出し関数、呼び出し関数群呼び出しセクション、データセクション、及び/又は、他のデータセクション等のアドレス参照箇所の関数及び/又はデータと、ソフトウエアの該当箇所との一致を含め、機能を有する手段がソフトウエア内に存在するかどうかの判断を行う機能を有する手段ソフトウエア内存在/非存在判断手段と
を及び/又は有し、
<機能を有する手段のソフトウエア存在時>(及び/又は機能を有する手段ソフトウエア内存在/非存在判断手段による一致の判断の場合)
1.<コードの削除>
1.0. 機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
機能を有する手段を組み込んだ/組み込んでいないソフトウエアのコードのどの位置に機能を有する手段を挿入しているかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に機能を有する手段を挿入している場合(コード挿入位置選択判断手段による判断に依る)、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード開始アドレスからコード記載セクションの開始アドレス(又は、組み込み前のコード記載セクションの通常の開始アドレス)の前までに挿入したコードを削除するコード削除手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに削除した機能を有する手段のコードアドレスを加算した(又は、通常の)開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合(システムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合>
3.0. 削除した機能を有する手段が呼び出し関数群格納ファイルを使用しているかどうかを判断する、機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段と
を有し、
3.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数使用/非使用チェック>
削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合(機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段による判断に依る)、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していない場合>
コード内の他の箇所で使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していると判断されなかった場合(他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群呼び出しセクション内に、使用呼び出し関数群格納ファイル被格納呼び出し関数が属する呼び出し関数群格納ファイルの他の呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群呼び出しセクション内他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と
を有し、
3.1.1.1.<呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合>
呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合、
他の呼び出し関数群格納ファイル被格納呼び出し関数をコード内の他の箇所で使用しているかどうかを検索する他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していない場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断されなかった場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイル被格納呼び出し関数の呼び出し関数群格納ファイルに属する全ての他の呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイルを削除し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.1.1.2.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断された場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数を削除し、呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード記載、呼び出し関数群呼び出し、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素非存在時>
機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有し、
6.
6.0. 機能を有する手段削除によりコードサイズが初めより小さくなるかどうかを判断するコード削除コードサイズ小/非小判断手段と
を有し、
(機能を有する手段削除によりコードサイズが初めより小さくなる場合)
機能を有する手段削除により、コードサイズが(コード記載セクション)ヘッダーに記載されているサイズよりも小さくなる場合(コード削除コードサイズ小/非小判断手段による判断に依る)、
(コード記載セクション)ヘッダー内に記載のコード記載セクション及び/又はコード記載セクションのコードサイズをコード削除後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コード記載セクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により減分したサイズ分、(第1の他のセクション)ヘッダー内に記載の第1の他のセクションの開始アドレス及び/又は第1の他のセクションを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード削除により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより小さくなる場合)
コード削除により、第1の他のセクションのサイズが(第1の他のセクション)ヘッダー内に記載されているサイズよりも小さくなる場合(コード挿入により他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段による判断に依る)、
(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション削除後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コード記載セクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する(第2の他のセクション)ヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの減分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード削除により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有し、
ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除する
ことを特徴とするソフトウエア製造装置
となる。
尚、以上において、他のファイルフォーマットにおいても、上述したソフトウエア製造装置において、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することができ、COFF(Common・Object・File・Format)、XCOFF、ECOFF、a.outフォーマットの場合においてもフォーマットに応じて不用な手段を使用しないようにすれば、上述したソフトウエア製造装置において、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することができる。
The above-described machine language code embedding / deleting device can similarly perform embedding / deleting even in the case of ELF (Executable, Linkable, Format), and in the case of PE file format, the address and / or size of each section header. The search uses the PE header and / or section header. In the case of the ELF file format, the ELF header, program header, section header, and / or section header table are used. When combined with the header (which describes the address and / or size of the section), the ELF format is as follows.
The machine language code built-in deletion device of the embodiment of the present invention,
A software manufacturing apparatus characterized in that means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state,
<Software presence / absence of means having functions>
A system call, a calling function group storage file stored call function, a calling function group calling section, a data section, which is referred to by means having a function existing in a unit (from one address to a certain address) A function for judging whether or not there is a means having a function in the software, including a match between a function and / or data of an address reference location such as another data section and a corresponding location of the software. And / or having and / or having presence / non-existence judging means in software,
<When software having a function means is present> (and / or in the case of coincidence determination by means of presence / absence determination means in a function means software having a function)
1. <Deleting code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in software incorporating / not having a function having a function;
Code insertion position selection determining means for selecting and determining at which position of the software code in which the means having the function is incorporated / not incorporated the function means is inserted;
1.1. If the software with or without a function means has a part that calls the code start address in the current code, such as debug information (depending on the judgment by the code start address call part search means), When means having a function is inserted before the start of the code (depending on the judgment by the code insertion position selection judgment means),
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code start address in code description section Based on the code start address searched by the call location search means, from the code start address to the start address of the code description section (or the normal start address of the code description section before installation) A code deletion means for deleting the inserted code;
Code start address in the code description section Code start address searched by the call location search means Code start address obtained by adding the code address of the means having the deleted function to the code start address of the call location (or normal) to rewrite the start address Address changing means,
1.2. 1. When software having built-in / non-built-in means does not have a place to call a code start address in the current code, such as debug information (depending on judgment by a code start address call place search means), or Other than 1 (Code description section) Code start address search means for searching for the code start address of the header;
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 System call or call function group storage file stored call function is called in the code of the means having the deleted function, and the system call or call function group for determining whether the function uses data A storage file stored call function data use / non-use determination means,
When a system call or calling function group storage file stored call function is called in the code of the means having the deleted function and the function uses data (system call or calling function group storage file stored call) Data section deletion means for deleting data from the data section, depending on the determination by the function data use / non-use determination means),
3. <When the means with the deleted function uses the calling function group storage file>
3.0. A means for determining whether the function having the deleted function is using the calling function group storage file; a means for determining whether the function calling function group storage file is used / not used;
3.1. <Use / non-use check of stored function for calling stored function in other locations>
When the means having the deleted function uses the calling function group storage file (depending on the judgment by the means for using / not using the function calling function group storage file having the function),
A call function group storage file stored call function address search means for searching for an address of a call function group storage file stored call function used by a means having a function;
Called function group storage file stored call function address used to search whether the address of the call function group stored file stored call function used by the means having the function is used elsewhere in the code Use / non-use search means,
3.1.1. <When other part use call function group storage file stored call function is not used>
When it is not determined that the used call function group storage file stored call function is being used elsewhere in the code (according to another location use call function group storage file stored call function address use / non-use search means Depending on judgment),
In the calling function group calling section, the other calling function group storage file to which the used calling function group storage file stored call function belongs is searched. A call function group storage file stored call function address search means,
3.1.1.1. <When another call function group storage file stored call function is found in the call function group call section>
If another call function group storage file stored call function is found in the call function group call section,
Search whether other call function group storage file stored call function is used elsewhere in the code Use other group use file non-use search in other call function group storage file stored call function address code Means,
3.1.1.1.1. <When other call function group storage file stored call function address is not used>
When it is not determined that another call function group storage file stored call function address is used (determination by other place use / non-use search means in another call function group storage file stored call function address code )
Delete all other call function group storage file stored call functions and call function group storage files belonging to the call function group storage file stored call function of the call function group storage file, call function group storage file storage call function, Call function group storage file, call function group storage file stored call function stored address call function group storage file address, call function group storage file stored call function address and / or call function A calling function group storage file for calling function group calling section for changing other address reference addresses in the group calling section, a calling function group storage file stored call function address changing means,
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
3.1.1.1.2. <When other call function group storage file stored call function address is used>
When it is determined that another call function group storage file stored call function address is used (depending on determination by other call function group storage file stored call function address use / non-use search means)
The call function group storage file stored call function is deleted by deleting the call function group storage file stored call function and deleting the call function group storage file stored call function. A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
4). <When the means having the deleted function uses elements of other sections (single or plural other than code description, calling function group call, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements are not present in the software with or without a function means>
When the element of the other section does not exist in the software incorporating / not incorporating the means having the function (depending on the determination by the element existence / non-existence search means of the other section in the code),
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(When there is a designated part depending on the judgment by the address designation / non-designation judgment means in the means deleting code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code description section And an address shifting means for deleting the code corresponding to the deleted code size.
6).
6.0. A code deletion code size small / non-small determination means for determining whether or not the code size is smaller than the beginning by deleting the function having the function;
(When code size becomes smaller than the beginning due to deletion of means with functions)
When the code size becomes smaller than the size described in the (code description section) header due to the deletion of means having a function (depending on the determination by the code deletion code size small / non-small determination means),
(Code description section) code size changing means for changing the code size of the code description section described in the header and / or the code size of the code description section to a size having a specified width larger than the size after the code is deleted;
A first other section for determining whether a first other section (other than the code-written section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section that changes the start address of the first other section and / or the first other section described in the (first other section) header by the size decremented by the code size changing means Section start address changing means,
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code deletion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size small / non-small judgment means for judging whether or not the first other section size is smaller than the first by insertion of the code,
(When the code inserts the first other section size smaller than the beginning)
If code deletion causes the size of the first other section to be smaller than the size described in the header (first other section) The code insertion to be determined first depends on the judgment by the other section size small / non-small judgment means),
(First other section) The size of the first other section and / or the first other section described in the header is larger than the size after the first other section is deleted. A first other section size changing means for changing to
A second other section for determining whether there is a second other section (other than the code-written section);
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the header having the start address after the start address of the first other section (second other section) Means for changing the start address of the second other section shifted by a decrement in size from the start address of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code deletion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. 1 processing repetition execution means,
A software manufacturing apparatus is characterized in that means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state.
In the above, even in other file formats, in the software manufacturing apparatus described above, means having a function incorporated / not incorporated in software in a binary state can be incorporated and deleted in a binary state, and COFF (Common / Object / File / Format), XCOFF, ECOFF, and a.out formats, if the unnecessary means are not used according to the format, the software manufacturing apparatus described above can use binary software. A means having a function incorporated / not incorporated in a state can be incorporated and deleted in a binary state.

尚、図1乃至図8に示す、本発明の実施の形態、本発明の第1乃至第5の実施の形態における、バイナリ組み込みの方法に対応したバイナリ組み込み削除の方法は、上述したバイナリ組み込み削除の方法のうち、図9(4)に示すバイナリ状態での実行体への機械語コード組み込み装置に対応したバイナリ組み込み削除装置に該当し、コード内にコードセクション内のプログラム開始位置にジャンプする箇所がない場合であり、図9(1)、(2)以外の場合、実行体ではなく、関数群が組み込まれているファイル(例えば、Windows(登録商標)の場合、dll)に組み込まれている関数を使用し呼び出すコードが使用されている場合、コードセクションの初め、中間、又は最後に、削除したいバイナリコードを挿入されている。また、削除したいバイナリコードがデータを使用している場合、データセクションからデータを削除する。また、挿入したバイナリコードが他のデータセクションのデータを使用している場合、他のデータセクションからデータを削除する。また、コードを削除したことによる他のコード部分のコード内のアドレスを参照している箇所のアドレスの変更も行う処理を有しており、詳細には、
<機能を有する手段のソフトウエア存在/非存在>
単数又は複数の、(あるアドレスからあるアドレス迄の)固まった単位で存在する機能を有する手段が参照するシステムコール、dll関数、インポートセクション、データセクション、及び/又は、他のデータセクション等のアドレス参照箇所の関数及び/又はデータと、ソフトウエアの該当箇所との一致を含め、機能を有する手段がソフトウエア内に存在するかどうかの判断を行う機能を有する手段ソフトウエア内存在/非存在判断手段と
を及び/又は有し、
<機能を有する手段のソフトウエア存在時>(及び/又は機能を有する手段ソフトウエア内存在/非存在判断手段による一致の判断の場合)
1.<コードの削除>
1.0. 機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
を有し、
1.2.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コードセクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コードセクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又はdll関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又はdll関数をコールしており、その関数がデータを使用している場合(システムコール又はdll関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段がdllを使用している場合>
3.0. 削除した機能を有する手段がdllを使用しているかどうかを判断する、機能を有する手段dll使用/非使用判断手段と
を有し、
3.1.<他の箇所使用dll関数使用/非使用チェック>
削除した機能を有する手段がdllを使用している場合(機能を有する手段dll使用/非使用判断手段による判断に依る)、
機能を有する手段が使用しているdll関数のアドレスを検索するdll関数アドレス検索手段と、
機能を有する手段が使用しているdll関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用dll関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用dll関数を使用していない場合>
コード内の他の箇所で使用dll関数を使用していると判断されなかった場合(他の箇所使用dll関数アドレス使用/非使用検索手段による判断に依る)、
インポートセクション内に、使用dll関数が属するdllの他のdll関数のアドレスを検索するインポートセクション内他のdll関数アドレス検索手段と
を有し、
3.1.1.1.<インポートセクション内に他のdll関数が検索された場合>
インポートセクション内に他のdll関数が検索された場合、
他のdll関数をコード内の他の箇所で使用しているかどうかを検索する他のdll関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他のdll関数アドレスを使用していない場合>
他のdll関数アドレスを使用していると判断されなかった場合(他のdll関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
dll関数,dll関数のdllに属する全ての他のdll関数,dllを削除し、dll,dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
3.1.1.1.2.<他のdll関数アドレスを使用している場合>
他のdll関数アドレスを使用していると判断された場合(他のdll関数アドレス使用/非使用検索手段による判断に依る)、
dll関数を削除し、dll関数削除によるアドレス変更分インポートセクション内のdllアドレス、dll関数アドレス、及び/又はインポートセクション内のそれ以外のアドレス参照アドレスを変更するインポートセクション内dll,dll関数アドレス変更手段と、
現コード内のdll関数アドレスをインポートセクション内dll,dll関数アドレス変更手段により変更されたアドレスに変更する現コード内dll関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード、インポート、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素非存在時>
機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コードセクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有した処理を使用して、バイナリコード(機能を有する手段)が組み込まれたソフトウエアからバイナリコード(機能を有する手段)が削除される。
(組み込み削除の処理再度説明箇所終)
(非バイナリ組み込みソフトウエアの処理の説明終)
Note that the binary incorporation deletion method corresponding to the binary incorporation method in the embodiment of the present invention and the first to fifth embodiments of the present invention shown in FIGS. 9 corresponds to the binary embedding / deleting device corresponding to the machine language code embedding device in the execution body in the binary state shown in FIG. 9 (4), and jumps to the program start position in the code section in the code In cases other than those shown in FIGS. 9 (1) and 9 (2), the function group is incorporated in a file (for example, dll in the case of Windows (registered trademark)) instead of an executable. When code that calls using a function is used, the binary code to be deleted is inserted at the beginning, middle, or end of the code section. If the binary code to be deleted uses data, the data is deleted from the data section. If the inserted binary code uses data from another data section, the data is deleted from the other data section. In addition, it has processing that also changes the address of the part that refers to the address in the code of the other code part by deleting the code,
<Software presence / absence of means having functions>
Address of system call, dll function, import section, data section, and / or other data section, etc. referenced by means having a function that exists in a unit (from one address to a certain address). Means having the function of determining whether or not the means having the function exists in the software, including the matching of the function and / or data of the reference part and the corresponding part of the software, the existence / non-existence judgment in the software And / or having means,
<When software having a function means is present> (and / or in the case of coincidence determination by means of presence / absence determination means in a function means software having a function)
1. <Deleting code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in software incorporating / not having a function having a function;
Have
1.2. 1. When software having built-in / non-built-in means does not have a place to call a code start address in the current code such as debug information (depending on judgment by a code start address call place search means), or Other than 1 (Code section) Code start address search means for searching for the code start address of the header,
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or dll function is called in the code of the means having the deleted function, and a system call or dll function data use / non-use judgment means for judging whether or not the function uses data; Have
When a system call or dll function is called in the code of the means having the deleted function and the function uses data (depending on judgment by the system call or dll function data use / non-use judgment means) A data section deleting means for deleting data from the data section;
3. <If the deleted function uses a dll>
3.0. A means for determining whether the means having the deleted function uses a dll, a means having a function dll use / non-use determination means,
3.1. <Use / non-use check of other part dll function>
When the means having the deleted function uses dll (depending on the judgment by the means having the function dll use / non-use judgment means)
A dll function address search means for searching for an address of a dll function used by the means having a function;
Dll function address use / non-use search means for searching whether or not the address of the dll function used by the means having the function is used elsewhere in the code,
3.1.1. <When the dll function used elsewhere is not used>
If it is not determined that the used dll function is used elsewhere in the code (depending on the determination by the other location used dll function address use / non-use search means)
In the import section, there is another dll function address search means in the import section that searches for the address of another dll function of the dll to which the used dll function belongs,
3.1.1.1. <When another dll function is found in the import section>
If other dll functions are found in the import section,
Another part use / non-use search means in other dll function address code to search whether other dll functions are used elsewhere in the code,
3.1.1.1.1. <When other dll function address is not used>
When it is not determined that another dll function address is used (depending on the determination by other part use / non-use search means in other dll function address code),
Delete all other dll functions and dlls belonging to the dll of the dll function and dll function, and change the address by deleting the dll and dll function. In the import section to change the address reference address of dll, dll function address change means,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
3.1.1.1.2. <When using other dll function address>
When it is determined that another dll function address is used (depending on the determination by other dll function address use / non-use search means)
Changing the dll address in the import section by deleting the dll function and changing the dll address, dll function address, and / or other address reference address in the import section by changing the address by deleting the dll function When,
The dll function address in the current code is changed to the address changed by the dll in the import section, the address changed by the dll function address changing means, and the dll function address in the current code is changed.
4). <When the means with the deleted function uses elements of other sections (one or more other than code, import, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements are not present in the software with or without a function means>
When the element of the other section does not exist in the software incorporating / not incorporating the means having the function (depending on the determination by the element existence / non-existence search means of the other section in the code),
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(If there is a designated part depending on the judgment by the address designation / non-designation judgment means within the function deletion code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code section is Search for the address being referred to, and use a process that has an address shifting means that deletes the searched address by the size of the deleted code. The binary code (means having a function) is deleted.
(End of description of the built-in deletion process again)
(End of description of processing of non-binary embedded software)

なお、上記実施の形態及び実施例中において説明した処理を行うプログラムをプログラム実施者に供給若しくは配布する供給若しくは配布媒体としては、磁気テープ,光/磁気・半導体ディスク, フラッシュメモリ等を含む半導体メモリ,超伝導メモリ等の記録媒体の他、伝送媒体等を含み、プログラム実施者に供給若しくは配布可能な供給若しくは配布媒体であればどのようなものであってもよい(本明細書中、特許請求の範囲中、図面中、要約書中においても上記したことが同様に適用される)。   As a supply or distribution medium for supplying or distributing a program for performing the processing described in the above embodiments and examples to a program operator, a semiconductor memory including a magnetic tape, an optical / magnetic / semiconductor disk, a flash memory, etc. Any supply or distribution medium that can be supplied or distributed to a program operator, including a transmission medium in addition to a recording medium such as a superconducting memory (claims in this specification). In the scope of the above, the same applies to the drawings and abstracts).

本発明の1実施の形態を示す概念図である。It is a conceptual diagram which shows one embodiment of this invention. 本発明の1実施の形態を示す概念図である。It is a conceptual diagram which shows one embodiment of this invention. 本発明の1実施の形態を示す概念図である。It is a conceptual diagram which shows one embodiment of this invention. 本発明の1実施の形態(実施例1)を示す概念図である。It is a conceptual diagram which shows 1 embodiment (Example 1) of this invention. 本発明の1実施の形態の他の形態(実施例2)を示す概念図である。It is a conceptual diagram which shows the other form (Example 2) of 1 embodiment of this invention. 本発明の1実施の形態の他の形態(実施例3)を示す概念図である。It is a conceptual diagram which shows the other form (Example 3) of 1 embodiment of this invention. 本発明の1実施の形態の他の形態(実施例4)を示す概念図である。It is a conceptual diagram which shows the other form (Example 4) of 1 embodiment of this invention. 本発明の1実施の形態の他の形態(実施例5)を示す概念図である。It is a conceptual diagram which shows the other form (Example 5) of 1 embodiment of this invention. 本発明の1実施の形態の他の形態を示す概念図である。It is a conceptual diagram which shows the other form of 1 embodiment of this invention. 本発明の1実施の形態の他の形態を示す概念図である。It is a conceptual diagram which shows the other form of 1 embodiment of this invention. 本発明の1実施の形態の他の形態を示す概念図である。It is a conceptual diagram which shows the other form of 1 embodiment of this invention. 本発明の1実施の形態の他の形態を示す概念図である。It is a conceptual diagram which shows the other form of 1 embodiment of this invention.

0 1電子機器唯一動作許可ソフトウエア, 1 被生成ソフトウエア, 2 1電子機器唯一動作許可被生成ソフトウエア生成ソフトウエア,5 1電子機器唯一動作許可被生成ソフトウエア生成ソフトウエア生成装置, 6 被生成被管理ソフトウエア,7 1電子機器唯一動作許可ソフトウエア管理装置, 16 MACアドレス自身書込部, 11 MACアドレス格納領域, 13 MACアドレス比較判定部, 18 起動時削除部, 19 MACアドレス取得部, 20 ソフトウエア管理装置格納領域, 21 MACアドレス格納領域, 22 MACアドレス組込部,23 MACアドレス比較判定部, 24 ソフトウエア管理装置生成部, 26 MACアドレス自身組込部, 27 ソフトウエア起動部, 28 終了時削除部, 29 MACアドレス取得部, 100 ソフトウエア組込器,

1a ソフトウエア, 2a インストーラ, 11a MACアドレス格納領域, 13a MACアドレス比較判定部, 19a MACアドレス取得部, 20a ソフトウエア管理装置格納領域, 21a MACアドレス格納領域, 22a MACアドレス組込部, 23a MACアドレス比較判定部, 24a ソフトウエア管理装置生成部, 26a MACアドレス自身組込部, 29a MACアドレス取得部, 100a ソフトウエア組込器,

1b ソフトウエア, 2b インストーラ, 3b インストーラ管理装置, 5b インストーラ生成装置, 11b MACアドレス格納領域, 13b MACアドレス比較判定部, 19b MACアドレス取得部, 20b ソフトウエア管理装置格納領域, 21b MACアドレス格納領域,23b MACアドレス比較判定部, 24b ソフトウエア管理装置生成部, 27b 起動時削除部, 29b MACアドレス取得部, 30b インストーラ格納領域, 32b MACアドレス組込部, 34b インストーラ生成部, 37b インストーラ起動部,39b MACアドレス取得部, 100b ソフトウエア組込器, 110b インストーラ組込器,

1c ソフトウエア, 2c インストーラ, 4c ソフトウエア管理装置, 5c インストーラ生成装置, 11c MACアドレス格納領域, 13c MACアドレス比較判定部, 19c MACアドレス取得部, 20c ソフトウエア管理装置格納領域, 21c MACアドレス格納領域, 22c MACアドレス組込部,23c MACアドレス比較判定部, 24c ソフトウエア管理装置生成部, 26c MACアドレス自身組込部, 29c MACアドレス取得部, 40c ソフトウエア格納領域, 41c MACアドレス格納領域, 43c MACアドレス比較判定部, 44c ソフトウエア生成部, 45c ソフトウエア起動部, 47c ソフトウエア比較判定部, 48c 終了時削除部, 49c MACアドレス取得部, 100c ソフトウエア組込器, 120c ソフトウエア管理装置組込器,

1d ソフトウエア, 2d インストーラ, 3d インストーラ管理装置, 4d ソフトウエア管理装置, 5d インストーラ生成装置, 11d MACアドレス格納領域, 13d MACアドレス比較判定部, 19d MACアドレス取得部, 20d ソフトウエア管理装置格納領域, 21d MACアドレス格納領域, 22d MACアドレス組込部,23d MACアドレス比較判定部, 24d ソフトウエア管理装置生成部, 25d ソフトウエア管理装置復号部, 26d MACアドレス自身組込部, 27d 起動時削除部, 29d MACアドレス取得部, 30d インストーラ格納領域, 31d MACアドレス格納領域, 32d MACアドレス組込部, 33d MACアドレス比較判定部, 34d インストーラ生成部,36d MACアドレス自身組込部, 37d インストーラ起動部, 38d 終了時削除部, 39d MACアドレス取得部, 40d ソフトウエア格納領域, 41d MACアドレス格納領域, 43d MACアドレス比較判定部, 44d ソフトウエア生成部,46d ソフトウエア起動部, 48d 終了時削除部, 100d ソフトウエア組込器, 110d インストーラ組込器, 120d ソフトウエア管理装置組込器,

1e ソフトウエア, 2e インストーラ, 3e インストーラ管理装置, 4e ソフトウエア管理装置, 5e インストーラ生成装置, 11e MACアドレス格納領域, 13e MACアドレス比較判定部, 19e MACアドレス取得部, 20e ソフトウエア管理装置格納領域, 21e MACアドレス格納領域,23e MACアドレス比較判定部, 24e ソフトウエア管理装置生成部, 25e ソフトウエア管理装置復号部, 29e MACアドレス取得部, 30e インストーラ格納領域, 31e MACアドレス格納領域, 32e MACアドレス組込部, 33e MACアドレス比較判定部, 34e インストーラ生成部,35e インストーラ復号部,36e MACアドレス自身組込部, 37e インストーラ起動部, 38e 終了時削除部, 40e ソフトウエア格納領域, 41e MACアドレス格納領域, 43e MACアドレス比較判定部, 44e ソフトウエア生成部, 45e ソフトウエア起動部, 47e ソフトウエア起動部, 48e 終了時削除部, 49e MACアドレス取得部, 100e ソフトウエア組込器, 110e インストーラ組込器, 120e ソフトウエア管理装置組込器,

1000a,1000b,1000c, 機械語コード組込(削除(解除))装置(電子機器), 1011a,1011b,1011c CPU, 1012a,1012b,1012c ROM, 1013a,1013b,1013c RAM, 1014a,1014b,1014c 内部バス, 1015a,1015b,1015c 入出力インターフェイス, 1016a,1016b,1016c 各種媒体入出力(挿入口), 1017a,1017b,1017c 組込状態表示釦, 1018b 各種釦, 1020b 表示部, 1021a(1021a−1〜1021a−N),1021b(1021b−1〜1021b−N),1021c(1021c−1〜1021c−N) 各種処理開始用釦, 1022a,1022b,1022c 各種媒体入出力, 1023a,1023c (選択)操作機(コンピュータ)入出力(挿入口),1024a,1024c (選択)操作機(コンピュータ),

1200,1200a,1200b 機械語コード組込(削除(解除))システム集積回路, 1200−1 機械語コード組込(削除(解除))システム供給若しくは配布媒体, 1221a,1221b CPU, 1212a,1212b ROM, 1213a,1213b RAM, 1214a,1214b 内部バス, 1215a,1215b 入出力インターフェイス, 1216a,1216b 各種媒体入出力(挿入口), 1218a,1218b キーボード, 1219a,1219b マウス, 1220a,1220b ディスプレイ, 1222a,1222b,1222c 各種媒体入出力, 1225a 電子機器各要素入出力,1228b (選択)操作機(コンピュータ)各要素入出力,1227a,1227b (選択)操作機
0 1 electronic device unique operation permission software, 1 generated software, 2 1 electronic device unique operation permitted generated software generation software, 5 1 electronic device unique operation permitted generated software generation software generator, 6 Generated managed software, 71 1 electronic device unique operation permission software management device, 16 MAC address self writing unit, 11 MAC address storage area, 13 MAC address comparison / determination unit, 18 deletion unit at startup, 19 MAC address acquisition unit , 20 Software management device storage area, 21 MAC address storage area, 22 MAC address incorporation section, 23 MAC address comparison / determination section, 24 Software management apparatus generation section, 26 MAC address itself incorporation section, 27 Software activation section 28 Deletion unit at the end, 29 MAC address acquisition unit, 00 software built-in device,

1a software, 2a installer, 11a MAC address storage area, 13a MAC address comparison / determination section, 19a MAC address acquisition section, 20a software management device storage area, 21a MAC address storage area, 22a MAC address incorporation section, 23a MAC address Comparison / determination unit, 24a software management device generation unit, 26a MAC address self-embedding unit, 29a MAC address acquisition unit, 100a software embedding unit,

1b software, 2b installer, 3b installer management apparatus, 5b installer generation apparatus, 11b MAC address storage area, 13b MAC address comparison / determination section, 19b MAC address acquisition section, 20b software management apparatus storage area, 21b MAC address storage area, 23b MAC address comparison / determination unit, 24b software management device generation unit, 27b deletion at startup, 29b MAC address acquisition unit, 30b installer storage area, 32b MAC address incorporation unit, 34b installer generation unit, 37b installer activation unit, 39b MAC address acquisition unit, 100b software built-in device, 110b installer built-in device,

1c software, 2c installer, 4c software management device, 5c installer generation device, 11c MAC address storage area, 13c MAC address comparison / determination unit, 19c MAC address acquisition unit, 20c software management device storage region, 21c MAC address storage region , 22c MAC address incorporation unit, 23c MAC address comparison / determination unit, 24c software management device generation unit, 26c MAC address itself incorporation unit, 29c MAC address acquisition unit, 40c software storage area, 41c MAC address storage area, 43c MAC address comparison / determination unit, 44c software generation unit, 45c software activation unit, 47c software comparison / determination unit, 48c end-of-deletion unit, 49c MAC address acquisition unit, 100c software Write device, 120c software management apparatus sets write device,

1d software, 2d installer, 3d installer management apparatus, 4d software management apparatus, 5d installer generation apparatus, 11d MAC address storage area, 13d MAC address comparison / determination section, 19d MAC address acquisition section, 20d software management apparatus storage area, 21d MAC address storage area, 22d MAC address incorporation unit, 23d MAC address comparison / determination unit, 24d software management device generation unit, 25d software management device decoding unit, 26d MAC address itself incorporation unit, 27d deletion unit at startup, 29d MAC address acquisition unit, 30d installer storage area, 31d MAC address storage area, 32d MAC address incorporation unit, 33d MAC address comparison / determination unit, 34d installer generation unit, 36d MAC address Self-installation unit, 37d installer start-up unit, 38d deletion at end, 39d MAC address acquisition unit, 40d software storage area, 41d MAC address storage area, 43d MAC address comparison / determination unit, 44d software generation unit, 46d software Wear start unit, 48d end-time deletion unit, 100d software built-in unit, 110d installer built-in unit, 120d software management unit built-in unit,

1e software, 2e installer, 3e installer management device, 4e software management device, 5e installer generation device, 11e MAC address storage area, 13e MAC address comparison / determination unit, 19e MAC address acquisition unit, 20e software management device storage area, 21e MAC address storage area, 23e MAC address comparison / determination section, 24e software management apparatus generation section, 25e software management apparatus decoding section, 29e MAC address acquisition section, 30e installer storage area, 31e MAC address storage area, 32e MAC address set Loading unit, 33e MAC address comparison / determination unit, 34e installer generation unit, 35e installer decoding unit, 36e MAC address self-installing unit, 37e installer activation unit, 38e 40e software storage area, 41e MAC address storage area, 43e MAC address comparison / determination part, 44e software generation part, 45e software start-up part, 47e software start-up part, 48e deletion at end, 49e MAC address acquisition , 100e software built-in device, 110e installer built-in device, 120e software management device built-in device,

1000a, 1000b, 1000c, machine language code incorporation (deletion) device (electronic device), 1011a, 1011b, 1011c CPU, 1012a, 1012b, 1012c ROM, 1013a, 1013b, 1013c RAM, 1014a, 1014b, 1014c Bus, 1015a, 1015b, 1015c I / O interface, 1016a, 1016b, 1016c Various media input / output (insertion port), 1017a, 1017b, 1017c Built-in status display button, 1018b Various buttons, 1020b Display unit, 1021a (1021a-1 1021a-N), 1021b (1021b-1 to 1021b-N), 1021c (1021c-1 to 1021c-N) Various processing start buttons, 1022a, 1022b, 1022c Various medium input / output, 1023a, 1023c Selection) operating device (computer) O (insertion opening), 1024a, 1024c (selected) operating device (computer),

1200, 1200a, 1200b Machine language code incorporation (deletion (cancellation)) system integrated circuit, 1200-1 Machine language code incorporation (deletion (cancellation)) system supply or distribution medium, 1221a, 1221b CPU, 1212a, 1212b ROM, 1213a, 1213b RAM, 1214a, 1214b Internal bus, 1215a, 1215b Input / output interface, 1216a, 1216b Various media input / output (insert port), 1218a, 1218b Keyboard, 1219a, 1219b Mouse, 1220a, 1220b Display, 1222a, 1222b, 1222c Various medium input / output, 1225a Electronic device element input / output, 1228b (selection) operation device (computer) Element input / output, 1227a, 1227b (selection) operation device

Claims (21)

1電子機器にのみ唯一動作を許可するソフトウエアであって、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
初回起動時、動作する電子機器に固有の指標を実行体の固有指標確保手段にバイナリの状態で格納する固有指標格納手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合にのみ動作継続を許可する固有指標一致動作継続許可手段と
を有することを特徴とする1電子機器唯一動作許可ソフトウエア。
It is software that allows only one electronic device to operate,
A unique index securing means for securing a unique index for the electronic device to be operated;
A unique index storage means for storing an index unique to the electronic device to be operated in the binary state in the unique index securing means of the execution body at the first startup;
A unique index match that allows the operation to be continued only if the index unique to the operating electronic device acquired at startup is compared with the index unique to the operating electronic device secured in the unique index securing means. One electronic device unique operation permission software, characterized by comprising an operation continuation permission means.
第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電子機器唯一動作許可ソフトウエア。
Second software in which the first software is incorporated, and the first and / or second software is software that permits only one electronic device to operate,
A first software securing means securing the first software;
The second software has first software generation means for generating the first software;
At least one of the first and / or second software,
A unique index securing means for securing a unique index for the electronic device to be operated;
A unique index matching operation that compares the index unique to the operating electronic device acquired at startup and the unique index of the operating electronic device secured in the unique index securing means, and allows the continuation of the operation only when they match. With continuation permission means,
When the first software has the unique index securing means and the unique index matching operation continuation permission means,
The first software exists. The first software unique index storage means stores the index unique to the operating electronic device in the binary state in the unique index securing means of the first software execution body at the first startup. Ready for one software, or
The first software specific index storage means that stores the second software exists in the binary state in the unique index securing means of the first software execution body at the first start-up In preparation for 2 software,
When the second software has the unique index securing means and the unique index matching operation continuation permission means,
The second software existence second software unique index storage means for storing the index unique to the electronic device to be operated in the binary state in the unique index securing means of the second software execution body at the first startup In preparation for 2 software,
When both the first and second software have the unique index securing means and the unique index matching operation continuation permission means,
Second software existence second software unique index storage means for storing the second software unique index storage means in a binary state in the unique index securing means of the execution entity of the second software In addition,
The first software exists, the first software unique index storage means for storing the first software unique index storage means in the binary state in the unique index securing means of the execution entity of the first software. To prepare for, or
The second software exists in which the index unique to the electronic device to be operated is stored in the unique index securing means of the execution body of the first software in the binary state. The first software unique index storage means is stored in the second software. One electronic device unique operation permission software characterized by the above.
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可ソフトウエア生成装置であって、
第1のソフトウエア確保手段に第1のソフトウエアを格納する第1のソフトウエア格納手段を備える
ことを特徴とする1電子機器唯一動作許可ソフトウエア生成装置。
3. The electronic device only operation permission software according to claim 2, wherein the first software securing means securing the first software is a first software securing preparing means for securing the first software. It is the one electronic device only operation permission software generation device,
A one-electronic-device-only operation-permitted software generation device, comprising: first software storage means for storing first software in the first software securing means.
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、
動作する電子機器に固有の指標がインストールする電子機器に固有の指標であり、請求項2に記載の1電子機器唯一動作許可ソフトウエアは、1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)であることを特徴とする1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
In the electronic device only operation permission software according to claim 2,
The index unique to the electronic device to be operated is an index unique to the electronic device to be installed, and the one electronic device unique operation permission software according to claim 2 is one electronic device unique operation permission installer (software distribution device). One electronic device unique operation permission installer (software distribution device).
請求項2に記載の1電子機器唯一動作許可ソフトウエアにおいて、
第1のソフトウエアを起動する第1のソフトウエア起動手段を第2のソフトウエアに有し、
第2のソフトウエアが起動時、固有指標一致動作継続許可手段を第2のソフトウエアに有する場合、第1のソフトウエアの終了を待機して第1のソフトウエアを削除する終了待機削除手段を有し、第1のソフトウエアのみが、固有指標一致動作継続許可手段を有する場合、第1のソフトウエアが起動後、第2のソフトウエアを削除する起動後削除手段を第1のソフトウエアに有する
ことを特徴とする1電子機器唯一動作許可ソフトウエア管理装置。
In the electronic device only operation permission software according to claim 2,
The second software has first software starting means for starting the first software,
When the second software has a unique index coincidence operation continuation permitting means when the second software is started, an end waiting deletion means for waiting for the end of the first software and deleting the first software is provided. And if only the first software has the unique index matching operation continuation permission means, the first software has a post-startup deletion means for deleting the second software after the first software starts up. One electronic device only operation permission software management device characterized by having.
請求項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電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
The index unique to the electronic device on which the electronic device unique operation-permitted software management device according to claim 5 operates is an index specific to the electronic device to be installed,
The electronic device unique operation permission software management device according to claim 5 is the first software and / or the second software of the electronic device unique operation permission installer according to claim 4,
In the case of the second software according to claim 4, the first software securing means securing the first software of the one-electronic-device-only operation-permitted software management device according to claim 5, The first electronic device unique operation permission installer according to claim 4, comprising first software generation means for generating first software of the single electronic device unique operation permission software management device according to claim 5,
When the first software according to claim 4 is used, the first software securing means of the second software according to claim 4 is the one electronic device unique operation permission software according to claim 5. The first software generation means of the second software according to claim 4 is the means for securing the second software of the management device, and the electronic device unique operation permission software according to claim 5 One electronic device unique operation permission installer (software distribution device), which is means for generating second software of a management device.
請求項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電子機器唯一動作許可インストーラ(ソフトウエア配布装置)。
The one electronic device unique operation permission software management device according to claim 6 is the first software and / or the second software of the one electronic device unique operation permission installer according to claim 4,
When the second software according to claim 4 is used, the first software securing means securing the first software of the one-electronic-device-only operation-permitted software management device according to claim 6; The first electronic device unique operation permission installer according to claim 4, comprising first software generation means for generating the first software of the single electronic device unique operation permission software management device according to item 6,
In the case of the first software according to claim 4, the first software securing means of the second software according to claim 4 is the one electronic device unique operation permission software according to claim 6. The first software generation means of the second software according to claim 4 is a means for securing the second software of the management device, and the electronic device unique operation permission software according to claim 6 One electronic device operation permission installer (software distribution device) characterized in that it is a means for generating second software of a management device and has a configuration in which the above application relationship is repeated at least once. ).
請求項4、請求項6、又は請求項7に記載の1電子機器唯一動作許可インストーラにおいて、第1のソフトウエアを確保した第1のソフトウエア確保手段は第1のソフトウエアを確保する為の第1のソフトウエア確保用意手段とした1電子機器唯一動作許可インストーラ生成装置であって、
第1のソフトウエア確保手段に第1のソフトウエアを格納する手段を第1のソフトウエア格納手段を備える
ことを特徴とする1電子機器唯一動作許可インストーラ生成装置。
The one electronic device unique operation permission installer according to claim 4, claim 6, or claim 7, wherein the first software securing means securing the first software is for securing the first software. 1 electronic device unique operation permission installer generating device as a first software securing preparation means,
A one-electronic-device-only-operation-permitted installer generating device, characterized in that the first software storage means is provided as means for storing the first software in the first software securing means.
第1のソフトウエアを第2のソフトウエアにバイナリの状態で組み込む1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置であって、
動作する電子機器に固有の指標を確保する固有指標確保手段と、
初回起動時、固有指標確保手段に動作する電子機器に固有の指標を格納する固有指標格納手段と、
起動時、起動時に取得した動作する電子機器に固有の指標と固有指標確保手段に確保された動作する電子機器に固有の指標とを比較し、一致した場合のみ動作継続を許可する固有指標一致動作継続許可手段と
を第1のソフトウエアにバイナリの状態で組み込むことを特徴とする1電子機器唯一動作許可ソフトウエア生成若しくは製造装置又は1電子機器唯一動作許可インストーラ生成装置。
1 electronic device unique operation permission software generation or manufacturing device or one electronic device unique operation permission installer generation device incorporating the first software into the second software in a binary state,
A unique index securing means for securing a unique index for the electronic device to be operated;
A unique index storage means for storing an index unique to the electronic device operating in the unique index securing means at the first activation;
A unique index matching operation that compares the index specific to the operating electronic device acquired at startup and the index specific to the operating electronic device secured in the unique index securing means, and allows the operation to continue only if they match A one-electronic-device-only-operation-permitted software generation or manufacturing apparatus or a one-electronic-device-only operation-permitted installer generation device, wherein the continuation permission means is incorporated into the first software in a binary state.
動作する電子機器に固有の指標がMACアドレスである
ことを特徴とする請求項1、若しくは請求項2に記載の1電子機器唯一動作許可ソフトウエア、請求項3に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、若しくは請求項7に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置。
The unique operation permission software for one electronic device according to claim 1 or 2, and the one operation permission for one electronic device according to claim 3, wherein the index unique to the electronic device to operate is a MAC address. A software generation device, an electronic device unique operation permission installer (software distribution device) according to claim 4, claim 6, or claim 7, and an electronic device unique operation permission software management device according to claim 5. The one electronic device unique operation permission installer generating device according to claim 8, or the one electronic device unique operation permission software generating or manufacturing device according to claim 9, or the one electronic device unique operation permission installer generating device.
第1のソフトウエアを第2のソフトウエアに格納する領域及び/又は動作する電子機器に固有の指標を格納する領域に格納するデータは、暗号化されている
ことを特徴とする請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、又は、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置。
The data stored in the area for storing the first software in the second software and / or the area for storing the index unique to the electronic device to be operated is encrypted. The one electronic device unique operation permission software according to claim 2 or claim 10, the one electronic device unique operation permission software generation device according to claim 3, or claim 10, 11. An electronic device unique operation permission installer (software distribution device) according to claim 7 or claim 10, an electronic device unique operation permission software management device according to claim 5, or claim 10. Or an electronic device unique operation permission installer generating device according to claim 10, or an electronic device unique operation permission software according to claim 9 or 10. A generation or production device, or one electronic device only operation permitted installer generator.
ソフトウエアに機能を有する手段をバイナリの状態で組み込む、
並びに/若しくは、
ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除する
ことを特徴とするソフトウエア製造装置。
Incorporate functional means in software in binary state,
And / or
A software manufacturing apparatus characterized in that means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state.
ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置であって、
請求項12に記載のソフトウエア製造装置において、
1.<コードの挿入>
1.0 組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
組み込むソフトウエアのコードのどの位置に機能を有する手段を挿入するかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に何らかの処理を行う場合(コード挿入位置選択判断手段による判断に依る)、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの開始アドレスの前に、コードを挿入するコード挿入手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに挿入したコードアドレスを減算した開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.組み込むソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後にコードを挿入するコード挿入手段と
を有し、
2.<データアドレスの変更>
2.0 挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段と
を有し、
挿入したコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合(システムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段による判断に依る)、データをデータセクションに追加するデータセクション追加手段と、
データセクション追加手段により追加したデータのアドレスに挿入するコード内のデータのアドレスを変更する挿入コードデータアドレス変更手段と
を有し、
3.<機能を有する手段が呼び出し関数群格納ファイルを使用している場合>
3.0 機能を有する手段が呼び出し関数群格納ファイルを使用しているかどうかを判断する、機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段と
を有し、
3.1<組み込むソフトウエアの呼び出し関数群格納ファイル存在チェック>
挿入したコード内に呼び出し関数群格納ファイル被格納呼び出し関数をコールしている場合(機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段による判断に依る)、組み込むソフトウエアの呼び出し関数群呼び出しセクションを検索し、呼び出し関数群格納ファイルが存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段と
を有し、
3.1.1<組み込むソフトウエアに呼び出し関数群格納ファイルが存在している場合>
組み込むソフトウエアに呼び出し関数群格納ファイルが存在している場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段による判断に依る)、
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在するかどうかを検索する呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段と
を有し、
3.1.1.1<組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合>
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在している場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段による判断に依る)、
その呼び出し関数群格納ファイル被格納呼び出し関数のアドレスにより挿入するコードの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを変更する挿入コード呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.1.2<組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合>
組み込むソフトウエアに呼び出し関数群格納ファイル被格納呼び出し関数が存在していない場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル被格納呼び出し関数存在/非存在検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数を追加し、呼び出し関数群格納ファイル被格納呼び出し関数追加によるサイズ変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.2<組み込むソフトウエアに呼び出し関数群格納ファイルが存在していない場合>
組み込むソフトウエアに呼び出し関数群格納ファイルが存在していない場合(呼び出し関数群呼び出しセクション呼び出し関数群格納ファイル存在/非存在検索手段による判断に依る)、
呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数を呼び出し関数群呼び出しセクションに追加し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数追加によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内に呼び出し関数群呼び出しセクションの呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合、使用している呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
4.<機能を有する手段が(コード記載、呼び出し関数群呼び出し、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0 機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1<組み込むソフトウエアの他のセクションの要素存在チェック>
挿入したコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、他のセクションを検索し、他のセクションの要素が存在するかどうかを検索する他のセクション要素存在/非存在検索手段と
を有し、
4.1.1<組み込むソフトウエアに他のセクションの要素存在時>
組み込むソフトウエアに他のセクションの要素が存在している場合(他のセクション要素存在/非存在検索手段による判断に依る)、
その他のセクションの要素のアドレスにより挿入するコードの他のセクションの要素のアドレスを変更する挿入コード他のセクションの要素アドレス変更手段と
を有し、
4.1.2<組み込むソフトウエアに他のセクションの要素非存在時>
組み込むソフトウエアに他のセクションの要素が存在していない場合(他のセクション要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションに追加し、他のセクションの要素追加によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0 コードの挿入により、コード内のアドレスを指定しているかどうかを判断するコード挿入コード内アドレス指定/非指定判断手段と
を有し、
(コードの挿入により、コード内のアドレスを指定していた箇所は、挿入サイズ分全部ずらす)
(コード挿入コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを挿入したコードサイズ分ずらす挿入コード分アドレスずらし手段と
を有し、
6.
6.0 コード挿入によりコードサイズが初めより大きくなるかどうかを判断するコード挿入コードサイズ大/非大判断手段と
を有し、
(コード挿入によりコードサイズが初めより大きくなる場合)
コード挿入により、コードサイズが(コード記載セクション)ヘッダーに記載されているサイズよりも大きくなる場合(コード挿入コードサイズ大/非大判断手段による判断に依る)、
(コード記載セクション)ヘッダー内に記載のコード記載セクション及び/又はコード記載セクションのコードサイズをコード挿入後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コード記載セクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により増分したサイズ分、(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションの開始アドレスを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード挿入により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより大きくなる場合)
コード挿入により、第1の他のセクションのサイズが(第1の他のセクション)ヘッダー内に記載されているサイズよりも大きくなる場合(コード挿入により他のセクションサイズが初めより大きくなるかどうかを判断するコード挿入第1の他のセクションサイズ大/非大判断手段による判断に依る)、
(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション挿入後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コード記載セクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する(第2の他のセクション)ヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの増分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード挿入により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有し、
ソフトウエアに機能を有する手段をバイナリの状態で組み込む
ことを特徴とするソフトウエア製造装置、
並びに/若しくは、
電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、実行体の停止中に、ソフトウエアに機能を有する手段をバイナリの状態で組み込むことを特徴とするソフトウエア製造装置。
A software manufacturing apparatus characterized by incorporating means having a function in software in a binary state,
In the software manufacturing apparatus according to claim 12,
1. <Insert code>
1.0 Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in the embedded software;
A code insertion position selection judging means for selecting and judging at which position of the code of the software to be embedded the functioning means is inserted;
1.1. When there is a part that calls the code start address in the current code, such as debugging information, in the embedded software (depends on the judgment by the code start address call part search means), and some processing is performed before the code starts (Depends on the determination by the code insertion position selection determination means),
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code insertion means for inserting a code before the start address of the code description section based on the code start address searched by the code start address call location search means in the code description section;
A code start address in the code description section, a call code start address changing means for rewriting the code start address obtained by subtracting the code address inserted in the code start address of the code start address searched by the call position search means;
1.2. If the embedded software does not have a location to call the code start address in the current code, such as debug information (depending on the judgment by the code start address call location search means), or other than 1.1 (code description section) header Code start address search means for searching the code start address of
A code insertion means for inserting a code at the beginning, middle or end of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 A system call or calling function group storage file stored call function is called in the inserted code, and the system call or calling function group storage file stored call to determine whether the function uses data Function data use / non-use judgment means,
When a system call or calling function group storage file stored call function is called in the inserted code and the function uses data (system call or calling function group storage file stored call function data used / not used) Data section adding means for adding data to the data section)
Insertion code data address changing means for changing the address of the data in the code to be inserted into the address of the data added by the data section adding means,
3. <When a function means uses a calling function group storage file>
3.0 means for determining whether or not a means having a function uses a calling function group storage file, and means for determining whether a function calling function group storage file is used / not used.
3.1 <Existing software call function group storage file existence check>
Call function group storage file stored call function is called in the inserted code (depending on judgment by means of using / non-use judging means having function calling function group storage file) A calling function group calling section calling function group storage file existence / non-existence searching means for searching for a section and searching whether a calling function group storage file exists;
3.1.1 <When calling function group storage file exists in software to be embedded>
When the call function group storage file exists in the software to be embedded (depending on the judgment by the calling function group call section call function group storage file existence / non-existence search means)
A call function group calling section calling function group storage file stored call function existence / non-existence search means for searching whether or not a call function group storage file stored call function exists in the embedded software;
3.1.1.1 <When a call function group storage file stored call function exists in the embedded software>
If the call function group storage file stored call function exists in the software to be embedded (depending on the judgment by the call function group call section call function group storage file stored call function existence / non-existence search means),
A call function group storage file stored call function address changing means for changing a call function group storage file stored call function address of a code to be inserted according to an address of the call function group storage file stored call function;
3.1.1.2 <When the call function group storage file stored call function does not exist in the embedded software>
If the call function group storage file stored call function does not exist in the software to be embedded (depending on the judgment by the call function group call section call function group storage file stored call function existence / non-existence search means),
Call function group storage file stored call function is added, and the call function group storage file stored call function in the call function group call section in the call function group call section for the size change by adding the call function group storage file stored call function A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a calling function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means,
3.1.2 <When the calling function group storage file does not exist in the software to be embedded>
If the calling function group storage file does not exist in the software to be embedded (depending on the judgment by the calling function group calling section calling function group storage file existence / non-existence retrieval means),
Call function group storage file and call function group storage file stored call function are added to the call function group call section, and the call function group storage file and call function group storage file stored call function added address call function group call section Calling function group storage file address, calling function group storage file stored call function address, and / or other address reference address in the calling function group calling section is changed. , Calling function group storage file stored call function address changing means,
If the calling function group storage file stored call function address of the calling function group calling section is used in the current code, the calling function group storage file stored calling function address used is called in the calling function group calling section calling function. A group storage file, a calling function group storage file stored call function address changing means, and a call function group storage file stored call function address changing means in the current code for changing to the address changed by the address change means,
4). <When the functional means uses elements of other sections (single code or plurals other than code description, calling function group call, data section)>
4.0 means for determining whether a means having a function uses an element of another section; a means for determining a function use / non-use of another section;
4.1 <Element existence check of other sections of software to be incorporated>
When other section elements are used in the inserted code (depending on the determination by the means for using / not using the elements of other sections that have a function), search for other sections and elements of other sections Other section element presence / absence search means for searching whether or not exists,
4.1.1 <When other section elements exist in the embedded software>
When other section elements exist in the software to be incorporated (depending on judgment by other section element presence / absence search means)
An insertion code for changing an address of an element of another section of code to be inserted according to an address of an element of another section;
4.1.2 <When other section elements are not present in the embedded software>
When there are no other section elements in the software to be incorporated (depending on the judgment by other section element presence / absence search means)
Add element of other section to other section, change address by adding element of other section, change element address of other section in other section, change element address of other section,
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0 having code insertion code address designation / non-designation judging means for judging whether or not an address in the code is designated by inserting the code;
(The part where the address in the code was specified by inserting the code is shifted by the insertion size)
(If there is a designated part depending on the judgment by the address designation / non-designation judgment means in the code insertion code) Search the current code for the instruction that refers to the address, and refer to the address in the code description section. And an address shifting means for shifting the inserted address by the size of the inserted code.
6).
6.0 code insertion code size large / non-large judgment means for judging whether or not the code size is larger than the beginning by code insertion;
(When code size becomes larger than the beginning due to code insertion)
When the code size becomes larger than the size described in the (code description section) header due to code insertion (depending on the judgment by the code insertion code size large / non-large judgment means)
(Code description section) code size changing means for changing the code size of the code description section described in the header and / or the code size of the code description section to a size having a specified width larger than the size after the code is inserted;
A first other section for determining whether a first other section (other than the code-written section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section for changing the start address of the first other section and / or the first other section described in the header by the size incremented by the code size changing means. Starting address changing means;
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code insertion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size large / non-large judgment means for judging whether or not the first other section size is larger than the first by insertion of the code,
(When the code inserts the first other section size larger than the beginning)
If code insertion causes the size of the first other section to be larger than the size described in the header (first other section) The code insertion to be determined depends on the first other section size large / non-large judgment means),
(First other section) The size of the first other section and / or the first other section described in the header is larger than the size after insertion of the first other section. A first other section size changing means for changing to
A second other section for determining whether there is a second other section (other than the code-written section);
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the header having the start address after the start address of the first other section (second other section) Means for changing the start address of the second other section that is shifted by an increment in size from the start address of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code insertion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. 1 processing repetition execution means,
Software manufacturing apparatus characterized by incorporating means having a function in software in a binary state,
And / or
A software manufacturing apparatus that monitors execution of an execution body of a program on an electronic device or a computer, and incorporates means having a function in software in a binary state while the execution body is stopped.
ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置であって、
請求項12又は請求項13に記載のソフトウエア製造装置において、
ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置であって、
<機能を有する手段のソフトウエア存在/非存在>
単数又は複数の、(あるアドレスからあるアドレス迄の)固まった単位で存在する機能を有する手段が参照するシステムコール、呼び出し関数群格納ファイル被格納呼び出し関数、呼び出し関数群呼び出しセクション、データセクション、及び/又は、他のデータセクション等のアドレス参照箇所の関数及び/又はデータと、ソフトウエアの該当箇所との一致を含め、機能を有する手段がソフトウエア内に存在するかどうかの判断を行う機能を有する手段ソフトウエア内存在/非存在判断手段と
を及び/又は有し、
<機能を有する手段のソフトウエア存在時>(及び/又は機能を有する手段ソフトウエア内存在/非存在判断手段による一致の判断の場合)
1.<コードの削除>
1.0. 機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所があるかどうかを検索するコード開始アドレスコール箇所検索手段と、
機能を有する手段を組み込んだ/組み込んでいないソフトウエアのコードのどの位置に機能を有する手段を挿入しているかを選択判断するコード挿入位置選択判断手段と
を有し、
1.1.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所がある場合(コード開始アドレスコール箇所検索手段による判断に依る)であって、コードの開始以前に機能を有する手段を挿入している場合(コード挿入位置選択判断手段による判断に依る)、
(コード記載セクション)ヘッダーのコード記載セクション開始アドレスを検索するコード記載セクション開始アドレス検索手段と、
コード記載セクション開始アドレスからコード記載セクション内を検索し、コード開始アドレスをコールしている箇所を検索するコード記載セクション内コード開始アドレスコール箇所検索手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスに基づき、コード開始アドレスからコード記載セクションの開始アドレス(又は、組み込み前のコード記載セクションの通常の開始アドレス)の前までに挿入したコードを削除するコード削除手段と、
コード記載セクション内コード開始アドレスコール箇所検索手段により検索されたコード開始アドレスコール箇所のコード開始アドレスに削除した機能を有する手段のコードアドレスを加算した(又は、通常の)開始アドレスに書き換えるコールコード開始アドレス変更手段と
を有し、
1.2.機能を有する手段を組み込んだ/組み込んでいないソフトウエアに、デバッグ情報等、現コード内にコード開始アドレスをコールする箇所が無い場合(コード開始アドレスコール箇所検索手段による判断に依る)、又は1.1以外の場合
(コード記載セクション)ヘッダーのコード開始アドレスを検索するコード開始アドレス検索手段と、
コード開始アドレス検索手段により検索されたコード開始アドレスに基づき、コード記載セクションの初め、途中、又は最後に挿入した機能を有する手段のコードを削除するコード削除手段と
を有し、
2.<データアドレスの変更>
2.0 削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用しているかどうかを判断するシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段と
を有し、
削除した機能を有する手段のコード内にシステムコール又は呼び出し関数群格納ファイル被格納呼び出し関数をコールしており、その関数がデータを使用している場合(システムコール又は呼び出し関数群格納ファイル被格納呼び出し関数データ使用/非使用判断手段による判断に依る)、データをデータセクションから削除するデータセクション削除手段と
を有し、
3.<削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合>
3.0. 削除した機能を有する手段が呼び出し関数群格納ファイルを使用しているかどうかを判断する、機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段と
を有し、
3.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数使用/非使用チェック>
削除した機能を有する手段が呼び出し関数群格納ファイルを使用している場合(機能を有する手段呼び出し関数群格納ファイル使用/非使用判断手段による判断に依る)、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と、
機能を有する手段が使用している呼び出し関数群格納ファイル被格納呼び出し関数のアドレスをコード内の他の箇所で使用しているかどうかを検索する他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段と
を有し、
3.1.1.<他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していない場合>
コード内の他の箇所で使用呼び出し関数群格納ファイル被格納呼び出し関数を使用していると判断されなかった場合(他の箇所使用呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群呼び出しセクション内に、使用呼び出し関数群格納ファイル被格納呼び出し関数が属する呼び出し関数群格納ファイルの他の呼び出し関数群格納ファイル被格納呼び出し関数のアドレスを検索する呼び出し関数群呼び出しセクション内他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス検索手段と
を有し、
3.1.1.1.<呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合>
呼び出し関数群呼び出しセクション内に他の呼び出し関数群格納ファイル被格納呼び出し関数が検索された場合、
他の呼び出し関数群格納ファイル被格納呼び出し関数をコード内の他の箇所で使用しているかどうかを検索する他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段と
を有し、
3.1.1.1.1.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していない場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断されなかった場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスコード内の他の箇所使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイル被格納呼び出し関数の呼び出し関数群格納ファイルに属する全ての他の呼び出し関数群格納ファイル被格納呼び出し関数,呼び出し関数群格納ファイルを削除し、呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
3.1.1.1.2.<他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用している場合>
他の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを使用していると判断された場合(他の呼び出し関数群格納ファイル被格納呼び出し関数アドレス使用/非使用検索手段による判断に依る)、
呼び出し関数群格納ファイル被格納呼び出し関数を削除し、呼び出し関数群格納ファイル被格納呼び出し関数削除によるアドレス変更分呼び出し関数群呼び出しセクション内の呼び出し関数群格納ファイルアドレス、呼び出し関数群格納ファイル被格納呼び出し関数アドレス、及び/又は呼び出し関数群呼び出しセクション内のそれ以外のアドレス参照アドレスを変更する呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と、
現コード内の呼び出し関数群格納ファイル被格納呼び出し関数アドレスを呼び出し関数群呼び出しセクション内呼び出し関数群格納ファイル,呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段により変更されたアドレスに変更する現コード内呼び出し関数群格納ファイル被格納呼び出し関数アドレス変更手段と
を有し、
4.<削除した機能を有する手段が(コード記載、呼び出し関数群呼び出し、データセクション以外の単数又は複数の)他のセクションの要素を使用している場合>
4.0. 削除した機能を有する手段が他のセクションの要素を使用しているかどうかを判断する、機能を有する手段他のセクションの要素使用/非使用判断手段と
を有し、
4.1.<削除した機能を有する手段の他のセクションの要素使用チェック>
削除した機能を有する手段のコード内に他のセクションの要素を使用している場合(機能を有する手段他のセクションの要素使用/非使用判断手段による判断に依る)、コード内の他の箇所に他のセクションの要素を使用しているかどうかを判断するコード内他のセクションの要素存在/非存在検索手段と
を有し、
4.1.1.<機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素非存在時>
機能を有する手段を組み込んだ/組み込んでいないソフトウエアに他のセクションの要素が存在していない場合(コード内他のセクションの要素存在/非存在検索手段による判断に依る)、
他のセクションの要素を他のセクションから削除し、他のセクションの要素削除によるアドレス変更分他のセクション内の他のセクションの要素アドレスを変更する他のセクションの要素アドレス変更手段と、
現コード内に他のセクションの要素のアドレスを使用している場合、使用しているアドレスを他のセクションの要素アドレス変更手段により変更されたアドレスに変更する他のセクションの現コード内他の要素アドレス変更手段と
を有し、
4.2 上述した、4.の処理を、機能を有する手段が使用している、全ての他のセクション対して実行する、上述4.処理機能を有する手段使用全他のセクション実行手段と
を有し、
5.
5.0. 削除した機能を有する手段の削除により、コード内のアドレスを指定している箇所があるかどうかを判断する、機能を有する手段削除コード内アドレス指定/非指定判断手段と
を有し、
(コードの削除により、コード内のアドレスを指定していた箇所は、削除サイズ分全部ずらす)
(機能を有する手段削除コード内アドレス指定/非指定判断手段による判断に依り、指定していた箇所がある場合、)現コード内で、アドレスを参照する命令を検索し、コード記載セクション内のアドレスを参照しているアドレスを検索し、検索したアドレスを削除したコードサイズ分ずらす削除コード分アドレスずらし手段と
を有し、
6.
6.0. 機能を有する手段削除によりコードサイズが初めより小さくなるかどうかを判断するコード削除コードサイズ小/非小判断手段と
を有し、
(機能を有する手段削除によりコードサイズが初めより小さくなる場合)
機能を有する手段削除により、コードサイズが(コード記載セクション)ヘッダーに記載されているサイズよりも小さくなる場合(コード削除コードサイズ小/非小判断手段による判断に依る)、
(コード記載セクション)ヘッダー内に記載のコード記載セクション及び/又はコード記載セクションのコードサイズをコード削除後のサイズより大きい規定幅の大きさのサイズに変更するコードサイズ変更手段と
を有し、
(コード記載セクション以外の)第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段
を有し、
第1の他のセクション存在時(第1の他のセクションが存在するかどうか判断する第1の他のセクションが存在/非存在判断手段の判断による判断に依る)、
コードサイズ変更手段により減分したサイズ分、(第1の他のセクション)ヘッダー内に記載の第1の他のセクションの開始アドレス及び/又は第1の他のセクションを変更する第1の他のセクション開始アドレス変更手段と、
コード内に第1の他のセクションの要素のアドレスを使用している場合、コード削除により、第1の他のセクションの要素のアドレスが変化した分、コード内の第1の他のセクションの要素のアドレスを変更するコード内第1の他のセクションの要素アドレス変更手段と
を有し、
6.1 コード挿入により第1の他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段と
を有し、
(コード挿入により第1の他のセクションサイズが初めより小さくなる場合)
コード削除により、第1の他のセクションのサイズが(第1の他のセクション)ヘッダー内に記載されているサイズよりも小さくなる場合(コード挿入により他のセクションサイズが初めより小さくなるかどうかを判断するコード挿入第1の他のセクションサイズ小/非小判断手段による判断に依る)、
(第1の他のセクション)ヘッダー内に記載の第1の他のセクション及び/又は第1の他のセクションのサイズを第1の他のセクション削除後のサイズより大きい規定幅の大きさのサイズに変更する第1の他のセクションサイズ変更手段と
を有し、
(コード記載セクション以外の)第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段と
を有し、
第2の他のセクション存在時(第2の他のセクションが存在するかどうか判断する第2の他のセクションが存在/非存在判断手段による判断による)、
第1の他のセクションの開始アドレス以降に開始アドレスを有する(第2の他のセクション)ヘッダー内に記載の第2の他のセクション及び/又は第2の他のセクションの開始アドレスを第1の他のセクションの開始アドレスとサイズの減分だけずらす第2の他のセクションの開始アドレス変更手段と、
コード内に第2の他のセクションの要素のアドレスを使用している場合、コード削除により、第2の他のセクションの要素のアドレスが変化した分、コード内の第2の他のセクションの要素のアドレスを変更するコード内第2の他のセクションの要素アドレス変更手段と
を有し、
6.2 第1の他のセクションを第2の他のセクションの開始アドレスを有する他のセクションとして、第1の他のセクションが存在しなくなるまで、6.1の処理を繰り返し実行する、6.1の処理繰り返し実行手段と
を有し、
ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除する
ことを特徴とするソフトウエア製造装置、
並びに/若しくは、
電子機器又はコンピュータ上のプログラムの実行体の実行を監視し、実行体の停止中に、ソフトウエアに機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とするソフトウエア製造装置。
Software having a function incorporated in software in a binary state and / or means having a function incorporated / not incorporated in software in a binary state and deleted in a binary state Manufacturing equipment,
In the software manufacturing apparatus according to claim 12 or 13,
A software manufacturing apparatus characterized in that means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state,
<Software presence / absence of means having functions>
A system call, a calling function group storage file stored call function, a calling function group calling section, a data section, which is referred to by means having a function existing in a unit (from one address to a certain address) A function for judging whether or not there is a means having a function in the software, including a match between a function and / or data of an address reference location such as another data section and a corresponding location of the software. And / or having and / or having presence / non-existence judging means in software,
<When software having a function means is present> (and / or in the case of coincidence determination by means of presence / absence determination means in a function means software having a function)
1. <Deleting code>
1.0. Code start address call location search means for searching whether there is a location where the code start address is called in the current code, such as debug information, in software incorporating / not having a function having a function;
Code insertion position selection determining means for selecting and determining at which position of the software code in which the means having the function is incorporated / not incorporated the function means is inserted;
1.1. If the software with or without a function means has a part that calls the code start address in the current code, such as debug information (depending on the judgment by the code start address call part search means), When means having a function is inserted before the start of the code (depending on the judgment by the code insertion position selection judgment means),
(Code description section) Code description section start address search means for searching the code description section start address of the header,
Search the code description section from the code description section start address, and search the code start address call location search means in the code description section to search the location where the code start address is called,
Code start address in code description section Based on the code start address searched by the call location search means, from the code start address to the start address of the code description section (or the normal start address of the code description section before installation) A code deletion means for deleting the inserted code;
Code start address in the code description section Code start address searched by the call location search means Code start address obtained by adding the code address of the means having the deleted function to the code start address of the call location (or normal) to rewrite the start address Address changing means,
1.2. 1. When software having built-in / non-built-in means does not have a place to call a code start address in the current code, such as debug information (depending on judgment by a code start address call place search means), or Other than 1 (Code description section) Code start address search means for searching for the code start address of the header;
A code deletion means for deleting the code of the means having the function inserted at the beginning, middle or last of the code description section based on the code start address searched by the code start address search means;
2. <Change of data address>
2.0 System call or call function group storage file stored call function is called in the code of the means having the deleted function, and the system call or call function group for determining whether the function uses data A storage file stored call function data use / non-use determination means,
When a system call or calling function group storage file stored call function is called in the code of the means having the deleted function and the function uses data (system call or calling function group storage file stored call) Data section deletion means for deleting data from the data section, depending on the determination by the function data use / non-use determination means),
3. <When the means with the deleted function uses the calling function group storage file>
3.0. A means for determining whether the function having the deleted function is using the calling function group storage file; a means for determining whether the function calling function group storage file is used / not used;
3.1. <Use / non-use check of stored function for calling stored function in other locations>
When the means having the deleted function uses the calling function group storage file (depending on the judgment by the means for using / not using the function calling function group storage file having the function),
A call function group storage file stored call function address search means for searching for an address of a call function group storage file stored call function used by a means having a function;
Called function group storage file stored call function address used to search whether the address of the call function group stored file stored call function used by the means having the function is used elsewhere in the code Use / non-use search means,
3.1.1. <When other part use call function group storage file stored call function is not used>
When it is not determined that the used call function group storage file stored call function is being used elsewhere in the code (according to another location use call function group storage file stored call function address use / non-use search means Depending on judgment),
In the calling function group calling section, the other calling function group storage file to which the used calling function group storage file stored call function belongs is searched. A call function group storage file stored call function address search means,
3.1.1.1. <When another call function group storage file stored call function is found in the call function group call section>
If another call function group storage file stored call function is found in the call function group call section,
Search whether other call function group storage file stored call function is used elsewhere in the code Use other group use file non-use search in other call function group storage file stored call function address code Means,
3.1.1.1.1. <When other call function group storage file stored call function address is not used>
When it is not determined that another call function group storage file stored call function address is used (determination by other place use / non-use search means in another call function group storage file stored call function address code )
Delete all other call function group storage file stored call functions and call function group storage files belonging to the call function group storage file stored call function of the call function group storage file, call function group storage file storage call function, Call function group storage file, call function group storage file stored call function stored address call function group storage file address, call function group storage file stored call function address and / or call function A calling function group storage file for calling function group calling section for changing other address reference addresses in the group calling section, a calling function group storage file stored call function address changing means,
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
3.1.1.1.2. <When other call function group storage file stored call function address is used>
When it is determined that another call function group storage file stored call function address is used (depending on determination by other call function group storage file stored call function address use / non-use search means)
The call function group storage file stored call function is deleted by deleting the call function group storage file stored call function and deleting the call function group storage file stored call function. A call function group in-call function group storage file, a call function group storage file stored call function address changing means for changing an address and / or other address reference address in the call function group call section;
Call function group storage file stored call function address in the current code is changed to the address changed by the call function group storage section call function group storage file, call function group storage file stored call function address changing means in the current code A call function group storage file stored call function address changing means,
4). <When the means having the deleted function uses elements of other sections (single or plural other than code description, calling function group call, data section)>
4.0. A means having a function for determining whether the means having the deleted function is using an element of another section; an element use / non-use determining means for the other section;
4.1. <Element usage check of other sections of means with deleted functions>
If an element of another section is used in the code of the means having the deleted function (depending on the determination by the element use / non-use determination means of the means having the function or other section) An element existence / non-existence search means in the code for determining whether or not an element of another section is used,
4.1.1. <When other section elements are not present in the software with or without a function means>
When the element of the other section does not exist in the software incorporating / not incorporating the means having the function (depending on the determination by the element existence / non-existence search means of the other section in the code),
An element address changing means of another section for deleting an element of another section from the other section and changing an address of the other section in the other section by changing the address by deleting the element of the other section;
If the address of an element in another section is used in the current code, the other address in the current code in another section is changed to the address changed by the element address changing means in the other section. Address changing means,
4.2 As described above, 4. The above processing is executed for all other sections used by the functional means. All other section execution means using means having processing functions,
5).
5.0. A means for determining whether or not there is a part that designates an address in the code by deleting the means having the deleted function;
(The part where the address in the code was specified by deleting the code is shifted by the deleted size.)
(When there is a designated part depending on the judgment by the address designation / non-designation judgment means in the means deleting code having the function) In the current code, the instruction that refers to the address is searched, and the address in the code description section And an address shifting means for deleting the code corresponding to the deleted code size.
6).
6.0. A code deletion code size small / non-small determination means for determining whether or not the code size is smaller than the beginning by deleting the function having the function;
(When code size becomes smaller than the beginning due to deletion of means with functions)
When the code size becomes smaller than the size described in the (code description section) header due to the deletion of means having a function (depending on the determination by the code deletion code size small / non-small determination means),
(Code description section) code size changing means for changing the code size of the code description section described in the header and / or the code size of the code description section to a size having a specified width larger than the size after the code is deleted;
A first other section for determining whether a first other section (other than the code-written section) is present has a presence / absence determining means;
When the first other section exists (depending on the determination by the determination of the presence / absence determination means that the first other section determines whether the first other section exists)
The first other section that changes the start address of the first other section and / or the first other section described in the (first other section) header by the size decremented by the code size changing means Section start address changing means,
If the address of the element of the first other section is used in the code, the element of the first other section in the code is equivalent to the change in the address of the element of the first other section due to the code deletion. Element address changing means of the first other section in the code for changing the address of
6.1 Code insertion first other section size small / non-small judgment means for judging whether or not the first other section size is smaller than the first by insertion of the code,
(When the code inserts the first other section size smaller than the beginning)
If code deletion causes the size of the first other section to be smaller than the size described in the header (first other section) The code insertion to be determined first depends on the judgment by the other section size small / non-small judgment means),
(First other section) The size of the first other section and / or the first other section described in the header is larger than the size after the first other section is deleted. A first other section size changing means for changing to
A second other section for determining whether there is a second other section (other than the code-written section);
When the second other section exists (according to the determination by the existence / non-existence determining means that determines whether the second other section exists)
The start address of the second other section and / or the second other section described in the header having the start address after the start address of the first other section (second other section) Means for changing the start address of the second other section shifted by a decrement in size from the start address of the other section;
If the address of the element of the second other section is used in the code, the element of the second other section in the code is equivalent to the change in the address of the element of the second other section due to the code deletion. Element address changing means of the second other section in the code for changing the address of
6.2 Repeat the process of 6.1 until the first other section no longer exists, with the first other section as the other section having the start address of the second other section. 1 processing repetition execution means,
A software manufacturing apparatus characterized in that means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state;
And / or
The execution of the execution body of the program on the electronic device or the computer is monitored, and the means having the function in the software is incorporated in the binary state and / or the software is incorporated in the binary state while the execution body is stopped. A software manufacturing apparatus characterized in that means having functions not incorporated are incorporated and deleted in a binary state.
請求項1、請求項2、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア、請求項3、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成装置、請求項4、請求項6、請求項7、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ(ソフトウエア配布装置)、請求項5、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア管理装置、請求項8、若しくは請求項10に記載の1電子機器唯一動作許可インストーラ生成装置、請求項9、若しくは請求項10に記載の1電子機器唯一動作許可ソフトウエア生成若しくは製造装置、若しくは1電子機器唯一動作許可インストーラ生成装置、又は、請求項12乃至請求項14に記載のソフトウエア製造装置
に記載の処理を実行させるコンピュータが読みとり可能なプログラムを供給若しくは配布することを特徴とする供給若しくは配布媒体。
The electronic device unique operation permission software according to claim 1, claim 2, or claim 10, the electronic device unique operation permission software generation device according to claim 3, or claim 10, 11. An electronic device unique operation permission installer (software distribution device) according to claim 6, claim 7, or claim 10, or an electronic device unique operation permission software management device according to claim 5 or claim 10. The one-electronic-device-only-operation-permitted installer generating device according to claim 8, or claim 10, or the one-electronic-device-only operation-permitting software generating or manufacturing device according to claim 9, or one-electronic device The only operation-permitted installer generating device or the code for executing the processing described in the software manufacturing device according to claim 12 to 14. Supply or distribution medium, characterized in that computer supplies or distributes program readable.
処理を施したいソフトウエアを供給媒体によって供給することによって、
ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納する
ことを特徴とする機械語コード埋め込み装置(電子機器)。
By supplying the software you want to process with the supply medium,
A means having a function in software is incorporated in a binary state and / or a means having a function incorporated / not incorporated in software in a binary state is incorporated and deleted in a binary state and stored in a supply medium. A machine language code embedding device (electronic device).
処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで供給媒体に格納することを特徴とする機械語コード埋め込み装置(電子機器)であって、
請求項16に記載の機械語コード埋め込み装置(電子機器)において、
容器に格納されており、
供給媒体を供給する供給媒体供給手段を有し、
前記供給媒体供給手段により供給された供給媒体からソフトウエア及び/又は組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)を示すファイル又はデータを読み込み、
前記ソフトウエアに機能を有する手段を
初期設定による組み込み指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み指標か、各種選択釦を有している場合、選択釦による組み込み指標か、ファイル又はデータによる設定による組み込み指標に基づいて、
バイナリの状態で組み込んで供給媒体に格納し、
並びに/若しくは、
前記供給媒体供給手段により供給された供給媒体から組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等)を示すファイル又はデータを読み込み、
組み込み用プログラムを
初期設定による組み込み用プログラム指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み用プログラム指標か、各種選択釦を有している場合、選択釦による組み込み用プログラム指標か、ファイル又はデータによる設定による組み込み用プログラム指標に基づいて、
組み込み用プログラムを追加、変更、及び/又は削除をし、
並びに/若しくは、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
並びに/若しくは、
初期設定を変更する為の(選択)操作機(コンピュータ)接続用の接続手段を有し、接続された(選択)操作機(コンピュータ)から初期設定を変更する
ことを特徴とする機械語コード埋め込み装置(電子機器)。
A machine language code embedding device (electronic device) characterized in that by supplying software to be processed with a supply medium, means having a function in the software is incorporated in a binary state and stored in the supply medium. And
The machine language code embedding device (electronic device) according to claim 16,
Stored in a container,
A supply medium supply means for supplying the supply medium;
Software and / or built-in indicators from which the supply medium supplied by the supply medium supply means (which embedded program is installed in which position, which software is described in machine language or any high-level language) And / or whether to make initial settings, etc.)
If the means having the function in the software is a built-in index by initial setting or a display means, a built-in index by a selection means displayed on the display means, or a selection button if it has various selection buttons Based on built-in metrics or built-in metrics set by file or data,
Embed in binary form and store in supply medium,
And / or
An embedded program and / or an embedded program index (adding, changing, and / or deleting an embedded program from the supply medium supplied by the supply medium supply means, the order of the embedded program, and the embedded program is a machine language Or in which high-level language and / or whether to perform initial settings, etc.)
If the built-in program is a program index for installation by default or if it has a display means, if it has a program index for installation by a selection means displayed on the display means, or if it has various selection buttons, use a selection button Based on the embedded program index or the embedded program index set by file or data,
Add, change, and / or delete embedded programs;
And / or
If the embedded program is written in a high-level language and the high-level language is described in the embedded program index, the embedded program is compiled with the designated high-level language compiler and software The compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and the high-level language is written in the built-in index. The software is compiled with a high-level language compiler, the embedded program is stored in a binary form in the software execution body, and the software and the embedded program are also written in the high-level language. When a high-level language is described in the built-in index and the program index for embedding, Compile the embedded program with the specified high-level language compiler, compile the software with the specified high-level language compiler, and compile the compiled embedded program into a binary state. In the executable,
And / or
A machine language code embedding characterized by having connection means for connecting a (selection) operating device (computer) for changing an initial setting, and changing the initial setting from the connected (selection) operating device (computer) Device (electronic equipment).
処理を施したいソフトウエアを供給媒体によって供給することによって、ソフトウエアに機能を有する手段をバイナリの状態で組み込んで、並びに/若しくは、ソフトウエアにバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除して供給媒体に格納することを特徴とする機械語コード埋め込み装置(電子機器)であって、
請求項16又は請求項17に記載の機械語コード埋め込み装置(電子機器)において、
容器に格納されており、
供給媒体を供給する供給媒体供給手段を有し、
前記供給媒体供給手段により供給された供給媒体から機能を有する手段が組み込まれた/組み込んでいないソフトウエア及び/又は組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を示すファイル又はデータを読み込み、
前記機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段を
初期設定による組み込み指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み指標か、各種選択釦を有している場合、選択釦による組み込み指標か、ファイル又はデータによる設定による組み込み指標に基づいて、
バイナリの状態で組み込み削除し、機能を有する手段が組み込み削除されたソフトウエアを供給媒体に格納し、
並びに/若しくは、
前記供給媒体供給手段により供給された供給媒体から組み込み削除用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、並びに/若しくは初期設定を行うかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を示すファイル又はデータを読み込み、
組み込み削除用プログラムを
初期設定による組み込み用プログラム指標か、表示手段を有している場合、表示手段に表示される選択手段による組み込み用プログラム指標か、各種選択釦を有している場合、選択釦による組み込み用プログラム指標か、ファイル又はデータによる設定による組み込み用プログラム指標に基づいて、
組み込み削除用プログラムを追加、変更、及び/又は削除をし、
並びに/若しくは、
組み込み削除用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、
並びに/若しくは、
初期設定を変更する為の(選択)操作機(コンピュータ)接続用の接続手段を有し、接続された(選択)操作機(コンピュータ)から初期設定を変更する
ことを特徴とする機械語コード埋め込み装置(電子機器)。
By supplying the software to be processed by the supply medium, the means having the function in the software is incorporated in the binary state and / or the software has the function incorporated / not incorporated in the software in the binary state. A machine language code embedding device (electronic device) characterized in that a means is incorporated and deleted in a binary state and stored in a supply medium,
The machine language code embedding device (electronic device) according to claim 16 or 17,
Stored in a container,
A supply medium supply means for supplying the supply medium;
Software in which means having functions are incorporated / not incorporated from the supply medium supplied by the supply medium supply means and / or an installation index (which software is to be installed in which position of which software, Whether the machine language or the high-level language is used, and / or which function is deleted, such as whether to perform initial setting, and which function is deleted from which software, The means having the function is a means for selecting at which position of the software the size is installed, whether to execute the embedded deletion, whether to perform the embedded process or the embedded deletion process, or whether to perform the initial setting at the start of the process Read the file or data indicating whether
The means having the function from the software with or without the means having the function incorporated is a built-in index by default setting, or a display means if the means having the function is a built-in index by the selection means displayed on the display means, If you have various selection buttons, based on the built-in index by the selection button or the built-in index by setting by file or data,
Incorporating and deleting in the binary state, the means having the function is stored in the supply medium software that has been included and deleted,
And / or
The program for embedding deletion and / or the program index for embedding from the supply medium supplied by the supply medium supply means (adding, changing, and / or deleting an embedding program, the order of the embedding program, the embedding program is a machine Whether to delete a means having a function such as a word or a high-level language and / or whether to perform initial setting, to delete a means having a function from which software, Which means the software has at what size and size, whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, whether to use the initial setting at the start of processing, or depending on the selection means Etc.)
If the built-in deletion program is a program index for incorporation by default or has a display means, a program index for incorporation by a selection means displayed on the display means, or a selection button if it has various selection buttons Based on the program index for embedded by or the program index for embedded by setting by file or data,
Add, change, and / or delete programs for built-in deletion
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the built-in program index, the built-in deletion program is compiled with the designated high-level language compiler, Based on the compiled program for removing embedded programs, the embedded program is deleted from the executable program in the binary state based on the compiled program for deleting embedded software with or without means having a function. If it is written in a high-level language and the high-level language is written in the built-in index, the software is compiled with a high-level language compiler, and the built-in removal program is based on the built-in removal program. Incorporated / incorporating means with functionality in binary state Incorporation / deletion from a non-software executable, and the high-level language is also included in the software and the program for deinstallation, and the high-level language is described in the embedding index and the program index for embedding In this case, the embedded deletion program is compiled with the designated high-level language compiler, and the software is compiled with the designated high-level language compiler. Based on the compiled program for deleting embedded programs, the embedded program is deleted from the executable program in the binary state,
And / or
A machine language code embedding characterized by having connection means for connecting a (selection) operating device (computer) for changing an initial setting, and changing the initial setting from the connected (selection) operating device (computer) Device (electronic equipment).
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、実行体にバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除する
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)。
By mounting on an electronic device or a computer, means having a function are incorporated in a binary state in the execution body existing on the electronic device or the computer and / or incorporated / not incorporated in the execution body in a binary state. A machine language code embedding system integrated circuit (or supply or distribution medium) characterized by incorporating and deleting means having a function in a binary state.
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、実行体にバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)であって、
請求項19に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)において、
容器に格納されており、
電子機器又はコンピュータ上に存在する実行体に、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等)に基づいて、電子機器又はコンピュータ上に存在する実行体に、実行体の実行を監視し、実行体の停止中に、機能を有する手段をバイナリの状態で組み込むことを特徴とし、
初期設定による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標選択手段による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器又はコンピュータが供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標を示すファイル又はデータを供給することによる集積回路(又は供給若しくは配布媒体)組み込み指標設定に基づいて、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込み、
並びに/若しくは、
(1)
供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を供給媒体により供給すると、供給された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標が変更され、及び/又は、集積回路(又は供給若しくは配布媒体)組み込み用プログラムが追加、変更、及び/又は削除され、
並びに/若しくは、
供給媒体を供給する供給媒体供給手段を有する場合、
(1−1)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と同じファイルを使用する場合)
ソフトウエアを供給媒体により供給すると、設定されている集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−1−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、集積回路(又は供給若しくは配布媒体)組み込み指標及び集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−2)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
ソフトウエアと組み込み指標と組み込み用プログラム及び/又は組み込み用指標を供給媒体により供給すると、組み込み指標と組み込み用プログラム及び/又は組み込み用指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、
(1−2−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、
又は、
(1−3)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
供給媒体を供給する供給媒体供給手段を有する場合、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等)、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等)を供給媒体により供給すると、初期設定が組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標により変更され、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択手段により選択された組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標に基づいて変更され、
供給媒体を供給する供給媒体供給手段を有する場合、
ソフトウエアを供給媒体により供給すると、設定されている組み込み指標に基づいて、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択手段による組み込み指標選択に基づいて、ソフトウエアに機能を有する手段をバイナリの状態で組み込み、及び/又は初期設定が変更され、
(1−3−1)
及び/又は、
組み込み用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み用プログラムをバイナリの状態でソフトウエアの実行体に格納し、また、ソフトウエア及び組み込み用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルしたソフトウエアの実行体に、コンパイルした組み込み用プログラムをバイナリの状態で実行体に格納する
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)。
By mounting on an electronic device or a computer, means having a function are incorporated in a binary state in the execution body existing on the electronic device or the computer and / or incorporated / not incorporated in the execution body in a binary state. A machine language code embedding system integrated circuit (or supply or distribution medium) characterized by incorporating and deleting means having a function in a binary state,
The machine language code embedding system integrated circuit (or supply or distribution medium) of claim 19
Stored in a container,
An embedded circuit (or supply or distribution medium) built-in indicator (which embedded program is installed in which position in which software, software in machine language or in any high-level language) The execution body present on the electronic device or computer is monitored for execution of the execution body based on what is described and / or whether or not the initial setting is performed, and the function is executed while the execution body is stopped. Incorporating means in a binary state,
Integrated circuit (or supply or distribution medium) built-in indicators by default, electronic (selection) operating device, or computer (selection) operating device, or if the computer has display means, on the display means of the computer If the integrated circuit (or supply or distribution medium) built-in indicator by the integrated circuit (or supply or distribution medium) built-in index selection means to be displayed or the electronic device or computer has the supply medium supply means for supplying the supply medium, the integrated circuit (Or supply or distribution medium) an integrated circuit (or supply or distribution medium) by supplying a file or data indicating a built-in index, or a function in an execution unit existing on an electronic device or computer based on a built-in index setting Incorporate means in binary form,
And / or
(1)
In the case of having a supply medium supply means for supplying a supply medium, an integrated circuit (or supply or distribution medium) built-in indicator (which embedded program is incorporated in which position in which software, software is a machine language or which high-level language) The integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files, or the integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files. And / or whether to store an embedded index and / or whether to perform initialization, etc.) and / or an embedded program and / or an integrated circuit (or supply or distribution medium) an embedded program index (which embedded program Add, change, and / or delete, the order of the program for installation, installation Whether the program is written in a machine language or a high-level language, the integrated circuit (or supply or distribution medium) embedded program index and the embedded program index are in separate files, or the integrated circuit (or supplied or Distribution medium) When the program index for embedding and the program index for embedding are set as separate files and the program index for embedding is stored and / or whether initialization is performed, etc. Based on the circuit (or supply or distribution medium) built-in indicator and / or the program for installation and / or the program indicator for integration of the integrated circuit (or supply or distribution medium) and of the (selection) operating device of the electronic device, Or the computer (selection) operating device or the computer An integrated circuit (or supply or distribution medium) built-in indicator displayed on the display means and / or an integrated circuit (or supply or distribution medium) selected by the program index selection means for incorporation into the computer. Supply or distribution medium) embedded index and / or integrated circuit and / or integrated circuit (or supply or distribution medium) based on the program index for integrated circuit (or supply or distribution medium) embedded index and / or integration A program index for circuit (or supply or distribution medium) integration is changed and / or a program for integration of an integrated circuit (or supply or distribution medium) is added, changed, and / or deleted,
And / or
When having a supply medium supply means for supplying a supply medium,
(1-1)
(When using the same file as the embedded index and / or embedded program index for the integrated circuit (or supply or distribution medium) embedded index and / or the integrated circuit (or supply or distribution medium) embedded program index)
When the software is supplied by the supply medium, the integrated circuit (or supply or distribution medium) built-in index and / or the integrated circuit (or supply or distribution medium) program index for embedding, and ( (Choice of) integrated circuit (or supply or distribution medium) built-in indicators and / or integrated circuits (displayed on display means) of an operating device or of a (selective) operating device of a computer or of a computer if the computer has display means Or supply or distribution medium) based on the integrated circuit (or supply or distribution medium) built-in index selected by the built-in program index selection means and / or the integrated circuit (or supply or distribution medium) built-in program index selection Incorporate a functional means in the binary state,
(1-1-1)
And / or
If the embedded program is written in a high-level language and the high-level language is described in the integrated circuit (or supply or distribution medium) built-in program index, the embedded program is designated as the high-level language. Compiled by a language compiler, the compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and is integrated circuit ( (Or supply or distribution medium) When the high-level language is described in the embedded index, the software is compiled with a high-level language compiler, and the embedded program is stored in the software execution body in a binary state. Software and embedded programs are also written in high-level languages, and (Or supply or distribution medium) If an embedded index and an integrated circuit (or supply or distribution medium) embedded program index describe which high-level language, compile the embedded program with the specified high-level language compiler. Compile the software with the specified high-level language compiler, store the compiled embedded program in the executable in binary form,
Or
(1-2)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). (When not storing on device or computer)
When the software, the built-in index, the built-in program and / or the built-in index are supplied by the supply medium, based on the built-in index, the built-in program and / or the built-in index, and the electronic device (selection) operating device, Alternatively, if the computer has a selection means, or if the computer has a display means, the means having the function in the software based on the selection of the built-in index displayed on the display means and / or the built-in index is displayed in binary form. Built in state,
(1-2-1)
And / or
If the embedded program is written in a high-level language and the high-level language is described in the embedded program index, the embedded program is compiled with the designated high-level language compiler and software The compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and the high-level language is written in the built-in index. The software is compiled with a high-level language compiler, the embedded program is stored in a binary form in the software execution body, and the software and the embedded program are also written in the high-level language. When a high-level language is described in the built-in index and the program index for embedding, Compile the embedded program with the specified high-level language compiler, compile the software with the specified high-level language compiler, and compile the compiled embedded program into a binary state. In the executable,
Or
(1-3)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). When storing on a device or computer)
In the case of having a supply medium supply means for supplying a supply medium, an embedded index (which embedded program is embedded in which position in which software, whether the software is written in a machine language or in a high-level language, an integrated circuit) (Or supply or distribution medium) the built-in index and the built-in index are in separate files, or the integrated circuit (or supply or distribution medium) built-in index and the built-in index are in separate files and store the built-in index, and And / or whether to make initial settings, etc.) and / or embedded programs and / or embedded program indices (which embedded programs are added, changed, and / or deleted, embedded program order, embedded Whether the program is written in machine language or in any high-level language, integrated circuit Alternatively, the program index for installation and the program index for installation are set as separate files, or the program index for installation of the integrated circuit (or supply or distribution medium) and the program index for installation are set as separate files, and embedded. For example, whether to store the program index and / or whether to perform initial setting) by the supply medium, the initial setting is changed by the embedded index and / or the embedded program and / or the embedded program index, Further, the built-in index displayed on the display means and / or the built-in program index selection means of the electronic device (selection) operating device, or the computer (selection) operating device, or when the computer has a display means Built-in indicators selected by Or it is changed based on the embedded program and / or embedded program indicators,
When having a supply medium supply means for supplying a supply medium,
When the software is supplied by the supply medium, the electronic device (selection) controller, or the computer (selection) controller, or the computer if the computer has display means, based on the set built-in index, Based on the built-in index selection by the built-in index selection means displayed on the display means, means having a function in the software is incorporated in a binary state and / or the initial setting is changed,
(1-3-1)
And / or
If the embedded program is written in a high-level language and the high-level language is described in the embedded program index, the embedded program is compiled with the designated high-level language compiler and software The compiled embedded program is stored in the executable in binary form, and the software is written in a high-level language, and the high-level language is written in the built-in index. The software is compiled with a high-level language compiler, the embedded program is stored in a binary form in the software execution body, and the software and the embedded program are also written in the high-level language. When a high-level language is described in the built-in index and the program index for embedding, Compile the embedded program with the specified high-level language compiler, compile the software with the specified high-level language compiler, and compile the compiled embedded program into a binary state. And a machine language code embedding system integrated circuit (or supply or distribution medium).
電子機器又はコンピュータに装着することによって、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段をバイナリの状態で組み込む、並びに/若しくは、実行体にバイナリの状態で組み込んだ/組み込んでいない機能を有する手段をバイナリの状態で組み込み削除することを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)であって、
請求項19又は請求項20に記載の機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)において、
容器に格納されており、
電子機器又はコンピュータ上に存在する機能を有する手段が組み込まれた/組み込んでいない実行体に、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)に基づいて、電子機器又はコンピュータ上に存在する実行体に、機能を有する手段が組み込まれた/組み込んでいない実行体の実行を監視し、実行体の停止中に、機能を有する手段をバイナリの状態で組み込み削除することを特徴とし、
初期設定による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標選択手段による集積回路(又は供給若しくは配布媒体)組み込み指標か、電子機器又はコンピュータが供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標を示すファイル又はデータを供給することによる集積回路(又は供給若しくは配布媒体)組み込み指標設定に基づいて、電子機器又はコンピュータ上に存在する実行体から、機能を有する手段をバイナリの状態で組み込み削除し、
並びに/若しくは、
(2)
供給媒体を供給する供給媒体供給手段を有する場合、集積回路(又は供給若しくは配布媒体)組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み削除用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を供給媒体により供給すると、供給された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標、並びに/若しくは、組み込み削除用プログラム及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標が変更され、及び/又は、集積回路(又は供給若しくは配布媒体)組み込み削除用プログラムが追加、変更、及び/又は削除され、
並びに/若しくは、
供給媒体を供給する供給媒体供給手段を有する場合、
(2−1)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と同じファイルを使用する場合)
機能を有する手段が組み込まれた/組み込んでいないソフトウエアを供給媒体により供給すると、設定されている集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択手段により選択された集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標選択に基づいて、機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段をバイナリの状態で組み込み削除し、
(2−1−1)
及び/又は、
組み込み削除用プログラムが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、集積回路(又は供給若しくは配布媒体)組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、集積回路(又は供給若しくは配布媒体)組み込み指標及び集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、
又は、
(2−2)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶しない場合)
ソフトウエアと組み込み指標と組み込み削除用プログラム及び/又は組み込み用指標を供給媒体により供給すると、組み込み指標と組み込み削除用プログラム及び/又は組み込み用指標に基づいて、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用指標選択に基づいて、機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段をバイナリの状態で組み込み削除し、
(2−2−1)
及び/又は、
組み込み削除用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、
又は、
(2−3)
(組み込み指標及び/又は組み込み用プログラム指標を集積回路(又は供給若しくは配布媒体)組み込み指標及び/又は集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標とは別のファイルを使用し、設定を電子機器又はコンピュータ上に記憶する場合)
供給媒体を供給する供給媒体供給手段を有する場合、組み込み指標(どの組み込み用プログラムをどのソフトウエアのどの位置に組み込むのか、ソフトウエアは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み指標と組み込み指標とを別のファイルとし、組み込み指標を記憶するか、及び/又は、初期設定をするかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)、並びに/若しくは、組み込み用プログラム及び/又は組み込み用プログラム指標(どの組み込み用プログラムを追加、変更、及び/又は削除し、組み込み用プログラムの順序、組み込み用プログラムは機械語かそれともどの高級言語で記載されたものか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとするか、集積回路(又は供給若しくは配布媒体)組み込み用プログラム指標と組み込み用プログラム指標とを別のファイルとし、組み込み用プログラム指標を記憶するか、並びに/若しくは初期設定を行うかどうか等、どの機能を有する手段を削除するか、どのソフトウエアからどの機能を有する手段を削除するか、機能を有する手段はソフトウエアのどの位置にどれ程のサイズで組み込まれているか、組み込み削除を実行するかどうか、組み込み処理を行うのか組み込み削除処理を行うのか、処理開始時初期設定によるのか選択手段によるのか等)を供給媒体により供給すると、初期設定が組み込み指標、並びに/若しくは、組み込み削除用プログラム及び/又は組み込み用プログラム指標により変更され、また、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標及び/又は組み込み用プログラム指標選択手段により選択された組み込み指標、並びに/若しくは、組み込み削除用プログラム及び/又は組み込み用プログラム指標に基づいて変更され、
供給媒体を供給する供給媒体供給手段を有する場合、
機能を有する手段が組み込まれた/組み込んでいないソフトウエアを供給媒体により供給すると、設定されている組み込み指標に基づいて、電子機器の(選択)操作機の,若しくはコンピュータの(選択)操作機の,又はコンピュータが表示手段を有する場合コンピュータの,表示手段に表示される組み込み指標選択手段による組み込み指標選択に基づいて、機能を有する手段が組み込まれた/組み込んでいないソフトウエアから機能を有する手段をバイナリの状態で組み込み削除、及び/又は初期設定が変更され、
(2−3−1)
及び/又は、
組み込み削除用プログラムが、高級言語で記載されたものであって、組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除し、また、ソフトウエアが、高級言語で記載されたものであって、組み込み指標にどの高級言語かが記載されている場合、ソフトウエアを高級言語のコンパイラでコンパイルし、組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から組み込み削除し、また、ソフトウエア及び組み込み削除用プログラムも高級言語で記載されている場合であって、組み込み指標及び組み込み用プログラム指標にどの高級言語かが記載されている場合、組み込み削除用プログラムを、指定された高級言語のコンパイラでコンパイルし、ソフトウエアを、指定された高級言語のコンパイラでコンパイルし、コンパイルした機能を有する手段が組み込まれた/組み込んでいないソフトウエアの実行体から、コンパイルした組み込み削除用プログラムに基づいて、組み込み削除用プログラムをバイナリの状態で実行体から組み込み削除する
ことを特徴とする機械語コード埋め込みシステム集積回路(又は供給若しくは配布媒体)。
By mounting on an electronic device or a computer, means having a function are incorporated in a binary state in the execution body existing on the electronic device or the computer and / or incorporated / not incorporated in the execution body in a binary state. A machine language code embedding system integrated circuit (or supply or distribution medium) characterized by incorporating and deleting means having a function in a binary state,
A machine language code embedding system integrated circuit (or supply or distribution medium) according to claim 19 or claim 20,
Stored in a container,
An integrated circuit (or supply or distribution medium) built-in index (which built-in program is installed at which location in which software) in an execution body that incorporates / does not incorporate means having functions existing on an electronic device or computer , Whether the software is written in machine language or in any high-level language, and / or which function has to be deleted, such as whether to perform initial setting, and which function has which function from which software Deletion or means with a function is installed in what position and size of software, whether to execute embedded deletion, whether to perform embedded processing or embedded deletion processing, initial setting at the start of processing On the electronic device or on the computer based on the selection means) Monitoring the execution means is integrated / incorporated in not executing entity having the function, during the stop of the running body, and characterized in that the embedded remove means having a function in the form of binary,
Integrated circuit (or supply or distribution medium) built-in indicators by default, electronic (selection) operating device, or computer (selection) operating device, or if the computer has display means, on the display means of the computer If the integrated circuit (or supply or distribution medium) built-in indicator by the integrated circuit (or supply or distribution medium) built-in index selection means to be displayed or the electronic device or computer has the supply medium supply means for supplying the supply medium, the integrated circuit (Or supply or distribution medium) integrated circuit (or supply or distribution medium) by supplying a file or data indicating a built-in index, or a function from an execution body existing on the electronic device or computer based on the built-in index setting Incorporate and delete means in binary state,
And / or
(2)
In the case of having a supply medium supply means for supplying a supply medium, an integrated circuit (or supply or distribution medium) built-in indicator (which embedded program is incorporated in which position in which software, software is a machine language or which high-level language) The integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files, or the integrated circuit (or supply or distribution medium) built-in indicator and the built-in indicator are in separate files. , Whether to store a built-in index and / or whether to perform initial setting, delete which means having functions, delete which means from which software, which means have software How much size is installed at which position of the software, whether to execute the deletion, For example, whether to perform only processing or embedded deletion processing, whether to use initial setting at the start of processing, or selection means), and / or embedded program and / or integrated circuit (or supply or distribution medium) embedded program index ( Which embedded programs are added, changed, and / or deleted, the order of the embedded programs, which embedded programming is written in machine language or in any high-level language, integrated circuit (or supply or distribution medium) embedded Whether the program index for installation and the program index for installation are in separate files, or the program index for installation in the integrated circuit (or supply or distribution medium) and the program index for installation are in separate files and the program index for installation is stored And / or whether to make initial settings, etc. Deletes the means having the function of, deletes the means having the function from which software, the size of the function means in which position the software is incorporated, and executes the built-in deletion Whether the embedded process is performed or the embedded deletion process is performed, whether the initial setting at the start of the process or the selection means is supplied by the supply medium, and the supplied integrated circuit (or supply or distribution medium) built-in index, And / or on the basis of embedded program and / or integrated circuit (or supply or distribution medium) embedded program indicators and / or (selective) operating devices of electronic devices, or (selective) operating devices of computers, or If the computer has a display means, the integrated circuit (or supply) of the computer displayed on the display means Or distribution medium) built-in index and / or integrated circuit (or supply or distribution medium) integrated circuit (or supply or distribution medium) built-in index selected by the program index selection means and / or embedded deletion program and / or Or the integrated circuit (or supply or distribution medium) embedded index and / or the integrated circuit (or supply or distribution medium) embedded program index is changed based on the integrated circuit (or supply or distribution medium) embedded program index; and And / or an integrated circuit (or supply or distribution medium) built-in deletion program is added, changed, and / or deleted,
And / or
When having a supply medium supply means for supplying a supply medium,
(2-1)
(When using the same file as the embedded index and / or embedded program index for the integrated circuit (or supply or distribution medium) embedded index and / or the integrated circuit (or supply or distribution medium) embedded program index)
When software having a function incorporated or not incorporated is supplied by a supply medium, a set integrated circuit (or supply or distribution medium) built-in indicator and / or integrated circuit (or supply or distribution medium) is incorporated. An integrated circuit (or supply) displayed on the display means of the (selection) operating device of the electronic device, or of the (selection) operating device of the computer, or of the computer if the computer has a display means, based on the program index Or distribution medium) built-in index and / or integrated circuit (or supply or distribution medium) integrated circuit (or supply or distribution medium) built-in index and / or integrated circuit (or supply or distribution medium) selected by the program index selection means for incorporation ) Hands with functionality based on embedded program index selection And embedded remove means having a function from the built-in / built in no software in the form of binary,
(2-1-1)
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the integrated circuit (or supply or distribution medium) built-in program index, the built-in deletion program is designated. Compile with a high-level language compiler, and execute the embedded program from the executable in the binary state based on the compiled program for deleting the embedded program, with or without a built-in function means. If the software is written in a high-level language and the high-level language is described in the integrated circuit (or supply or distribution medium) built-in index, the software is stored in the high-level language. Compile with the compiler and remove the built-in based on the built-in removal program The program is incorporated and deleted from a software execution body in which a function having a function in a binary state is incorporated / not incorporated, and the software and the program for removing the software are written in a high-level language, When an integrated circuit (or supply or distribution medium) built-in index and an integrated circuit (or supply or distribution medium) built-in program index indicate which high-level language is included, the built-in deletion program is designated as a compiler for the designated high-level language. Compile the software with the compiler of the designated high-level language, and based on the program for deleting the embedded program compiled from the execution body of the software with or without the means having the compiled function, Built-in deletion program in binary form And built-removed from the running body in,
Or
(2-2)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). (When not storing on device or computer)
When software, a built-in index, a built-in deletion program and / or a built-in index are supplied from a supply medium, based on the built-in index, the built-in deletion program and / or the built-in index, and a (selection) operating device for an electronic device Or a computer (selection) operating device, or if the computer has a display means, a function means is incorporated based on the built-in index displayed on the display means and / or the index selection for the computer / Remove the means that has the function from the software that has not been installed in the binary state,
(2-2-1)
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the built-in program index, the built-in deletion program is compiled with the designated high-level language compiler, Based on the compiled program for removing embedded programs, the embedded program is deleted from the executable program in the binary state based on the compiled program for deleting embedded software with or without means having a function. If it is written in a high-level language and the high-level language is written in the built-in index, the software is compiled with a high-level language compiler, and the built-in removal program is based on the built-in removal program. Incorporated / incorporating means with functionality in binary state Incorporation / deletion from a non-software executable, and the high-level language is also included in the software and the program for deinstallation, and the high-level language is described in the embedding index and the program index for embedding In this case, the embedded deletion program is compiled with the designated high-level language compiler, and the software is compiled with the designated high-level language compiler. Based on the compiled program for deleting embedded programs, the embedded program is deleted from the executable program in the binary state,
Or
(2-3)
(Embedded index and / or embedded program index is integrated with integrated circuit (or supply or distribution medium) Embedded index and / or integrated circuit (or supply or distribution medium). When storing on a device or computer)
In the case of having a supply medium supply means for supplying a supply medium, an embedded index (which embedded program is embedded in which position in which software, whether the software is written in a machine language or in a high-level language, an integrated circuit) (Or supply or distribution medium) the built-in index and the built-in index are in separate files, or the integrated circuit (or supply or distribution medium) built-in index and the built-in index are in separate files and store the built-in index, and / Or which function to delete, such as whether to perform initial setting, which function to delete from which software, and what size the function means has at which position in the software Whether to execute embedded deletion, whether to perform embedded processing, Or whether it depends on the initial setting at the start of processing or by the selection means) and / or embedded program and / or embedded program index (which embedded program is added, changed, and / or deleted, embedded program) Order, whether the embedded program is written in machine language or in any high-level language, whether the integrated circuit (or supply or distribution medium) embedded program index and the embedded program index are separate files, or the integrated circuit (Or supply or distribution medium) The program index for installation and the program index for installation are set as separate files, and the means having the functions such as whether to store the program index for installation and / or whether to perform initial setting are deleted. Which software has which function from which software The size of the function means is embedded in which position in the software, whether to execute the embedded deletion, whether to perform the embedded processing or the embedded deletion processing, initial setting at the start of processing The initial setting is changed by the built-in index and / or the built-in deletion program and / or the built-in program index, and the (selection) operating device of the electronic device. A built-in index displayed on the display means and / or a built-in index selected by the built-in program index selection means, and / or , Embedded deletion program and / or embedded program Based on the mark,
When having a supply medium supply means for supplying a supply medium,
When software with integrated / non-incorporated means having a function is supplied from the supply medium, the electronic device (selection) operating device or the computer (selection) operation device Or, if the computer has display means, means having a function from software in which a means having a function is incorporated / not incorporated based on selection of an incorporated index by a built-in index selection means displayed on the display means of the computer Built-in deletion and / or initial settings are changed in the binary state,
(2-3-1)
And / or
If the built-in deletion program is written in a high-level language and the high-level language is described in the built-in program index, the built-in deletion program is compiled with the designated high-level language compiler, Based on the compiled program for removing embedded programs, the embedded program is deleted from the executable program in the binary state based on the compiled program for deleting embedded software with or without means having a function. If it is written in a high-level language and the high-level language is written in the built-in index, the software is compiled with a high-level language compiler, and the built-in removal program is based on the built-in removal program. Incorporated / incorporating means with functionality in binary state Incorporation / deletion from a non-software executable, and the high-level language is also included in the software and the program for deinstallation, and the high-level language is described in the embedding index and the program index for embedding In this case, the program for embedding deletion is compiled with the designated high-level language compiler, the software is compiled with the designated high-level language compiler, and the software having the compiled function is incorporated / not incorporated. A machine language code embedding system integrated circuit (or supply or distribution medium), wherein the embedded deletion program is embedded and deleted from the execution body in a binary state based on the compiled deletion program from the executable.
JP2009291607A 2008-12-28 2009-12-24 Installer (software distributor) for permitting operation to only one electronic appliance, method for installing operation permission (software distribution method) to only one electronic appliance, and supplied or distributed medium Pending JP2010073218A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009291607A JP2010073218A (en) 2008-12-28 2009-12-24 Installer (software distributor) for permitting operation to only one electronic appliance, method for installing operation permission (software distribution method) to only one electronic appliance, and supplied or distributed medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008335602 2008-12-28
JP2009237806A JP2010157209A (en) 2008-12-28 2009-10-15 Single electronic apparatus unique operation permission installer (software distribution device) and single electronic apparatus unique operation permission installation method (software distribution method), and supply or distribution medium
JP2009291607A JP2010073218A (en) 2008-12-28 2009-12-24 Installer (software distributor) for permitting operation to only one electronic appliance, method for installing operation permission (software distribution method) to only one electronic appliance, and supplied or distributed medium

Publications (1)

Publication Number Publication Date
JP2010073218A true JP2010073218A (en) 2010-04-02

Family

ID=42204870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009291607A Pending JP2010073218A (en) 2008-12-28 2009-12-24 Installer (software distributor) for permitting operation to only one electronic appliance, method for installing operation permission (software distribution method) to only one electronic appliance, and supplied or distributed medium

Country Status (1)

Country Link
JP (1) JP2010073218A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015047779A1 (en) * 2013-09-25 2015-04-02 Intel Corporation Creating secure original equipment manufacturer (oem) identification

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015047779A1 (en) * 2013-09-25 2015-04-02 Intel Corporation Creating secure original equipment manufacturer (oem) identification
US10515196B2 (en) 2013-09-25 2019-12-24 Intel Corporation Creating secure original equipment manufacturer (OEM) identification

Similar Documents

Publication Publication Date Title
US5249275A (en) Apparatus and method enabling a compiled program to exactly recreate its source code
US20080022269A1 (en) Method and Apparatus for Building Executable Computer Programs Using Compiled Program Libraries
Young et al. Design and specification of embedded systems in Java using successive, formal refinement
WO2004003861A1 (en) Process for compiling and executing software applications in a multi-processor environment
KR101292476B1 (en) Software support for dynamically extensible processors
JP3802058B2 (en) System, method and compiler preprocessor for conditionally compiling software compilation units
US6453450B1 (en) Timing diagram compiler and runtime environment for interactive generation of executable test programs for logic verification
Bloem et al. Assume-guarantee synthesis for concurrent reactive programs with partial information
CN101882094A (en) Method and system for making patch by embedded system
JP2010073218A (en) Installer (software distributor) for permitting operation to only one electronic appliance, method for installing operation permission (software distribution method) to only one electronic appliance, and supplied or distributed medium
Brandner et al. Compiler generation from structural architecture descriptions
KR100673313B1 (en) Method for Weaving Code Fragments using Code Fragment Numbering from Programs
US6898555B2 (en) Method for indicating the integrity of use-information of a computer program
JP2006318465A (en) Method for creating unique identification for copying of executable code, and its management
JP2010157209A (en) Single electronic apparatus unique operation permission installer (software distribution device) and single electronic apparatus unique operation permission installation method (software distribution method), and supply or distribution medium
JP2010157209A6 (en) 1 electronic device unique operation permission installer (software distribution device), 1 electronic device unique operation permission installation method (software distribution method) and supply or distribution medium, 1 electronic device unique operation permission software management device and method, and supply or distribution Medium, one electronic device unique operation permission installer management apparatus and method and supply or distribution medium, one electronic device unique operation permission installer generation device and one electronic device unique operation permission installer generation method and supply or distribution medium, one electronic device unique operation permission Software and one electronic device unique operation permission method, one electronic device unique operation permission method and supply or distribution medium, one electronic device unique operation permission software generation device and method, and supply or distribution medium, one electronic device unique operation permission software Made of wear Apparatus and method, and supply or distribution medium, the software production apparatus and method, and supply or distribution medium, as well as machine language code embedding device (electronic device) or system integrated circuits and method and supply or distribution medium
CN103377131A (en) Data processing device and data processing method
Buchwald et al. Compiler optimization: A case for the transformation tool contest
JP2009009537A (en) Method of generating program, information processor and microcomputer
CN108399068A (en) Method, electronic equipment and the storage medium of function program persistence
Baum Towards Generating Customized Run-time Platforms from Generic Components
McDirmid et al. The scala plugin for eclipse
Dunbar et al. Arduino Compilation
CN114490686A (en) Method, device, system and medium for switching multiple data sources
Baker Explicit Language Support Should Be Allowed to Control C++ Template Expansion Operations