Browse Prior Art Database

Inhibiting the Use of Illegally Copied Programs

IP.com Disclosure Number: IPCOM000061412D
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

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. The method disclosed comprises the steps of (a) recording a pertinent portion of the program in scrambled format; (b) at run time, testing whether the scrambled portion is being referenced as the next instruction to be executed; and (c) if so, fetching the data and unscrambling it with the information on the encoded card.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 91% 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. The method disclosed comprises the steps of (a) recording a pertinent portion of the program in scrambled format; (b) at run time, testing whether the scrambled portion is being referenced as the next instruction to be executed; and (c) if so, fetching the data and unscrambling it with the information on the encoded card.

The first step involves the scrambling of the program which needs to be protected. When the program is recorded for distribution, a portion of the code, say between the addresses o and A2, is mapped by 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 therefore unexecutable by the computer unless it is unscrambled before execution.

The unscrambling function FI, and addresses A1 and A2, are put on a plastic magnetically encoded card. This card is included as part of the package to be purchased. During execut a user who possesses the encoded card must put the card into a card reader so that FI, A1, and A2 can be read into separate internal registers of the CPU. Then, as an instruction is fetched from the memory, its address is compared with A1 and A2. A byte which falls within A1 and A2 is unscrambled with FI before it is executed by the CPU. In this way, although the program can be...