I was around when Quake was launched, but I was entirely unaware of this story.
By June 1996, after three years of hard work, id Software had completed their next title, Quake. As for their previous title, they were going to release both a shareware version and a full version of their game. Since it used a mere 22 MiB of storage, people at id Software had the idea of leveraging the remaining capacity of a CD-ROM. Why not include encrypted versions of the full id catalogue of games? Not only this would cut out the middlemen, it would give instant access to gamers with a simple phone call and a credit card.
The concept was implemented. The CD was announced on July 3, 1996 and released on August 30th[5]. The hacker group GNOMON released
↫ Fabien SanglardQuakecrk.ziponly 39 days later. The archive containedQCRACK.EXE, a tool allowing to decrypt every single game on the CD-ROM.
The system id employed turned out to be incredibly primitive and simple, and hackers found out quite easily that the system required no secret sauce from id at all – the code you’d get over the phone contained no secret, and all the validation program on the disk did was check to ensure the code received over the phone matched the code generated by the disk.
No wonder it took them only 39 days to crack this.

As always: they have had one team and one attempt to get it right — while there are endless adversaries with unlimited time and patience to proof them wrong.
Isn’t this always the case? =)
And this is why we can’t have anything nice.
Customer convenience quickly proved detrimental to profits so this was never repeated across the games industry.
We now have the logical conclusion of the situation where the on/off switch is never in your hands as a consumer.
Trying to lock data on a disc that’s mass-manufactured (with thousands of copies made out of the same glass master) is an immensely stupid idea. Once one person has the key, everyone has the key. At least Hollywood can use the DMCA to take down unauthorized copies of their DVDs and Blu-rays. But uploading a copy of your disc to the internet and expecting any lock you’ve put in there to keep the content locked is just dumb.
Remember when people overwhelmingly rejected always online DRM? Well after Steam allowed 3rd party launchers to be installed through their platform, lots of publishers have slowly been adding it to their back catalogue.
dark2,
The worse part it, them doing this retroactively to titles that did not have 3rd party DRM.
“It is nice you have this Battlefield game here. It would be a shame it required EA launcher and a kernel rootkit to run now. You know, online safety and all…”
And they sometimes do this to single player, completely offline games as well. And of course it will no longer work on Linux / SteamDeck.
I am more surprised by the fact that nobody has made a free version of Quake from the open-sourced code plus the assets in the shareware version.
Much like the open-sourced code of Doom plus the assets in the shareware version (aka Doom1.wad) has seen a million ports.
kurkosdr,
I’m not sure what you mean. All modern ports support the shareware data.
You can even test it out in a browser:
https://www.netquake.io/quake
I still have the CD and it has the entire id software catalog. It also has the soundtrack by NIN on the CD audio portion.
I’m no security expert but I think the only way an “UNLOCK.EXE” that is identical on all copies of the CD can work is:
1) Try to get unique fingerprint of computer (e.g. BIOS string + HDD details + Date directory was created + etc) AND combine with current timestamp (of the computer)… store in variable compFingPrintTimeStamp
2) Customer gives compFingPrintTimeStamp to ID Software (via phone or online). Customer also pays obviously 🙂
3) ID Software gives Customer a very long serial number.
The trick is….. the serial number is actually binary executable code + list of paid software
The exe code will be obsfucated as well so it doesn’t look mostly identical for different customers.
4) Customer types the very long serial number into UNLOCK.EXE
5) UNLOCK.EXE actually runs the binary code as provided in the “serial number”
Is it possible to make the binary code unhackable???
My idea is the binary code will have the decryption key embedded but salted with the compFingPrintTimeStamp.
Binary code decrypts “STAGE2.EXE” (via routine provided in UNLOCK.EXE) and calls it.
STAGE2.EXE validates compFingPrintTimeStamp and then voila – it will decrypt the paid software and save to HDD.
Would this actually work???? If any experts can find holes please let me know.
the data on the disc is still only encrypted with the one key – as soon as this one is known, a custom unlocker can be built that has access to everything. it’s just a bit more dancing around…
Good point.
Eventually the decryption key will leak similar to the “DVD Jon” story.
From Google….
“hacker group known as MoRE (Masters of Reverse Engineering) – including Johansen and anonymous peers on Internet Relay Chat (IRC) – targeted a poorly written software DVD player for Windows called XingDVD. The developers of XingDVD made a critical mistake: they failed to properly encrypt or hide the licensed CSS decryption keys inside the software memory”
So looks like it was impossible for ID Software to mass produce an “unhackable” encrypted CD.