Protecting software from unauthorized use by applying machine-dependent modifications to code modules
First Claim
1. A method for providing anti-piracy protection by machine fingerprinting a software application on a server, the method comprising:
- (a) providing the server with a server application for receiving and storing the application software, and for modifying the application software based on a machine fingerprint;
(b) receiving by the server application the machine fingerprint from a target machine during a license transaction between the server application and the target machine;
(c) modifying by the server application the stored application into a fingerprinted application using the received fingerprint, wherein the modifying comprises;
(c1) applying the machine fingerprint to the stored application, and(c2) compiling the stored application with the machine fingerprint into the fingerprinted application; and
(d) providing by the server application the fingerprinted application to the target machine for execution, wherein the fingerprinted application will only execute correctly on the target machine.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for providing anti-piracy protection to a software application on a server connected to a target machine over a network is described. The method includes providing a server with a server application for modifying the application software based on a machine fingerprint of the target machine, and for receiving and storing the application software. The server application receives the target machine fingerprint in conjunction with a license transaction between the server and the target machine. The server then modifies the application software using the received machine fingerprint, and provides the resulting modified software to the target machine, wherein the supplied software will only operate correctly on the target machine.
100 Citations
11 Claims
-
1. A method for providing anti-piracy protection by machine fingerprinting a software application on a server, the method comprising:
-
(a) providing the server with a server application for receiving and storing the application software, and for modifying the application software based on a machine fingerprint; (b) receiving by the server application the machine fingerprint from a target machine during a license transaction between the server application and the target machine; (c) modifying by the server application the stored application into a fingerprinted application using the received fingerprint, wherein the modifying comprises; (c1) applying the machine fingerprint to the stored application, and (c2) compiling the stored application with the machine fingerprint into the fingerprinted application; and (d) providing by the server application the fingerprinted application to the target machine for execution, wherein the fingerprinted application will only execute correctly on the target machine. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for providing anti-piracy protection by machine fingerprinting a software application on a server, the method comprising:
-
(a) providing the server with a server application for receiving and storing the application software, and for modifying the application software based on a machine fingerprint; (b) receiving by the server application the machine fingerprint from a target machine during a license transaction between the server application and the target machine; (c) modifying by the server application the stored application into a fingerprinted application using the received fingerprint; (d) providing by the server application the fingerprinted application to the target machine for execution, wherein the fingerprinted application will only execute correctly on the target machine; (e) providing instructions to a software publisher on how to prepare the application software for modification by the server application; and (f) selecting portions of the application software that are used frequently during the execution of the application software for protection, wherein the correct fingerprint continues to be required for continued correct execution of the application software. - View Dependent Claims (7)
-
-
8. A method for providing anti-piracy protection by machine fingerprinting a software application on a server, the method comprising:
-
(a) providing the server with a server application for receiving and storing the application software, and for modifying the application software based on a machine fingerprint; (b) receiving by the server application the machine fingerprint from a target machine during a license transaction between the server application and the target machine; (c) modifying by the server application the stored application into a fingerprinted application using the received fingerprint; (d) providing by the server application the fingerprinted application to the target machine for execution, wherein the fingerprinted application will only execute correctly on the target machine; (e) providing instructions to a software publisher on how to prepare the application software for modification by the server application; and (f) instructing the publisher to select portions of code in the application software to be fingerprinted by the server, package the selected portions of code for upload to the server, create data structures at the location where the selected portions of code were taken from the application software, and upload the prepared application to the server, thereby allowing the server to generate fingerprinted modules from the selected portions of application code, and replace the data structures with function calls to invoke the fingerprinted modules created by the server, whereby the application software operates correctly only on a fingerprinted target machine. - View Dependent Claims (9, 10, 11)
-
Specification