Method and apparatus to protect computer software
First Claim
1. An apparatus for protecting software in a program-controlled object such as a video game, said object having a main part with a controlling means, and a replaceable part with a memory means storing said software, a part of said software being coded in the form of an execution program and an inspection program, said replaceable part comprising a generating device and a selection means controlled from said controlling means, for generating specific data in a mode of a plurality of modes preselected by said selecting means, said data being used by said inspection program to verify the existence of an authorized hardware and give an authorization for performing said execution program.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus for protecting a software in a program-controlled object such as a video game having a main part with a controlling means and a peripheral equipment; and a replaceable part with a software comprising an execution program. The apparatus comprises a data generator located on the replaceable part for producing a specific data; a selection means located on the replaceable part and controlled from the main part, for selecting a mode of generation of the specific data; and an interface circuit for connecting the data generator and the selection means to the main part.
A method for protection a software running a video game or other program-controlled object resides in providing an inspection program with a predetermined data in the software, initializing generating a specific data, reading the specific data and cooperating the specific data with the predetermined data. The positive result of the cooperation that can be a comparison, a calculation, a decoding, etc. is used to verify the existence of an authorized hardware and give an authorization for performing the execution program running the object.
151 Citations
10 Claims
- 1. An apparatus for protecting software in a program-controlled object such as a video game, said object having a main part with a controlling means, and a replaceable part with a memory means storing said software, a part of said software being coded in the form of an execution program and an inspection program, said replaceable part comprising a generating device and a selection means controlled from said controlling means, for generating specific data in a mode of a plurality of modes preselected by said selecting means, said data being used by said inspection program to verify the existence of an authorized hardware and give an authorization for performing said execution program.
-
6. A program-controlled system, comprising:
-
a main part including; a central processing unit and peripheral equipment controlled from said central processing unit, and a replaceable part including; a memory unit, said memory unit storing software, said software including an execution program and an inspection program, said inspection program comprising a code block and a data block, said data block being an anticipated result of a predetermined calculation, and a software protecting device, said software protecting device comprising a data generator, said data generator being controlled from said central processing unit and generating a sequence of numbers to undergo said predetermined calculation under control of said central processing unit and said code block, a result of said calculation being matched with said anticipated result, the positive result of said matching being used to authorize performing of said execution program. - View Dependent Claims (8)
-
-
7. A method for protecting software controlling a program-controlled object such as a video game, said object comprising a main part and a replaceable part including at least a memory means for storing software including an execution program, and a data generating means, said method comprising the steps of:
-
a) providing an inspection program in said software, said inspection program including a programming code for a calculation of a interval between appearances of a number in a numerical sequence, and predetermined data as a predicted range for results of said calculation; b) initializing said data generating means to produce said numerical sequence; c) reading said numerical sequence; d) executing said calculation over said numerical sequence under control of said programming code to obtain said interval, and e) ascertaining whether a result of said calculation falls into said predicted range, to authorize performing said execution program of said software running said object.
-
-
9. A method for protecting software controlling a program-controlled object such as a video game, said object comprising a main part and a replaceable part including at least a memory means for storing software including an execution program, and a data generating means, said method comprising the steps of:
-
a) providing an inspection program in said software, said inspection program including a programming code; b) initializing said data generating means to produce a numerical sequence; c) reading said numerical sequence under control of said programming code for ascertaining appearance of certain numbers in said numerical sequence; and d) using said certain numbers for executing predetermined functions in said execution program. - View Dependent Claims (10)
-
Specification