Copy protection

From TheAlmightyGuru
Jump to: navigation, search
A code wheel was a common copy protection method in the in early 1990s.

Copy protection refers to various methods use by the owners of intellectual property to prevent unauthorized copies of digital media from being used. Copy protection still allows users to make a legal backup of the digital media, but the goal is to only allow one copy to work per paying customer. This differs from copy prevention where the goal is to prevent copies from being made in the first place.

Copy protection benefits copyright holders to the detriment of the user's experience. Manufacturers often have to walk a fine line between trying to prevent unauthorized use of their software and becoming so intrusive that they alienate paying customers. The methods used in copy protection changed significantly after access to the Internet became widespread which rendered the majority of methods useless.

Most forms of copy protection function by halting the software and demanding the user pass a copy protection test. If they pass the test, the software continues, but, if they fail multiple times, the software usually closes or becomes unusable. Modern copy protection checks usually only require user intervention when the software is first installed, then perform automated checks in the background from that point on. Older copy protection checks usually occurred each time the user started the software, but also sometimes when they tried to use crucial features, like saving.

All copy protection methods can be defeated by cracking the program to bypass the check which requires an understanding of software at a technical level. However, once the copy protection is successfully cracked, this cracked version of the program may be distributed around the world, often becoming more popular than the original. Prior to the popularity of the internet, cracked copies were made manually or over a modem, but, today, cracked software is often distributed online.

Methods

Inform the user

A lot of software simply informs the user that making or using unauthorized copies of software is illegal. This may be followed up with pleas, intimidation, or threats. This is one of the few pre-Internet copy protection methods that is still in use in the Internet era.

Examples

Implementation

To implement this form of copy protection, all the developer has to do is add some messages to their software making it clear to the user that using unauthorized copies is illegal. This is trivial to implement and often doesn't take any additional resources. One benefit of this method is, if a pirate is caught and taken to court, they can't claim ignorance since the program reminded them that software piracy is illegal.

Weaknesses

This method doesn't actually do anything to verify their copy is genuine, and people are rarely ever arrested or charged with making and using a single unauthorized copy of software, so this isn't a very useful deterrent. People who pirate software usually have their minds made up about whether their going to pirate software, and which companies they're okay with pirating from. A few screens encouraging or threatening people not to pirate software doesn't make much of a difference.

Code book

Code books were used pretty much only by games. They included a printed list of passwords with a way to lookup a specific one. Games would randomly choose a value to lookup and ask the player for the associated password from the code book. Many code books were printed in or used in conjunction with the game's manual. In the age of the Internet and simple digitization, code books have been rendered useless.

Examples

The original SimCity included a code book in its manual printed on dark burgundy paper. There were 352 codes across four pages. Each code was made up of two squares that are partially filled in. These squares are associated with a city name and numeric score. Maniac Mansion tells the player to enter the code based on a section number, row, and column letter which corresponds to four symbols the player must enter in the game, for a total of 2,331 possibilities. It's also printed with red obfuscation ink. The home computer ports of Teenage Mutant Ninja Turtles had a single dark burgundy sheet in its manual. It used a 2D graph with a letter on the Y axis and a number on the X axis. You're asked to look up a letter-number combination which points to a four-digit number. There are 640 four-digit numbers. Jet Set Willy used a page full of tiny colored rectangles.

The Carmen San Diego games included reference books with their games like almanacs which they used as a form of code book. Although the lower difficulty levels asked trivia that anyone mildly skilled in geography would know, harder difficulties often demanded very esoteric answers that could only be found in the almanac.

Implementation

Code books required a bit of effort on the part of the developers. They had to devise a code system, program it, and then print the codes and include them with the game. A good system fit with the theme of the game and felt like part of the experience, a bad one was just list of numbers and felt like a chore. In order for the system to effectively stop software copying, the code book itself needs to be difficult to copy. To prevent copying by hand, code books usually contained a large number of codes or used codes that weren't easy yo replicate, like illustrations and symbols. To prevent photocopying, the paper was often made to be difficult to copy. The two most common methods included using colored paper which didn't contrast the ink very much — like black ink on dark burgundy paper — or by printing a colorful obfuscation layer that spoiled photocopies but could be filtered out with a transparency. Each of these methods add to the production cost of the final product, but usually not by much. Code books were pretty effective at preventing piracy, but only if the person with the copy didn't know someone with a code book.

Weaknesses

Short code books were just copied by hand and long ones were photocopied for cheap. Code books which used low contrast could still be copied effectively on a photocopier which could adjust contrast. Those obfuscated with red lines could have color copies made and a cheap red transparency could be made with a scrap piece of transparent plastic and a red marker. Because of this, code books were only effective at stopping people who didn't have access to an original and didn't have access to a decent photocopier.

Because losing a code book rendered the game unplayable, owners of the game often sought out and found ways to duplicate them to ensure they wouldn't be locked out of their own games. This no doubt caused code books to be copied at a higher rate than expected and ruined the developer's efforts sooner than expected.

Links

Word from the manual

In this method, the program asks the user to type in a specific word from the manual. For example, the program might say, turn to page 6 and type in the fourth word in the second sentence in the third paragraph. Since manuals could be quite large, a software pirate would have to weigh the cost of copying the entire manual against just buying their own game. This was the most popular form of copy protection prior to the Internet becoming commonplace, but is pointless today when books can be digitized and copied with ease.

Examples

Some games required the player to type out entire sentences from the game's manual, like King's Quest III: To Heir Is Human. Some games ask about stats from diagrams in the manual like Gunboat and F-117A Nighthawk Stealth Fighter 2.0 making them function more like code books.

Implementation

Implementation was quite similar to a code book. The programmers had to store the word database in the program, choose a word at random from the database, and have a way for the user to enter the word. This method was also a bit more effective than a code book. During the era when this method was used, pretty much all software was expected to include a printed manual, so, by using the manual, no additional printing was necessary. Also, because manuals were usually longer than a code books, they were a bit more expensive to photocopy. A code book was usually only a couple pages, but the manual of King's Quest IV: The Perils of Rosella is 20 pages. Also, like with a code book, you could only make a copy if you knew someone with an original, so, if you downloaded a copy of the game from an anonymous source, you wouldn't get far without the manual.

Weaknesses

While a code book could be printed in a way that was hard to copy, manuals have to be easy read, which means they're also easy to photocopy. And, though they may have more pages than a code book, few game manuals exceeded 20 pages, so it was rarely that expensive to copy the entire thing. Also, since losing the manual meant being locked out of your own software, which was so annoying that some users made copies just as a precaution.

A big flaw with this method is that the games didn't actually keep a database of the entire manual because that would take up too much space on disk, they instead kept a much smaller database. For example, although the manual of King's Quest IV: The Perils of Rosella has around 2,700 words, the copy protection only uses 57 of them. Observant users noticed this and could keep track of which words were used, and, after a few hours restarting the program, could record the majority of the words, thereby cracking the copy protection. However, many people probably didn't notice this, so it may have been an effective deterrent.

This method was also a pain for developers. Unlike code books, whose codes are typically generated with an algorithm, manuals have to be written and edited, so they weren't usually finalized until near the end of the development cycle. This meant that the copy protection also couldn't be finalized until late in development, making it more prone to have problems.

Links

External narration

With this method a large portion of the game's narration is printed in a booklet or the manual instead of being included in the game. This method was probably designed, not as copy protection, but because it was cheaper to include several pages of printed text with the game than another diskette worth of dialogue, however, it became an effective form of copy protection in the pre-Internet era. At various points all throughout the game, players were told to read a numbered block of text from an included printed booklet. This external narration contained dialogue necessary to understanding the plot of the game, and often included information crucial to victory. Because of this, if a player didn't have the booklet, they simply couldn't make progress in the game.

Examples

Dragon Wars and several of the early Gold Box games had extended manuals which contained the game's external narration.

Implementation

The game's manufacturers had to print the game's dialogue into booklets and include notes in the game for when they were to be read. Unlike a codebook, this was usually a couple dozen pages, and, unlike a word from the manual, you couldn't quickly build up a database of correct answers. If you wanted to be able to play a copy of the game, you also needed to photocopy all the external narration, which was usually a couple dozen pages.

Weaknesses

Just like with code books and manuals, losing the external narration documentation would lock the player out of their own game. Also, having to print all the extra pages, while not hugely expensive, did cut into the profits of the manufacturer.

Another problem with this method is it made it very easy for wandering eyes to spoil the game's story line. In order to limit this, the designers would include false paragraphs in the documentation that looked similar to the genuine paragraphs, but gave bad advice or fake hints. But these only increased the length of the print outs and cost more to produce.

Neither players nor developers liked this system, and, when the storage media reached a density sufficient enough to fit all the game's narration, this method was abandoned.

Code wheel

Code wheels were included with a number of games and work under the same concept as a decoder ring. The game will tell the player to line up the moving wheels in a specific way, then read off a code in a particular window. They were mostly used from the late 1980s to early 1990s, although some modern indie games have included them for nostalgia purposes. Since consoles mostly used ROM cartridges at the time which couldn't easily be copied, code wheels were used almost exclusively on home computers.

Examples

Title Released Layers Notes
Altered Destiny 1990-??-?? 3 Match a symbol to a symbol to a name to get a number.
Amnesia 1986-??-?? 2 Match an address to a street to get a number.
Ankh: Heart of Osiris 2006-10-30 3 Match a word to a word to a drink to get a number.
The Bard's Tale III: Thief of Fate 1988-??-?? 3 Match three locations to get a number.
Blue Angels: Formation Flight Simulation 1989-??-?? 3 Match a formation to a maneuver to a city to get a number.
Chip's Challenge 1989-??-?? 2 Match one character to another to get a third.
Citadel: Adventure of the Crystal Keep 1989-??-?? 2 Match two symbols to get a letter.
Creepers 1993-??-?? 2 Match a tree to a color to get a number.
Cruise for a Corpse 1991-??-?? 2 Turn to a number to get a set of symbols.
Curse of the Azure Bonds 1989-??-?? 2 Match two symbols to get a letter.
Cybercon III 1991-??-?? 2 Match one character to another to get a third.
The Cycles: International Grand Prix Racing 1989-11-?? 3 Match a last name to a first name to a year to get a number.
Das Stundenglas 1990-??-?? 2 Match a Roman numeral to a symbol to get a different symbol.
Demon Stalkers 1987-??-?? 2 Match two adjectives to get some letters.
Desert Strike: Return to the Gulf 1992-03-?? 2 Match two letters to get a number.
Dick Tracy: The Crime-Solving Adventure 1991-??-?? 2 Turn to a mugshot to get a number.
Disposable Hero 1993-??-?? 2 Match two symbols to get a number.
Earl Weaver Baseball 1987-??-?? 2 Match a stadium to a section to get a number.
Earl Weaver Baseball II 1991-??-?? 2 Match a team's city to a year to get a number.
Edna & Harvey: Harvey's New Eyes 2011-08-26 German version.
Elvira II: Jaws of Cerberus 1992-??-?? 3 Match a symbol to a monster to a theatre job to get a number.
F/A-18 Interceptor 1988-??-?? 3 Match a character to a character to a character to get a number.
Falcon 1987-??-?? 2 Match a symbol to a symbol to get a letter.
Fire King 1989-??-?? 2 Match a name to an adjective to get some letters.
The Fool's Errand 1987-??-?? 3 Match three tarot cards to get a series of symbols.
The Games: Winter Challenge 1991-??-?? 3 Match a flag to a nation to a sport to get a number.
Gauntlet III: The Final Quest 1991-??-?? 2 Match one character to another to get a third.
The Godfather 1991-??-?? 2 Match one character to another to get a third.
The Gold of the Aztecs 1990-??-?? 2 Match one character to another to get a third.
Grand Prix Unlimited 1992-??-?? 2 Match a road graphic to a road type to get a number.
Hardball II 1992-??-?? 3 Match a last name to a first name to a year to get a number.
Hardball III 1992-??-?? 3 Match a team logo to a position to a city to get a number.
Hare Raising Havoc 1991-??-?? 2 Turn to a symbol to get a number.
Heat Wave: Offshore Superboat Racing 1990-??-?? 3 Match a flag to a motor to a state to get a number.
HeroQuest II: Legacy of Sorasil 1994-??-?? 2 Match two symbols to get a number.
Hillsfar 1989-??-?? 2 Match two symbols to get a single letter.
Hoverforce 1990-??-?? 3 Match a symbol to a city to a state to get a number.
Indiana Jones and the Fate of Atlantis 1992-06-01 2 Match one character to another to get a third.
Ishidō: The Way of Stones 1990-??-?? 3 Match a symbol to a symbol to a word to get a number.
Jack Nicklaus Golf & Course Design: Signature Edition 1992-??-?? 3 Match a national flag to a club to a golf course to get a number.
Jikuu Yuuden Debias 1987-11-27 2 Turn to a symbol to get an answer. Used for a Famicom game.
John Madden Football 1989-05-?? 2 Match a section to a row to get a number.
Jordan vs Bird: One on One 1989-??-?? 3 Match three characters to get a number.
Jungle Strike 1993-??-?? 2 Match two letters to get a number.
Kings of the Beach 1989-03-?? 2 Match a tournament to a match to get a number.
Knights of Xentar 1991-12-14 2 Match two numbers to get a third.
Legacy of the Ancients 1987-??-?? 2 Match a name to a mineral to get a number.
Legends of Valour 1992-??-?? 2 Match a character to a character to get a letter.
Les Manley in: Lost in L.A. 1991-??-?? 3 Match the top and bottom of a face and a location to get a number.
Les Manley in: Search for the King 1990-??-?? 3 Match a plug to a plug to a name to get a number.
Life & Death 1988-11-?? 2 Match a name to a location to get a number.
Litil Divil 1993-??-?? 2 Match the top and bottom of a devil to get a number.
Lotus: The Ultimate Challenge 1992-??-?? 2 Match two helmets to get a code.
Mars Saga 1988-11-?? 2 Match two symbols to get a number.
Metal & Lace: The Battle of the Robo Babes (DOS) 1993-??-?? 2 Match two numbers to get a third.
Mike Ditka Ultimate Football 1991-??-?? 3 Match two stadiums to a a team location to get a number.
A Mind Forever Voyaging 1985-08-14 2 Turn to a color, match the number on the inner circle to get a number on the outer circle.
Monkey Island 2: LeChuck's Revenge 1991-12-?? 2 Match two symbols to get a number.
Neuromancer 1990-??-?? 2 Match two nouns from the game to get a three to number.
Nigel Mansell's World Championship Racing 1992-??-?? 2 Match two helmets to get a code.
Night Shift 1990-10-?? 2 Match the head to a body to get four fruits.
Operation Harrier 1990-??-?? 2 Match two letters to get a number.
Out of this World 1991-??-?? 2 Turn to a number to get a set of symbols.
Pipe Dream 1986-06-?? 2 Turn to a plumbing symbol to get three pipe pieces.
Pool of Radiance 1988-??-?? 2 Match two symbols to get a letter.
Premier Manager 1992-??-?? 2 Match a shirt to shorts to get a code.
Premier Manager 2 1993-??-?? 2 Match a shirt to shorts to get a code.
Premier Manager 3 1994-??-?? 2 Match a letter to a letter to get a number.
Randal's Monday 2014-11-12
Retribution 1994-??-?? 2 Match a letter to a letter to get a number.
Rocket Ranger 1988-??-?? 2 Turn to a region, to get a number. The US and European games have different values.
The Rocketeer 1991-??-?? 2 Match two symbols to a number.
The Secret of Monkey Island 1990-10-?? 2 Matching top and bottom of a face to get a number.
Secret Weapons of the Luftwaffe 1992-??-?? 2 Turn to a symbol to get a woman's name.
Shadow Fighter 1994-??-?? 2 Match two letters to get a number.
Shadow Sorcerer 1991-??-?? 2 Match two characters to get a letter.
The Shapeshifter 2021-06-?? 2 Match the top and bottom of an animal to get a number. Game Boy release.
The Shapeshifter 2 2022-??-?? 2 Match the top and bottom of a character to get a number. Game Boy release.
Sideshow 1989-01-12 3 Match a snack to an occupation to an animal to get some letters.
Sorcerer 1986-??-?? 2 Turn to a word or color sequence to get a picture or sentence. Original 1984 release didn't use code wheel.
Star Control 1990-07-?? 3 Match three nonsense words to get a common English word.
Starflight 1986-08-15 2 Match a location to an item to get a number.
Stratego 1990-??-?? 3 Match two pieces to a word to get a number.
Strike Aces 1989-??-?? 3 Match a national flag to a jet to a mission name to get a number.
SubVersion 1992-??-?? 2 Match a character to a character to get a character on the back.
Summer Challenge 1992-??-?? 3 Match a flag to a nation to a city to get a number.
Test Drive III: The Passion 1990-??-?? 3 Match two keys to a vehicle model to get a number.
Their Finest Hour: The Battle of Britain 1989-??-?? 2 Turn to a coat of arms to get a number.
Tunnels of Armageddon 1989-??-?? 2 Match two colors to get a third color.
Vaxine 1990-??-?? 2 Turn to an organ to get a symbol.
Waxworks 1992-11-?? 3 Match a symbol to a monster to a country to get a number.
Zool 1992-07-?? 2 Match a face to a body to get a code.
Zool 2 1993-??-?? 2 Match a face to a body to get a code.

The Colony, Don't Go Alone, and The Third Courier use a sliding card with a cardboard screen which work similarly to code wheels, only they're not round.

Implementation

In order to implement a code wheel, the game had to generate a database of values, often using an algorithm. Construction of the code wheel would have to be outsourced to a specialty printing company. These had the added benefit of being much harder to copy, and, figuring out how they worked would sometimes involve having to dismantle them, so many players were hesitant to do so. Some code wheels were printed on dark paper with a low contrast to the ink or incorporated color in order to make them harder to photocopy.

Weaknesses

Code wheels had to be designed then printed and cut with a custom dye. Because ordinary printing companies didn't do this, the game manufacturer would have to work with specialty companies who would charge more for them cutting into the seller's profits. Although they were harder to duplicate than manuals and code books, code wheels could still be copied simply by copying each combination of the wheels. Usually only around 20 pages or so. The three-layer wheels could be duplicated with careful use of a photocopier and a pair of scissors. Also, since code wheels could only include a limited number of values, it wasn't too difficult to build up a text file with all the possible values and instructions for how to setup the offset. And, like with the other copy protection methods, losing a code wheel would lock a player out of the game.

Links

Physical objects

Several games shipped with physical objects, sometimes called "feelies" because you can feel them, which could be used as part of the copy protection.

Examples

Some of the copy protection questions in Ultima VII: The Black Gate require the cloth map included with the game. The player is asked to enter the longitude or latitude of various locales on the map.

LensLok worked by displaying letters on the screen which were distorted in a very specific manner. The distortion could be rectified by placing the official LensLok prism in front of your screen which would make the distorted letters readable. Unfortunately, the prism was difficult to calibrate and didn't work at all on screens which were very large or very small for the time, so it was only used in about five games before being retired.

Implementation

This method was one of the hardest and most expensive to implement because it not only required manufacturing a special object, but a copy protection had to be designed around it. However, they were often among the most effective at preventing piracy because it was much harder to copy a physical object, but then, developers had to determine if the added cost of the object was worth the amount of money they made from additional purchases.

Weaknesses

Much like with the other copy protection methods, if you lose or break the physical object, you are locked out of your game.

Links

Activation code

An activation code is a unique code, typically represented by a series of letters and numbers, which comes with the software. In order to activate the software, the user is expected to enter their code, usually at the time of installation. Once the software was activated, the activation code is stored with the software so it knows what code was used to activate it.

Examples

A lot of software in the 1990s used activation codes like Windows 95 and Windows 98.

Implementation

Implementing an activation code required the installer to be able to identify a genuine code from a bogus code. Codes are generated under a complex set of rules like being factors of a specific number, having a range in certain digits, and incorporating a check digit. Since there often often trillions of valid codes, it isn't possible for the installer to know every code, but the installer only needed to know if the code passed the rules in order to allow activation. Once a suitable algorithm to generate codes is devised, any number can be generated essentially for free, so, this method is very cheap to maintain.

Each time the manufacturer distributes a new batch of software, it also generates a new set of codes activation codes. The software can be written to attempt to connect to the manufacturer's web site behind the scenes when the user is online. The manufacturer can check the user's activation code with their list of potentially valid codes and, if it's not in the list, they can remotely deactivate the software. Also, if the manufacturer starts to see the same potentially valid code connecting from several different computers, it's likely that code is being shared. This online monitoring requires the manufacturer to write all this code into the program and maintain their web site, which is a fair amount of work.

Weaknesses

Because an activation code is pretty short, it is trivial to copy and use with duplicates of the software. In this respect, it's like a code book with a bunch of entries where every entry works. And, even if you don't know someone with an activation code to share, technical-minded people are often able to determine the rules used to generate the codes pretty quickly after they're released, and write and distribute programs to generate new codes which appear genuine to the installer.

However, activation codes were primarily designed to prevent online use of unauthorized codes. Since the manufacturer can easily cross-reference a person's code with their list of potentially valid codes, they can deactivate most generated codes. However, when it comes to deactivating software shared by multiple people, the manufacturer has to er on the side of caution, because, accidentally deactivating a legitimate copy of the software is not only annoying to the user but also very embarrassing to the company. The user can then tell their computer's firewall to prevent the software from going outbound on the Internet, which, if the software doesn't need online access prevents it from ever deactivating.

Also, you still need to keep your activation code safe if you ever plan to reinstall your software.

Lock and key activation

This method is like a standard activation code, but it even prevents activation with unauthorized codes. Lock and key activation works by using two codes, one that is given to purchaser of the software (the lock), and one that is obtained from the manufacturer (the key). The lock code comes with the software and must be entered when the software is installed. When the user registers the software with the manufacturer, they will be given the key. Once the user enters the key into the software, it becomes activated and fully usable. By forcing each user to register an account, every lock code is tied to a user, so, if someone tries to activate a lock code that has already been registered, the manufacturer will know it, and not send the key.

Examples

Most of the Corel products, especially Corel Draw, throughout the 2000s used this method.

Implementation

The implementation is similar to the standard activation code. The lock codes are generated with special rules meant to prevent bogus codes and printed with each copy of the software. Also, since the user has to activate their software online, and the manufacturer knows which codes it has printed to be sold in stores, even if a program is made to generate genuine-looking lock codes, they will be identified as phony when the user tries to activate them. Once a valid lock code is given to the manufacturer, a key is generated which is cryptographically linked to the lock code. This makes it nearly impossible to guess the key from the lock.

To get this process working the developer has to write the code to generate lock codes, create keys from them, maintain a list of all potentially valid keys, and run the website which activates the software. When this particular method was used, it wasn't uncommon for people to not have internet access, so, to allow users to activate their software, the manufacturer also needed telephone operators to talk users through the activation process.

Weaknesses

Like with a regular activation code, a technical person can identify the rules used to generate the lock code. Also, because this method still needs to work in offline mode, the installer needs to know which keys work with each lock. This means the cryptographic system used to generate keys must be embedded in the installer, where a technical person can reverse engineer it then create a program which will generate keys to the lock codes. With these two abilities, the software can still be installed and activated in offline mode. And, just like with a regular activation code, the user can set their computer's firewall to block the software from accessing the Internet, and the manufacturer can't remotely deactivate it.

Another problem with this method is for legitimate users. If they ever need to reinstall their software, they not only need the lock code, but they also need the key they were given. If either is lost, they won't be able to reinstall the software.

Mandatory online activation

Mandatory online activation has become the de facto form of copy protection for the post Internet era. When you buy the software, you are forced to register it online with the manufacturer which ties it to your online account. Whenever you want to use the software, it first connects to the manufacturer and verifies you have access to it before letting you use the software. This is certainly the most effective form of copy protection, but also the most draconian.

Examples

Pretty much any game sold on a digital distributor, like Steam or equivalent, and doesn't allow for offline play, uses this form of copy protection.

Implementation

In order to use this method, the manufacturer must run a web sever that maintains the account of every person who owns the software and it must be able to handle traffic from frequent verification checks. The software on the computer must store the user's account information and make frequent checks to the server to validate the account, and, if it ever fails, end the program.

Weaknesses

As Electronic Arts discovered with their embarrassing launch of the SimCity reboot, if the manufacturer doesn't have servers powerful enough to handle the load of its users, the people who paid for the software won't be able to use it. Plus, any time the servers crash or even run slow, the manufacturer will hear from a lot of angry customers and eventually become the target of lawsuits.

Also, once the manufacturer discontinues support for the software, the game will become unplayable for everyone forever.

Copied software can still be played, but it requires either creating a custom server which duplicates all the software of the original (a very difficult task), or cracking the software to act as though all the online verification checks pass even when they don't (also a difficult task).

Links

Link-Wikipedia.png