Software program self-modification
First Claim
1. A method of modifying a software product upon use, comprising the steps of:
- attaching a rewriter module to the software product such that when use of the software product is first attempted, the rewriter module is executed;
producing a copy of the software product by copying the software product to a file having a different filename than an original filename of the software product;
running the copy of the software product and deleting the original software product;
copying the copy of the software product to a file having the original filename; and
during at least one of said copying steps, modifying the software product.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention, generally speaking, provides a mechanism for modifying an executable upon first execution. Various modifications may be made to the executable, including modifications useful for purposes of electronic software distribution, such as attaching a unique serial number, encrypting or decrypting the executable, or adding protection code (license enforcement code) to the executable. A Rewriter Module performs the actual modification. First, a copy of the executable is made. The copy is then run and the original executable is deleted. Then a second copy of the executable is made using the name of the original executable, and the first copy is deleted. During one or both of the copying steps, modifications are made to the executable. The modifications may be modifications useful for purposes of electronic software distribution, especially Try/Buy. When a software product is purchased, the foregoing process may be reversed, leaving the executable in its original "pristine" condition. All of the foregoing activity is transparent to the user.
156 Citations
7 Claims
-
1. A method of modifying a software product upon use, comprising the steps of:
-
attaching a rewriter module to the software product such that when use of the software product is first attempted, the rewriter module is executed; producing a copy of the software product by copying the software product to a file having a different filename than an original filename of the software product; running the copy of the software product and deleting the original software product; copying the copy of the software product to a file having the original filename; and during at least one of said copying steps, modifying the software product. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification