Rob Northen copylock
Encyclopedia
Rob Northen Copylock is a copy-protection system to prevent disk duplication with standard floppy disk drives on the Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

, Atari ST
Atari ST
The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...

 and PC-DOS
PC-DOS
IBM PC DOS is a DOS system for the IBM Personal Computer and compatibles, manufactured and sold by IBM from the 1980s to the 2000s....

 platforms. It was used mainly to copy-protect games from being copied by regular users.

A copylocked floppy disk contains long tracks
Track (disk drive)
A disk drive track is a circular path on the surface of a disk or diskette on which information is magnetically recorded and from which recorded information is read....

, which can be read on a standard floppy drive but are impossible to write without a sophisticated disk duplication machine. The disk contains a special loader for long tracks and an encrypted code block. The encrypted code verifies that the disk is authentic, that it contains the original long track and the protection. To prevent a hostile programmer from bypassing the execution of the encrypted code (that checks authenticity), the encrypted code may cause side-effects that are later checked when the program is being run. Failing these checks would cause the program to prevent further use. Therefore a successful attacker would have to insert a new loader to replace the long track loader, bypass the encrypted code and bypass all later checks during the run-time of the program.

On the machine language level the copylock works by using Motorola 68000
Motorola 68000
The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...

 trace mode that causes the processor to execute a specific trace vector before each instruction in the main program. The trace vector decodes the machine language code just-in-time before it is executed and re-encrypts it after it has been executed, so that no more than just one or two instructions are decrypted in the physical memory at any given time. This is called a trace vector decoder
Trace vector decoder
Trace vector decoder is a system that uses a microprocessor's trace mode to decode encrypted code just-in-time before it is executed and possibly re-encrypt it after the execution...

. The trace vector decoder system was originally implemented on the Atari ST platform and afterwards copied to early Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

models, which share the same processor architecture.

It was later brought to the PC (circa 1990) as the x86 supports the trace vector the same as the 68000 processor does. (INT 1) It manifested itself in a slightly different way in that the game's executable code was encrypted and "wrapped" by the Copylock loader. At runtime this loader would read 4 sectors from the floppy, and generate checksums from them. These in turn would be used as the keys to decrypt the game code. Once the decryption was done, the loader transferred control to the game program.

A later version was introduced which DIDN'T wrap the game's executable, but became a function call INSIDE the game. This version wasn't very successful at thwarting pirates, as the safety of the loader's "envelope" was no longer present, and the call could be worked around.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK