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)
BUT WHY?
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.
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.
Interesting article. Just for the record our software protection, CodeMeter, has yet to be hacked. We have had a few hacker competitions but no-one won the prizes.
If you ever get a chance to hear archivist/technology historian/documentarian Jason Scott speak about “pirate memos,” run, do not walk, to the event. He did an off-the-cuff talk at DEFCON that shed light on seldom-seen aspects of that whole issue. Jason’s the producer and creator of the documentaries BBS and GET LAMP, which I recommend if you’re at all interested in the way things were.
One amusing highlight of his talk about piracy was the revelation that one of the early anti-piracy organizations appears to have poached people and lifted content _directly_ from their leading counterpart’s media campaigns in order to get started more quickly.
My God, dude. I not only bought Jason Scott’s BBS documentary & GET LAMP the moment they were published, I wrote posts about each of them. Here’s the BBS post: https://kurtsthoughts.com/2007/04/11/bbs-the-documentary-the-arc-vs-zip-compression-war/
And yes, I saw the Jason Scott video on piracy ‘back in the day’. I think it was called “Your Missing the Point” or something like that. I fittingly ripped the entire video down and printed a DVD of the lecture. Anyway, I’m glad you commented. I’ve been so ridiculously heads down at work that I’d completely forgotten I was going to write a series of posts on copy protection techniques from the 80’s and 90’s.