US5745569A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for stega-cipher protection of computer code
Assignee: Wistaria Trading Ltd
•
Filing: 1996-01-17
•
Granted: 1998-04-28
•
Expires: 2016-01-17
Abstract
Abstract A method for protecting computer code copyrights by encoding the code into a data resource with a digital watermark. The digital watermark contains licensing information interwoven with essential code resources encoded into data resources. The result is that while an application program can be copied in an uninhibited manner, only the licensed user having the license code can access essential code resources to operate the program and any descendant copies bear the required license code.
Inventors
- 👤 Scott A. Moskowitz
- 👤 Marc Cooperman
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 05:10
CPC Classifications
G; G06; G06T; G06T1/00; G06T1/0021; G06T1/005; G06F; G06F21/00; G06F21/10; G06F21/16; G06F2211/00; G06F2211/007
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
59 words
A method for copy protection of computer software, the computer software including executable code and a non-executable digital sample, said method comprising the steps of: identifying a portion of the executable code to be encoded: generating an encoded code resource from the identified portion of the executable code; and embedding the encoded code resource in the non-executable digital sample.
Claim 2
Independent Claim
59 words
A method for copy protection of computer software, the computer software including executable code and a non-executable digital sample, said method comprising the steps of: identifying a portion of the executable code to be encoded: generating an encoded code resource from the identified portion of the executable code; and embedding the encoded code resource in the non-executable digital sample.
Claim 3
Dependent Claim
27 words
The method of claim 1, further comprising the step of requiring a predetermined key to decode the encoded code resource prior to execution of the executable code.
Claim 4
Dependent Claim
19 words
The method of claim 2, further comprising deriving the predetermined key from licensing information associated with the computer software.
Claim 5
Dependent Claim
47 words
The method of claim 3, wherein the licensing information is selected from a group comprising an owning organization name, a personal owner name, an owner address, a license code, a software serial number, a distribution parameter, an architectural requirement, a price parameter, and a software metering parameter.
Claim 6
Dependent Claim
28 words
The method of claim 1, further comprising the step of transferring the non-executable digital sample with the embedded encoded code resource to a user of the computer software.
Claim 7
Dependent Claim
59 words
The method of claim 5, wherein said transferring step further comprises storing the non-executable digital sample with the embedded encoded code resource on a storage medium selected from a group comprising a soft-sector magnetic disk, a hard-sector magnetic disk, a magnetic tape, a CD-ROM disc, a CD-R disc, a digital video disk, a magneto-optical disk and a memory cartridge.
Claim 8
Dependent Claim
77 words
The method of claim 5, wherein said transferring step further comprises transmitting the non-executable digital sample with the embedded encoded code resource over a transmission medium selected from a group comprising a telephone line, an SCSI, an Ethernet network, a token ring network, an ISDN, an ATM network, a TCP/IP network, an analog cellular network, a digital cellular network, a wireless network, a digital satellite, a cable network, a fiber optic network and an electric powerline network.
Claim 9
Dependent Claim
21 words
The method of claim 1, wherein the encoded code resource comprises a series of instructions for processing the non-executable digital sample.
Claim 10
Dependent Claim
44 words
The method of claim 8, wherein the computer software is installed on a computer system including a memory, said method further comprising the steps of: decoding the encoded code resource; and loading the executable code into the memory of the computer system for execution.
Claim 11
Independent Claim
85 words
A method for copy protection of computer software to be provided to an authorized user, the computer software including a plurality of code resources and a plurality of data resources, wherein each of the plurality of code resources includes a set of executable instructions, said method comprising the steps of: selecting a code resource to be encoded; using information relating to the authorized user to associate the selected code resource with a data resource; and encoding the selected code resource within the associated data resource.
Claim 12
Independent Claim
85 words
A method for copy protection of computer software to be provided to an authorized user, the computer software including a plurality of code resources and a plurality of data resources, wherein each of the plurality of code resources includes a set of executable instructions, said method comprising the steps of: selecting a code resource to be encoded; using information relating to the authorized user to associate the selected code resource with a data resource; and encoding the selected code resource within the associated data resource.
Claim 13
Dependent Claim
25 words
The method of claim 10, wherein said step of selecting a code resource comprises selecting a code resource required for operation of the computer software.
Claim 14
Dependent Claim
46 words
The method of claim 11, wherein said step of using information relating to the authorized user to associate the selected code resource with a data resource comprises generating a key from the information and using the key to map a code resource to a data resource.
Claim 15
Dependent Claim
13 words
The method of claim 12, wherein the key comprises a pseudo-random number string.
Claim 16
Dependent Claim
32 words
The method of claim 10, further comprising the step of storing a set of instructions in the computer software for enabling the authorized user to extract and decode the encoded code resource.
Claim 17
Dependent Claim
28 words
The method of claim 14, wherein the set of instructions includes instructions for determining in which of the plurality of data resources the selected code resource is encoded.
Claim 18
Independent Claim
84 words
A method for copy protecting a software application executed by a computer system, the software application including a plurality of executable code resources loaded in a memory of the computer system, said method comprising the steps of: determining an address within the memory of the computer system associated with each of the plurality of executable code resources; and intermittently relocating each of the plurality of executable code resources to a different address within the memory of the computer during execution of the software application.
Claim 19
Independent Claim
84 words
A method for copy protecting a software application executed by a computer system, the software application including a plurality of executable code resources loaded in a memory of the computer system, said method comprising the steps of: determining an address within the memory of the computer system associated with each of the plurality of executable code resources; and intermittently relocating each of the plurality of executable code resources to a different address within the memory of the computer during execution of the software application.
Claim 20
Dependent Claim
27 words
The method of claim 16, further comprising the step of modifying the software application to direct a call to an executable code resource to a memory scheduler.
Claim 21
Dependent Claim
36 words
The method of claim 17, wherein said step of intermittently relocating each of the plurality of executable code resources is performed in response to a call to an executable code resource received by the memory scheduler.
Claim 22
Dependent Claim
22 words
The method of claim 18, further comprising intermittently relocating the memory scheduler to a different address within the memory of the computer.
Claim 23
Dependent Claim
40 words
The method of claim 19, wherein said step of intermittently relocating the memory scheduler includes updating a reference to the memory scheduler in the memory of the computer system to reflect the different address within the memory of the computer.
References Cited (Backward Citations)
US4200770A
Cited
US4218582A
Cited
US4405829A
Cited
US4424414A
Cited
US4908873A
Cited
US4980782A
Cited
US4748668A
Cited
US5073925A
Cited
US4979210A
Cited
US5287407A
Cited
US5319735A
Cited
US5379345A
Cited
US5365586A
Cited
US5408505A
Cited
US5428606A
Cited
US5412718A
Cited
US5488664A
Cited
US5606609A
Cited
US5530759A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-04-27 | 2001-10-27 | 2002-04-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-04-27 | 2005-10-27 | 2006-04-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-04-27 | 2009-10-27 | 2010-04-28 | $7700.00 | Window Closed / Lapsed |