Secure electronic software packaging using setup-external unlocking module
First Claim
1. A method of protecting a software program to be distributed electronically comprising the steps of:
- adding to the software program a protection module;
installing the software program on an end-user machine;
when startup of the software program is attempted, invoking the protection module;
adding to the software program an unlocking module, the unlocking module being added separately from the protection module; and
the protection module checking whether or not an unlocking module is present.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention, generally speaking, provides for secure electronic software packaging using a setup-external unlocking module. As a result, a software publisher can produce a single ESD-ready version of a software title that may later be prepared for distribution through multiple different ESD channels by adding channel-specific unlocking modules. Duplication of the injection process prior to the packing of the setup file set is eliminated and great flexibility is achieved. Preferably, the single ESD-ready version allows for trial of the software, e.g., a free 30-day trial. Software publishers are incentivized to produce trial versions of their software for marketing purposes. Once such a trial version of a software title has been produced, no further modifications are required on the part of the software publisher in order to distribute the software through various different channels. In one embodiment, the software publisher produces a trial version of a software title using a technology provider tool to inject the program executable with “guard code” referred to herein as a protection module. The protection module allows the program to be run only in accordance with trial parameters specified by the software publisher. The protection module will typically lack commerce capabilities required in order to purchase the software, i.e., obtain unlimited usage of the software or at least usage beyond the original trial period. After the software has been injected with the protection module, a conventional installation tool is used to produce a setup file set. At this point, the BOB can be downloaded and tried but cannot be purchased. That is, unlike competing technologies, the BOBs at his point are fully functional trial versions that can be tested and tried without adding purchase capabilities.
214 Citations
22 Claims
-
1. A method of protecting a software program to be distributed electronically comprising the steps of:
-
adding to the software program a protection module;
installing the software program on an end-user machine;
when startup of the software program is attempted, invoking the protection module;
adding to the software program an unlocking module, the unlocking module being added separately from the protection module; and
the protection module checking whether or not an unlocking module is present. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A flexible method of altering the behavior of a software program, comprising the steps of:
-
adding a default module to the software program without altering source code of the software program;
adding an added module to the software program without altering source code of the software program; and
providing within the default module a mechanism whereby the default module check for and calls, the added module, a combined effect of the default module and the added module being to alter the behavior of the software program. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-readable medium comprising program instructions including:
-
a software program and a code module foreign to but attached to the software program, the code module including program instructions that check for and, if present, call an added module distributed together with the foreign module;
wherein the combined effect of the code module and the added module, if present, is to alter the behavior of the software program.
-
Specification