Rob Northen copylock

Rob Northen copylock

Rob Northen Copylock is a copy-protection system to prevent disk duplication with standard floppy disk drives on the Amiga, Atari ST and PC-DOS platforms. It was used mainly to copy-protect games from being copied by regular users.

A copylocked floppy disk contains long tracks, 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 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. The trace vector decoder system was originally implemented on the Atari platform and afterwards copied to early Amiga 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

* [http://action.reversers.net/rob_northen_interview.html Interview with Rob Northen about his copy-protection systems]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Copy protection — Copy protection, also known as content protection, copy obstruction, copy prevention and copy restriction, refer to techniques used for preventing the reproduction of software, films, music, and other media, usually for copyright reasons.[1]… …   Wikipedia

  • Warhead (computer game) — Infobox VG title = Warhead caption = aspect ratio = resolution = developer = Motion Picture House publisher = Activision distributor = designer = Glyn Williams license = series = engine = version = released = 1989 genre = modes = ratings =… …   Wikipedia

  • 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. It can be used to enforce copy protections for some computer systems.Trace Vector in… …   Wikipedia


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.