IP Library Granted Patent US 7,458,100
Granted Patent B2
US 7,458,100 · App. 10/756,896 · Granted Nov 25, 2008

Adding copy protection to a computer program

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,458,100
App. No.
10/756,896
Granted
Nov 25, 2008
Kind
B2
Abstract

A method of adding a copy protection function to a program to be installed on a computer system comprising a copy protection unit is provided, said method comprising the steps of determining a decision section of the program, wherein information influencing the further course of the program is defined during execution of the program, as a function of the current running state of the program, and converting the decision section by means of code which is executable exclusively in the copy protection unit and which is executed in the copy protection unit during execution of the program.

Claims (34)

1. A method of copy protecting a program to be installed on a computer system, said computer system including a computing section and a copy protection unit, said method comprising:

determining a decision section of the program, which decision section, during execution of the program as a function of a current running state of the program, defines information influencing further course of the program; and

converting the decision section of the program to produce a copy-protected version of the program, wherein converting comprises:

providing code in the copy-protected version of the program, wherein said code is executable exclusively in the copy protection unit and exclusively during execution of the copy-protected version of the program in the computing section, and wherein said code includes data and a processing regulation applicable to the data for execution of the decision section of the program; and

providing a program instruction in the copy-protected version of the program, the program instruction being configured such that, during execution of the copy-protected version of the program in the computing section, the copy protection unit is called and the code is transferred to the copy protection unit for execution therein.

2. The method as claimed in claim 1 , wherein said code effects a comparison of two data values and a definition of the information as a function of a result of said comparison when the code is executed.

3. The method as claimed in claim 1 , wherein said information comprises a program address at which execution of the program is resumed.

4. The method as claimed in claim 1 , wherein the data and the processing regulation are encoded and are transferred to the copy protection unit in encoded form.

5. The method as claimed in claim 1 , wherein the code in the copy protection unit is executed in a protected area of the computer system, wherein the protected area is closed to the rest of the computer system.

6. The method as claimed in claim 1 , wherein determining a decision section of the program further comprises determining the decision section according to an instruction sequence of the decision section in the program.

7. The method as claimed in claim 1 , further comprising repeating the determining a decision section of the program and converting the decision section to determine and convert a plurality of decision sections, wherein if two similar decision sections are determined, the similar decision sections are converted by different codes in the converting.

8. A system for adding copy protection to a program to be installed on a computer system that includes a computing section and a copy protection unit, the system comprising:

a computing device programmed to determine a decision section of the program, which decision section, during execution of the program as a function of a current running state of the program, defines information influencing further course of the program; and

wherein the computing device is further programmed to produce a copy-protected version of the program, the computer device being configured to convert the decision section of the program into a program instruction portion and a code portion of the copy-protected version of the program;

wherein the code portion is executable exclusively in the copy protection unit and exclusively during execution of the copy-protected version of the program in the computing section, and wherein the code includes data and a processing regulation applicable to the data for execution of the decision section of the program; and

wherein the program instruction portion is configured such that, during execution of the copy-protected version of the program in the computing section, the copy protection unit is called and the code is transferred to the copy protection unit for execution therein.

9. The system as claimed in claim 8 , wherein said code effects a comparison of two data values and a definition of the information as a function of a result of said comparison.

10. The system as claimed in claim 8 , wherein said information comprises a program address at which execution of the program is resumed.

11. The system as claimed in claim 8 , wherein the data and the processing regulation are encoded and are transferred to the copy protection unit in encoded form.

12. The system as claimed in claim 8 , wherein the code in the copy protection unit is executed in a protected area of the computer system, wherein the protected area is closed to the rest of the computer system.

13. The system as claimed in claim 8 , wherein the decision section is determined according to an instruction sequence of the decision section in the program.

14. The system as claimed in claim 8 , wherein a plurality of decision sections are determined and converted, and wherein if two similar decision sections are determined, the similar decision sections are converted by different codes.

15. A computer-readable storage medium comprising a program for adding copy protection to a preexisting program to be installed on a computer system that includes a computing section and a copy protection process, said computer program comprising:

a determining section that, when executed on a computing device, causes the computing device to determines a decision section of the preexisting program, which decision section, during execution of the preexisting program as a function of a current running state thereof, defines information influencing further course of the preexisting program; and

a converting section that, when executed on the computing device, causes the computing device to produce a copy-protected version of the preexisting program, the converting section being configured to cause the computing device to convert the decision section into a program instruction portion and a code portion of the copy-protected version of the program;

wherein the code portion is executable exclusively in the copy protection process and exclusively during execution of the copy-protected version of the preexisting program in the computing section, and wherein the code includes data and a processing regulation applicable to the data for execution of the decision section of the preexisting program; and

wherein the program instruction portion is configured such that, during execution of the copy-protected version of the preexisting program in the computing section, the copy protection process is called and the code is transferred to the copy protection process for execution therein.

16. The computer-readable storage medium as claimed in claim 15 , wherein said code effects a comparison of two data values and a definition of the information as a function of a result of said comparison.

17. The computer-readable storage medium as claimed in claim 15 , wherein said information comprises a preexisting program address as which execution of the preexisting program is resumed.

18. The computer-readable storage medium as claimed in claim 15 , wherein the determining section further comprises a program instruction that, when executed, calls the preexisting program and transfers the code to the copy protection process.

19. The computer-readable storage medium as claimed in claim 15 , wherein the data and the processing regulation are encoded and are transferred to the computer program in encoded form.

20. The computer-readable storage medium as claimed in claim 15 , wherein the code in the copy protection process is executed in a protected area of the computer system, wherein the protected area is closed to the rest of the computer system.

21. The computer-readable storage medium as claimed in claim 15 , wherein the decision section is determined according to an instruction sequence of the decision section in the preexisting program.

22. The computer-readable storage medium as claimed in claim 15 , wherein a plurality of decision sections are determined and converted, and wherein if two similar decision sections are determined, the similar decision sections are converted by different codes.

Assignments (7)
SECOND LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Mar 12, 2014
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
To: ALADDIN KNOWLEDGE SYSTEMS LTD
Reel/Frame 032437/0341 →
FIRST LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Mar 12, 2014
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
To: ALADDIN KNOWLEDGE SYSTEMS LTD
Reel/Frame 032437/0257 →
MERGER Recorded Mar 22, 2013
From: ALADDIN EUROPE GMBH
To: SFNT GERMANY GMBH
Reel/Frame 030070/0267 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 30, 2010
From: ALLADDIN KNOWLEDGE SYSTEMS LTD.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 024900/0702 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 27, 2010
From: ALLADDIN KNOWLEDGE SYSTEMS LTD.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 024892/0677 →
CHANGE OF NAME Recorded Aug 13, 2008
From: ALADDIN KNOWLEDGE SYSTEMS (DEUTSCHLAND) GMBH
To: ALADDIN EUROPE GMBH
Reel/Frame 021383/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2004
From: JASCAU, ADRIAN; LANGE, ANDREAS
To: ALADDIN KNOWLEDGE SYSTEMS (DEUTSCHLAND) GMBH
Reel/Frame 015135/0317 →