When I was a kid, one of the greatest things in the world to me was the challenge of breaking DOS copy protection of the time. And yes, this implies that I pirated software when I was in Junior High. I fully admit it. Hey – I had an allowance of $3/week. What do you want?
While I sometime leveraged tools like CopyIIPC & the Central Point Option Board, I’m dead certain I spent far more time in DEBUG.EXE searching machine code for INT 13’s than actually using any of the software that I pilfered… and with good reason: I had copies of products like “Multimate”, “dBase III”, “Cornerstore”, “Lotus 123”, “WordStar”, “Framework”, & “Mavis Beacon Teaches Typing”.
…what 13 year old kid is interested in any of that? (Especially the Mavis Beacon product: I already typed 80 words per minute back then)
Much like how a hacker’s goal isn’t necessarily to do anything with the computer system they’re attempting to infiltrate but rather simply to see if they can break in, the wondrous goal of cracking copy protection was simply the knowledge of being able to subvert the protection. Nothing bored me more that some company that just used lame copy protection that could be subverted with a single machine language instruction change.
You have to understand that this was a cat & mouse game: Breaking copy protection was like puzzle solving and the challenge was delicious. Creating copy protection however was the art of making the puzzle & I to this day, greatly admire those that create these techniques.
Y’see every copy protection is a bit different but the underlying principle is the same: Make it very difficult for a piece of software to run if it’s a copy of any original. How this is done varies greatly using some very clever techniques however, it does follow a similar framework:
- Run application (via boot or executing a program)
- Check for some attribute of the disk/software that is very difficult to duplicate
- If the attribute is verified – the software is an original legal copy… continue execution
- If the attribute is not verified – the software is an illegal duplicate… halt execution
Very little of this appears to remain documented on the Internet but I hope that some day someone will write a documentary about this back & forth that continues to this day. I’m going to blog a few of the techniques & their names that I remember off the top of my head in subsequent posts.