CN1065346C - Software protecting method and device - Google Patents

Software protecting method and device Download PDF

Info

Publication number
CN1065346C
CN1065346C CN94117186A CN94117186A CN1065346C CN 1065346 C CN1065346 C CN 1065346C CN 94117186 A CN94117186 A CN 94117186A CN 94117186 A CN94117186 A CN 94117186A CN 1065346 C CN1065346 C CN 1065346C
Authority
CN
China
Prior art keywords
numbers
software
ordered series
program
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN94117186A
Other languages
Chinese (zh)
Other versions
CN1121215A (en
Inventor
徐世斌
沈匡时
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.)
United Microelectronics Corp
Original Assignee
United Microelectronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by United Microelectronics Corp filed Critical United Microelectronics Corp
Priority to CN94117186A priority Critical patent/CN1065346C/en
Publication of CN1121215A publication Critical patent/CN1121215A/en
Application granted granted Critical
Publication of CN1065346C publication Critical patent/CN1065346C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

The present invention relates to a software protection method for a computer system. A software protection device comprises an interface circuit, a decoding device, a number sequence generator and a selecting device. The software protection method comprises the steps that a first group of number sequence signal data are stored in a program software memorizer, one mode is selected by the selecting device from the multiple-signal generating modes of the number sequence signal generator to lead the number sequence signal generator to generate a second group of number sequence signals compared with the first group of number sequence signal data. When a result is consistent with the pre-assigned condition, a central processing unit can normally operate a software program. When the structure does not conform to the pre-assigned condition, the central processing unit is required to stop operating the software program.

Description

Method for protecting software and device
The present invention relates to the method for protecting software and the device of computer program, the Games Software program that is meant the protection electronic game machine especially is to guard against the counterfeit method and apparatus that duplicates.
In today that intellecture property is respected fully, electronic goods prevent that plagiarizing counterfeit is a very important problem.Present widely used electronic game machine system (TV gamesystem) uses fixing and standardized hardware main frame, is equipped with multifarious game software card, by user's hobby, can select various Games Softwares to play.Typical gaming software is stored among the memory integrated circuit card (memory IC catridges), can allow the user change on the hardware main frame of electronic game machine at an easy rate, so that conversion game type and content.
The software program data of electronic game machine is to be stored in the integrated circuit card, carry out by total line retrieval by the hardware main frame of canonical form because be, its contents of program data layout etc. also is the form of fixing, so its games content is easy to be plagiarized by counterfeit infringer and distorts.Because Games Software need drop into lot of manpower and material resources when exploitation; the work that cost is developed for a long time; and the counterfeit duplicator of usurping gives massive duplication after the cost time seldom; peddle at a low price and desire to make money or profit; hit the sale of master Games Software, therefore key subjects in the art promptly are how to protect the software program content to avoid deciphering to plagiarize.
With regard to the protection of program software; aspect electronic game machine; the home computer (FamiCOM) of the Nintendo Co. (Nintendo) of Japan has adopted the device of microprocessor as protection with super home computer (Super FamiCOM), is arranged at respectively in game host and the Cartridge.When system boot, two microprocessors just can relatively be proofreaded mutually, just stop the operation of Games Software if any incongruent situation.But, though the deciphering of this kind method will spend the bigger time,, just can be applied on the Games Software card of other kind as long as once decrypted.
On the other hand, the SEGA game machine computer system of Japan then is to add one section password in the storer of game card, and when system boot, the basic input/output routine of main frame can check whether this section password is correct, and a trade mark can appear, attempt to utilize trade mark to stop the counterfeiter.Though its password is handled through special, decipher and be not easy, light still is not enough to stop the counterfeiter who makes up one's mind and will encroach right with trade mark.
In addition; the PC Engine game machine computer system of the NEC Corporation of Japan then adopts comparatively special manufacture process on the memory integrated circuit in its software program card; the access speed of its storer is faster than general normal memory integrated circuit; so nobody can copy when just releasing; but after a period of time; the memory integrated circuit that reads fast is quite general, so its protective effect has also been lost.
Aspect PC, the protected mode of Games Software, in the scope of Games Software several PC in vogue, to widely used IBM PC, the method for protection software has been exactly variation by early stage apple two types (Apple II).But, the mode of these software protections still can roughly be sorted out as follows.
At first, be stored in Games Software on the floppy disk on disk, to surpass the format mode of usual standard, weak magnetic area for example, " seamless lock " etc. protected, so that disk is not easy to be duplicated by common people.Cost is cheap though this kind method is simple, can't prevent the imitated bootlegger's of specialty copy right piracy.On the other hand, the practice that this kind juggled things on disk has the disc driver compatibility issue, and disk is easy to damage, and makes slack-off etc. the spinoff of whole speed owing to the operation of software can need to retrieve floppy disk.
Secondly, also the someone uses the hardware interface card of what is called " pintle hook lock " (" key card ") in the art, is inserted in the system extension groove such as IBM PC computer, to carry out the protection of software program.The advantage of this kind pintle hook lock is that it duplicates and is not easy, and the speed of operation is also fast, is unlikely to because of adding pintle hook lock the carrying out of software program slowly to be got off.Its shortcoming then is, in the computer of IBM PC one class, the device of this kind pintle hook lock must be opened the shell of system host just and can carry out, and it installs inconvenient.In addition, compatible problem also may take place in this kind pintle hook lock between the main frame of different labels.And, also can't use the device of this kind interface cassette such as the computer of notebook type.
Other has a kind of mode, and similar protection lock " KeyPro " device of a kind of and aforementioned pintle hook lock is arranged in the environment of IBM PC, is inserted on the parallel port of system, carries out the program software defencive function similar to aforementioned pintle hook lock.Common KeyPro type protective device includes the T-Lock of Trend Technology Corp., the HASP of Aladdin Security company, the Sentinel of Rainbow Technologies company etc. in the present widely used technology.Therefore this type of KeyPro installs easily owing to be on the parallel port of the system of being installed on, and does not also take parallel port, therefore is a kind of convenience and actual protection hardware mode.But, because KeyPro still can increase the cost of hardware aspect, with regard to the Games Software program of general low price,, therefore also inapplicable because its cost ratio is higher.This kind KeyPro generally only sees the high professional software of price, among the scope such as softwares such as CAD/CAM.
Therefore keycard and KeyPro belong to effectively software program protected mode; it duplicates need higher professional knowledge, thereby is not easy, and with regard to Games Software; because the game card slot of electronic game machine is exposed to outer, therefore there is no the problem that difficulty is installed.
Though KeyPro belongs to comparatively effectively software program protective device, because the ultimate principle of its protection software is to utilize the code data that is stored among the KeyPro to carry out the protection of software program.The Games Software program before carrying out, system must check among the KeyPro password whether with software program in part meet.If the result who checks meets, the just normal executive routine of system, if do not meet, the execution of software program just is terminated.But, to make what be used for stored password be the read-only storage integrated circuit of an electro erasible programmable preface (EEPROM IC) that is arranged in the KeyPro to KeyPro.Because the integrated circuit that the electro erasible programmable preface read-only memory integrated circuit of formula mostly is canonical form is read in this serial, therefore to duplicate not difficulty especially.
Among software program prevents counterfeit pirate protection, particularly the present technique territory of the Console Game software program of a large amount of circulations of protection, the guard method that really can't not crack.A basic difference between all protected modes just cracks the complexity of protection, cracks the morning and evening of time, cracks the cost size issue that spends.Therefore the main points of software program protection by another angle, are to make to crack required cost cost increasing, and this has comprised the lengthening of the time of cracking, and imitated cost is increased, and so just can reach the counterfeiter is stepped back, and has reduced pirate target.
Therefore; an object of the present invention is to provide a kind of method for protecting software and device of computer program; particularly the Games Software programmed protection of electronic game machine prevents the counterfeit method and apparatus that duplicates; can utilize the mode of multiple intersection comparison to check whether the software protecting equipment that is comprised among the Games Software program card is intrinsic software protecting equipment, and with the foundation of comparative result as the execution of Games Software program.
According to a first aspect of the invention, a kind of software protecting equipment of computer system is provided, be in the computer system that includes central processing unit, computer logical circuit, program software storer, this software protecting equipment includes interface circuit and decoding device, the ordered series of numbers signal generation apparatus, and, described interface circuit and decoding device are connected in this computer system, described ordered series of numbers signal generation apparatus is connected in described interface circuit and decoding device, and described selecting arrangement is connected on this ordered series of numbers signal generation apparatus and with described interface circuit and decoding device and links to each other; Described selecting arrangement is register or the storer that comprises EPROM (Erasable Programmable Read Only Memory EPROM), EEPROM (electrically erasable programmable ROM), or pressure welding selects (bonding option), metal wire to select (metal option), sign indicating number to implant the programmable device of programming modes such as (codeimplant); Described interface circuit and decoding device receive the address signal and the control signal of this computer system, and under the control of this computer system with this computer system exchange data signals; Described selecting arrangement is used for selecting the occurring mode of ordered series of numbers signal generation apparatus; Described ordered series of numbers signal generation apparatus can be accepted the selection signal of this selecting arrangement, and the time pulse signal of this interface circuit and decoding device and produce the ordered series of numbers signal data of a series, and can accept the signalization of this interface circuit and decoding device and be set to a predetermined state.
According to a second aspect of the invention, a kind of method of protecting software is provided, this method adopts the software protecting equipment as the described computer system of first aspect present invention, whether utilization is read ordered series of numbers that the ordered series of numbers generator in this protective device produced and is differentiated hardware and exist, and with this as the foundation that software carries out, the step that described aspect comprises has: (a) comprise the ordered series of numbers data that will check in program; (b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up; Whether (c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, check and coincide with the ordered series of numbers data that leave in the program, with the foundation of carrying out as software.
According to a third aspect of the present invention, a kind of method of protecting software is provided, this method adopts the software protecting equipment as the described computer system of first aspect present invention, whether utilization is read ordered series of numbers that the ordered series of numbers generator in this protective device produced and is differentiated hardware and exist, and with this foundation as running software, the step that described aspect comprises has: (a) comprise one section procedure code in program, in order to produce the ordered series of numbers data; (b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up; (c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, whether checks that the ordered series of numbers data that produced with program coincide, with the foundation as running software.
According to a fourth aspect of the present invention, a kind of method of protecting software is provided, this method adopts the software protecting equipment as the described computer system of first aspect present invention, whether utilization is read the ordered series of numbers that the ordered series of numbers generator produced and is existed for differentiating hardware, and with this foundation as running software, the step that described aspect comprises has: (a) comprise the calculation process of one section procedure code in order to one group of ordered series of numbers data is scheduled in program; (b) in program, comprise one piece of data, as the ratio of this operation result than usefulness; (c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up; (d) central processing unit reads the row operation of going forward side by side of ordered series of numbers that the ordered series of numbers generating means produces under programmed control, and whether the result who reexamines computing coincide with the result that program is estimated, with the foundation as running software.
According to a fifth aspect of the present invention, a kind of method of protecting software is provided, this method adopts the software protecting equipment as the described computer system of first aspect present invention, whether utilization is read the ordered series of numbers that the ordered series of numbers generator produced and is existed for differentiating hardware, and with this foundation as running software, the step that described aspect comprises has: the procedure code or the data that (a) comprise one section encryption in program; (b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up; (c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, so that the procedure code that will encrypt or data are deciphered, thereby can utilize data after the deciphering, and confession is the usefulness of reader operation afterwards, perhaps can move the procedure code after the deciphering.
According to a sixth aspect of the invention, a kind of method of protecting software is provided, this method adopts the software protecting equipment as the described computer system of first aspect present invention, whether utilization is read ordered series of numbers that the ordered series of numbers generator produced and is differentiated hardware and exist, and with this foundation as running software, the step that described aspect comprises has: (a) comprise one section procedure code in program, so that calculate the frequency that a certain predetermined number occurs in one group of ordered series of numbers data; (b) in program, comprise one piece of data, compare than usefulness as default result; (c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up; (d) central processing unit reads the ordered series of numbers that generating means produces and calculates the frequency that a certain predetermined number occurs under programmed control, reexamines consequently not the result who estimates with program and coincide, as the foundation of running software.
According to a seventh aspect of the present invention, a kind of method of protecting software is provided, this method adopts the software protecting equipment as first described computer system in aspect of the present invention, whether utilization is read ordered series of numbers that the ordered series of numbers generator produced and is differentiated hardware and exist, and with this foundation as running software, whether the step that described aspect comprises has: (a) comprise one section procedure code in program, occur so that calculate some predetermined number, or whether some ordered series of numbers string occurs; (b) the ordered series of numbers generating means is arranged to a predetermined state and carries out initial setting up; (c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, when some default numeral or some ordered series of numbers string occur, and promptly corresponding some intended function of operation.
According to an eighth aspect of the present invention, a kind of method of protecting software is provided, this method adopts the software protecting equipment as first described computer system in aspect of the present invention, whether utilization is read ordered series of numbers that the ordered series of numbers generator in this protective device produced and is differentiated hardware and exist, and with this foundation as running software, the step that described aspect comprises has: (a) comprise one section procedure code in program, so that calculate the interval that a certain predetermined number occurs in one group of ordered series of numbers data; (b) in program, comprise one piece of data, as default result for than than usefulness; (c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up; Whether (d) central processing unit reads the ordered series of numbers of ordered series of numbers generating means generation and calculates the interval that a certain predetermined number occurs under programmed control, reexamine it and occur coincideing with the default result of program at interval, with this foundation as running software.
Other purpose of the present invention and characteristics are elaborated conjunction with figs. in the back.Among the accompanying drawing:
Fig. 1 is a kind of circuit box synoptic diagram of typical electronic game machine computer system;
Fig. 2 is the circuit box synoptic diagram of software protecting equipment one preferred embodiment of the present invention;
Fig. 3 is the circuit diagram of ordered series of numbers generator in software protecting equipment one preferred embodiment of the present invention;
Two groups of list of random numbers that Fig. 4 and Fig. 5 are produced for the ordered series of numbers generator among Fig. 3 for example.
Below just preferred embodiment of the present invention illustrated.
Though content of the present invention goes for other for example in all software application fields that need protection such as CAD (computer aided design) equally, method for protecting software of the present invention and device will be that example describes with the electronic game machine system.
At first with reference to the circuit box synoptic diagram of typical TV game machine system shown among the figure 1.A typical electronic game machine system can be divided into two main portions, that is the game host 10 of operating software games, and the Games Software card 30 of stores games software.The typical structure of game host 10 has mainly comprised central processor CPU 14, video processor 12, audio process 16, storer 18, and TV signal synthesizer 19.On the other hand, 30 on Games Software card includes the storer 32 of store software programs usually, and the software protecting equipment 34 that some system has, some system does not have.
Fig. 2 is the circuit box synoptic diagram of a preferred embodiment of the present invention.The software protecting equipment 34 of this embodiment of the present invention; when device among a Games Software card (for example 30 of Fig. 1); when being stored in the protective device of the software code in the storer (for example 32 of Fig. 1); receive the address 20 that the computer game system is sent; data 22 and control signal 24 are so that the defencive function of software program for execution sign indicating number.Utilize this frame game software to check the ordered series of numbers signal that it produces, and check result is used as the reference of Games Software operation.
This example structure composition of the present invention includes a number column signal generating means 52, can produce a number column signal under the triggering of each time pulse; A selecting arrangement 54 is in order to the producing method of selected ordered series of numbers signal; And an interface circuit 50, provide with main system between be connected.
Among these element, selecting arrangement 54 can be a register, or other memory storage, such as erasable programmable read only memory or electro erasible programmable preface ROM (read-only memory) etc., perhaps other known application selects (bonding option), metal wire to select (metal option), sign indicating number implantation (code implant) etc. in the programmable mode of integrated circuit such as pressure welding.Decoding device, data buffer and other device have then been comprised among the interface circuit 50.
The circuit diagram that shows ordered series of numbers generator in a preferred embodiment of the present invention among Fig. 3.This ordered series of numbers generator 52 is one 5 a random number generator, and wherein five D flip-flops 76,78,80,82 and 84 are connected in series successively, that is, the output Q of first trigger 76 is connected to the input D of next trigger 78.The time clock input CK of five all triggers and input are provided with S and couple together jointly respectively, and are driven with the SET65 signal by CK 64 respectively.Trigger 80 and 82 output are connected to the input of an exclusive or logic gate (XORgate) 74, and trigger 82 and 84 output then are connected to the input of another exclusive or logic gate 72.Among two exclusive or logic gates 72 and 74 the output one via a traffic pilot 70, under the control of selecting arrangement 54, is fed back to the D input of first trigger 76.
Signalization SET 65 can utilize the S input setting to all five triggers to apply a positive signal, and the initial value of random number generator 52 is set at 11111, and utilizes clock pulse signal CK 64 to trigger, and makes it to produce next numerical value.This random number generator 52 can be worked with one of two kinds of patterns under the control of selecting arrangement 54.One of them is selected Q3 and the result of Q4 as XOR, and another pattern is then selected Q2 and the Q3 result as XOR.
Fig. 4 and Fig. 5 are for having listed the tabulation of the random number of two kinds of patterns that ordered series of numbers generator 52 of the present invention is produced among Fig. 3 respectively.
Therefore the present invention just can utilize and comprise one section program with inspection effect among the Games Software program, utilizes and reads the ordered series of numbers that ordered series of numbers generator 52 is produced, and compare to judge whether the specific hardware logical circuit exists after the particular procedure in addition again.Afterwards, determine according to the result who judges again whether the Games Software program should continue to carry out.
For example, method for protecting software of the present invention may include following steps.At first, the ordered series of numbers data that to check comparison among the Games Software program, have been comprised, secondly, the original state of ordered series of numbers generator 52 is set at a kind of known definite state, then read ordered series of numbers generator 52 according to the given ordered series of numbers that original state generated, the last ordered series of numbers data of again ordered series of numbers that read and front being deposited among the software program are compared, check whether coincide, its concrete steps include following several: 1. (a) comprises the ordered series of numbers data that will check in program;
(b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
Whether (c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, check and coincide with the ordered series of numbers data that leave in the program, with the foundation of carrying out as software.
Wherein, this identical condition can be: the ordered series of numbers that is read is if the identical ordered series of numbers data that leave in the program of part are promptly judged this identical condition that meets.If do not meet this identical condition, even software is out of service or make software error move.2. (a) comprises one section procedure code in program, in order to produce the ordered series of numbers data;
(b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
(c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, whether checks that the ordered series of numbers data that produced with program coincide, with the foundation as running software.
The condition of wherein should coincideing can be: the ordered series of numbers that is read is if the ordered series of numbers data that the part anastomosis procedure is produced are promptly judged this identical condition that meets.If do not meet this identical condition, even software is out of service or make software error move.3. (a) comprises the calculation process of one section procedure code in order to one group of ordered series of numbers data is scheduled in program;
(b) in program, comprise one piece of data, as the ratio of this operation result than usefulness;
(c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up; With
(d) central processing unit reads the row operation of going forward side by side of ordered series of numbers that the ordered series of numbers generating means produces under programmed control, and whether the result who reexamines computing coincide with the result that program is estimated, with the foundation as running software.
The condition of wherein should coincideing can be:
The result of institute's computing promptly judges this identical condition that meets if belong in a certain preset range.
Or:
The result of institute's computing promptly judges this identical condition that meets if having a certain predetermined characteristic.
Wherein this predetermined characteristic can be odd number or even number.
If do not meet this identical condition, even software is out of service or make software error move.4. (a) comprises one section procedure code in program, so that calculate the frequency that a certain predetermined number occurs in one group of ordered series of numbers data;
(b) in program, comprise one piece of data, compare than usefulness as default result;
(c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
(d) central processing unit reads the ordered series of numbers that generating means produces and calculates the frequency that a certain predetermined number occurs under programmed control, reexamines consequently not the result who estimates with program and coincide, as the foundation of running software.
The condition of wherein should coincideing can be:
The frequency resultant of being calculated is promptly judged this identical condition that meets if belong in a certain preset range.
Or:
The frequency resultant of being calculated is promptly judged this identical condition that meets if having a certain predetermined characteristic.
Wherein this predetermined characteristic can be odd number or even number.
If do not meet this identical condition, even software is out of service or make software error move.5. (a) comprises one section procedure code in program, so that calculate the interval that a certain predetermined number occurs in one group of ordered series of numbers data;
(b) in program, comprise one piece of data, as default result for than than usefulness;
(c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
Whether (d) central processing unit reads the ordered series of numbers of ordered series of numbers generating means generation and calculates the interval that a certain predetermined number occurs under programmed control, reexamine it and occur coincideing with the default result of program at interval, with this foundation as running software.
The condition of wherein should coincideing can be:
This appearance is promptly judged this identical condition that meets at interval if belong in a certain preset range.
Or:
This appearance is promptly judged this identical condition that meets at interval if having a certain predetermined characteristic.
Wherein this predetermined characteristic can be odd number or even number.
If do not meet this identical condition, even software is out of service or make software error move.6. (a) comprises the procedure code or the data of one section encryption in program;
(b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
(c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, so that the procedure code that will encrypt or data are deciphered, thereby can utilize data after the deciphering, the usefulness of confession down-stream operation; Perhaps can move the procedure code after the deciphering.7. whether (a) comprises one section procedure code in program, occur so that calculate some predetermined number, or whether some ordered series of numbers string occurs;
(b) the ordered series of numbers generating means is arranged to a predetermined state and carries out initial setting up;
(c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, when some default numeral or some ordered series of numbers string occur, and promptly corresponding some intended function of operation.
Wherein the performed function of step can be the instruction of central processing unit inside, includes instructions such as ADD, SUB, XOP or JUMP, maybe can be one section predetermined subroutine of operation.
Above-mentioned plurality of step, if result relatively coincide, expression software protecting equipment 34 is not changed, and is the software protecting equipment 34 of master, software promptly can normally bring into operation.
If result relatively also misfits; represent that then software protecting equipment 34 has changed; comprised that storer 32 and software protecting equipment 34 whole Games Software cards 30 have been changed most probably; or even the Games Software card 30 of software protecting equipment 34 of the present invention is not installed; Games Software is promptly out of service, so just reaches the purpose of Games Software programmed protection.

Claims (26)

1. a kind of software protecting equipment of computer system is in and includes central processing unit, the computer logical circuit; in the computer system of program software storer, this software protecting equipment includes interface circuit and decoding device, the ordered series of numbers signal generation apparatus; and selecting arrangement
Described interface circuit and decoding device are connected in this computer system, and described ordered series of numbers signal generation apparatus is connected in described interface circuit and decoding device, and described selecting arrangement is connected on this ordered series of numbers signal generation apparatus and with described interface circuit and decoding device and links to each other,
Described selecting arrangement is register or the storer that comprises EPROM (Erasable Programmable Read Only Memory EPROM), EEPROM (electrically erasable programmable ROM), or pressure welding selects (bonding option), metal wire to select (metal option), sign indicating number to implant the programmable device of programming modes such as (codeimplant), and described selecting arrangement is used for selecting the occurring mode of ordered series of numbers signal generation apparatus;
Described interface circuit and decoding device receive the address signal and the control signal of this computer system, and under the control of this computer system with this computer system exchange data signals;
Described ordered series of numbers signal generation apparatus, can accept the selection signal of this selecting arrangement, and the time pulse signal of this interface circuit and decoding device and produce the ordered series of numbers signal data of a series, and can accept the signalization of this interface circuit and decoding device and be set to a predetermined state.
2. software protecting equipment as claimed in claim 1, wherein this interface circuit can include decoding device and impact damper for the usefulness that is connected with main system.
3. method of protecting software; this method adopts the software protecting equipment of computer system as claimed in claim 1; whether utilization is read ordered series of numbers that the ordered series of numbers generator in this protective device produced and is differentiated hardware and exist, and with this foundation of carrying out as software, its step includes:
(a) in program, comprise the ordered series of numbers data that to check;
(b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
Whether (c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, check and coincide with the ordered series of numbers data that leave in the program, with the foundation of carrying out as software.
4. as the method for protection software as described in the claim 3, the condition of wherein should coincideing can be: the ordered series of numbers that is read leaves ordered series of numbers data in the program in if part is coincide, and promptly judges this identical condition that meets.
5. as the method for protection software as described in claim 3 or 4, wherein the ordered series of numbers that is read is not if meet this identical condition, even software is out of service or make the software error operation.
6. method of protecting software; this method adopts the software protecting equipment of computer system as claimed in claim 1; whether utilization is read ordered series of numbers that the ordered series of numbers generator in this protective device produced and is differentiated hardware and exist, and with this foundation as running software, its step includes:
(a) in program, comprise one section procedure code, in order to produce the ordered series of numbers data;
(b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
(c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, whether checks that the ordered series of numbers data that produced with program coincide, with the foundation as running software.
7. as the method for protection software as described in the claim 6, the condition of wherein should coincideing can be: the ordered series of numbers that is read is if the ordered series of numbers data that the part anastomosis procedure is produced are promptly judged this identical condition that meets.
8. as the method for protection software as described in claim 6 or 7, wherein the ordered series of numbers that is read is not if meet this identical condition, even software is out of service or make the software error operation.
9. method of protecting software; this method adopts the software protecting equipment of computer system as claimed in claim 1; whether utilization is read the ordered series of numbers that the ordered series of numbers generator produced and is existed for differentiating hardware, and with this foundation as running software, its step includes:
(a) in program, comprise the calculation process of one section procedure code in order to one group of ordered series of numbers data is scheduled to;
(b) in program, comprise one piece of data, as the ratio of this operation result than usefulness;
(c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
(d) central processing unit reads the row operation of going forward side by side of ordered series of numbers that the ordered series of numbers generating means produces under programmed control, and whether the result who reexamines computing coincide with the result that program is estimated, with the foundation as running software.
10. as the method for protection software as described in the claim 9, the condition of wherein should coincideing can be: the result of institute's computing promptly judges this identical condition that meets if belong in a certain preset range.
11. as the method for protection software as described in the claim 9, the condition of wherein should coincideing can be: the result of institute's computing promptly judges this identical condition that meets if having a certain predetermined characteristic.
12. as the method for protection software as described in the claim 11, wherein this predetermined characteristic can be odd number or even number.
13. as the method for protection software as described in claim 9 or 10 or 11 or 12, wherein the result of institute's computing is not if meet this identical condition, even software is out of service or make the software error operation.
14. method of protecting software; this method adopts the software protecting equipment of computer system as claimed in claim 1; whether utilization is read the ordered series of numbers that the ordered series of numbers generator produced and is existed for differentiating hardware, and with this foundation as running software, its step includes:
(a) in program, comprise the procedure code or the data of one section encryption;
(b) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
(c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, so that the procedure code that will encrypt or data are deciphered, thereby can utilize data after the deciphering, and confession is the usefulness of reader operation afterwards, perhaps can move the procedure code after the deciphering.
15. method of protecting software; this method adopts the software protecting equipment of computer system as claimed in claim 1; whether utilization is read ordered series of numbers that the ordered series of numbers generator produced and is differentiated hardware and exist, and with this foundation as running software, its step includes:
(a) in program, comprise one section procedure code, so that calculate the frequency that a certain predetermined number occurs in one group of ordered series of numbers data;
(b) in program, comprise one piece of data, compare than usefulness as default result;
(c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
(d) central processing unit reads the ordered series of numbers that generating means produces and calculates the frequency that a certain predetermined number occurs under programmed control, reexamines consequently not the result who estimates with program and coincide, as the foundation of running software.
16. as the method for protection software as described in the claim 15, the condition of wherein should coincideing can be: the frequency resultant of being calculated is promptly judged this identical condition that meets if belong in a certain preset range.
17. as the method for protection software as described in the claim 15, the condition of wherein should coincideing can be: the frequency resultant of being calculated is promptly judged this identical condition that meets if having a certain predetermined characteristic.
18. as the method for protection software as described in the claim 17, wherein this predetermined characteristic can be odd number or even number.
19. as the method for protection software as described in claim 15 or 16 or 17 or 18, wherein the frequency resultant of being calculated is not if meet this identical condition, even software is out of service or make the software error operation.
20. method of protecting software; this method adopts the software protecting equipment of computer system as claimed in claim 1; whether utilization is read ordered series of numbers that the ordered series of numbers generator produced and is differentiated hardware and exist, and with this foundation as running software, its step includes:
(a) in program, comprise one section procedure code, whether occur, or whether some ordered series of numbers string occurs so that calculate some predetermined number;
(b) the ordered series of numbers generating means is arranged to a predetermined state and carries out initial setting up;
(c) central processing unit reads the ordered series of numbers that the ordered series of numbers generating means produces under programmed control, when some default numeral or some ordered series of numbers string occur, and promptly corresponding some intended function of operation.
21. as the method for software protection as described in the claim 20, wherein the performed function of step (c) can be the instruction of central processing unit inside, includes instructions such as ADD, SUB, XOR or JUMP, maybe can be one section predetermined subroutine of operation.
22. method of protecting software; this method adopts the software protecting equipment of computer system as claimed in claim 1; whether utilization is read ordered series of numbers that the ordered series of numbers generator in this protective device produced and is differentiated hardware and exist, and with this foundation as running software, its step includes:
(a) in program, comprise one section procedure code, so that calculate the interval that a certain predetermined number occurs in one group of ordered series of numbers data;
(b) in program, comprise one piece of data, as default result for than than usefulness;
(c) the ordered series of numbers generating means is set to a predetermined state and carries out initial setting up;
Whether (d) central processing unit reads the ordered series of numbers of ordered series of numbers generating means generation and calculates the interval that a certain predetermined number occurs under programmed control, reexamine it and occur coincideing with the default result of program at interval, with this foundation as running software.
23. as the method for protection software as described in the claim 22, the condition of wherein should coincideing can be: the appearance of this predetermined number is promptly judged this identical condition that meets at interval if belong in a certain preset range.
24. as the method for protection software as described in the claim 22, the condition of wherein should coincideing can be: the appearance of this predetermined number is promptly judged this identical condition that meets at interval if having a certain predetermined characteristic.
25. as the method for protection software as described in the claim 24, wherein this predetermined characteristic can be odd number or even number.
26. as the method for protection software as described in claim 22 or 23 or 24 or 25, wherein the appearance of this predetermined number is not at interval if meet this identical condition, even software is out of service or make the software error operation.
CN94117186A 1994-10-20 1994-10-20 Software protecting method and device Expired - Lifetime CN1065346C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN94117186A CN1065346C (en) 1994-10-20 1994-10-20 Software protecting method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN94117186A CN1065346C (en) 1994-10-20 1994-10-20 Software protecting method and device

Publications (2)

Publication Number Publication Date
CN1121215A CN1121215A (en) 1996-04-24
CN1065346C true CN1065346C (en) 2001-05-02

Family

ID=5038230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94117186A Expired - Lifetime CN1065346C (en) 1994-10-20 1994-10-20 Software protecting method and device

Country Status (1)

Country Link
CN (1) CN1065346C (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300697C (en) * 2003-09-15 2007-02-14 英业达股份有限公司 Software pretection method and system
DE102015210539A1 (en) * 2015-06-09 2016-12-15 Robert Bosch Gmbh Memory protection unit, memory management unit and microcontroller
CN106951746B (en) * 2017-04-25 2020-01-21 厦门芯阳科技股份有限公司 Method and system for preventing reverse cracking of temperature control program
EP3944103A4 (en) * 2019-04-16 2022-04-06 Huawei Technologies Co., Ltd. Method for operational check of software program, electronic device and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609697A (en) * 1968-10-21 1971-09-28 Ibm Program security device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609697A (en) * 1968-10-21 1971-09-28 Ibm Program security device

Also Published As

Publication number Publication date
CN1121215A (en) 1996-04-24

Similar Documents

Publication Publication Date Title
US9659157B2 (en) Systems and methods for watermarking software and other media
US7243340B2 (en) Method and system for obfuscation of computer program execution flow to increase computer program security
CN1097772C (en) Method and apparatus for protecting application data in secure storage areas
US7979720B2 (en) Data security for digital data storage
CN1140880C (en) Secure memory having anti-wire tapping
US7346780B2 (en) Integrity ordainment and ascertainment of computer-executable instructions
US7861094B2 (en) Data security for digital data storage
US7395433B2 (en) Method and system for sustainable digital watermarking
US20060109768A1 (en) Electronic information table and method of creating same
CN1745377A (en) System and method for authenticating software using hidden intermediate keys
EP2264640B1 (en) Feature specific keys for executable code
CN1527208A (en) Method and device for realizing computer safety and enciphering based on identity confirmation
US20060212649A1 (en) License table for software protection
CN1969500A (en) Securing software
AU2004200683B2 (en) System for binding secrets to a computer system having tolerance for hardware changes
CN1065346C (en) Software protecting method and device
CN1398401A (en) Computer-readable medium with microprocessor to control reading and computer arranged to communicate with such method
Nie et al. Performance evaluation for watermarking techniques
CN117592132A (en) Encryption scheme of digital microfluidic chip based on AND-OR fluid gate biological assay
CN101430750A (en) Protection for TV game software technique system and method thereof

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20141020

Granted publication date: 20010502