Browse Prior Art Database

Inhibiting the Use of Illegally Copied Programs

IP.com Disclosure Number: IPCOM000061413D
Original Publication Date: 1986-Jun-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Lorie, RA: AUTHOR [+2]

Abstract

A method is described for inhibiting the use of illegally copied programs by requiring the use of an encoded card to enable the execution of a program, comprising the steps of (a) recording a pertinent portion of the program in scrambled format, (b) detecting the data in the scrambled area during execution, (c) unscrambling the fetched data with the information on the encoded c and (d) tracing a sequence of addresses being fetched during execution.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 74% of the total text.

Page 1 of 1

Inhibiting the Use of Illegally Copied Programs

A method is described for inhibiting the use of illegally copied programs by requiring the use of an encoded card to enable the execution of a program, comprising the steps of (a) recording a pertinent portion of the program in scrambled format, (b) detecting the data in the scrambled area during execution,
(c) unscrambling the fetched data with the information on the encoded c and (d) tracing a sequence of addresses being fetched during execution.

The use of illegally copied programs can be inhibited by mapping a portion of the code, say between the addresses of A1 and A2, with a given function f such that if c1=f(c2), then c2=fi(c1). When the program is loaded from the disk to the memory, it is unexecutable unless it is unscrambled. The unscrambling function fi, and addresses A1 and A2, are put on an encoded card which is included as part of the package to be purchased.

When the program is loaded for execution, the protected portion is loaded into the memory module of a special board and the above-mentioned data (i.e. fi, A1, and A2) is transferred from the encoded card to the logic module of the special board. If, during execution, a byte within the protected area is fetched from the memory module, it is unscrambled by the logic module before it is sent to the CPU.

Now, because all the data coming out of the special board is unscrambled, a separate program can be written to read the content of the memory between ...