15

After setting up Windows 95 in a virtual machine, I noticed that it could verify the product key without internet (no serial ports or network adapters).

From modifying a genuine key at the CoA (Certificate of Authenticity) screen, I noticed that it was very sensitive about the first four digits of the first box of the OEM key (an OEM key for Windows 95 was 5 digits-OEM-7 digits-5 digits), and the entire 7 digits of the second box, but was very lax about the third: it even accepted 00000 and 99999.

How did it know when a product key was invalid or not? If I typed in some random numbers, I got a pop-up that read the Certificate of Authenticity you enter is not valid, so there was some verification.

2
  • 5
    It wasn't until Windows XP that Microsoft implemented online authentication.
    – user722
    May 15, 2018 at 21:56
  • 2
    I feel really really old. Jul 2, 2018 at 18:55

2 Answers 2

13

Key code verification was done by installer - without connecting to any server to verify if the key is valid / blacklisted. According to ViennaXP's answer on this thread on BetaArchive, Windows 95/NT keys must fit these constraints:

  1. the first digit of the first 5-digit block must be a 1 or 2
  2. the first 3 digits of the 7-digit blick must be 000
  3. the digit sum of the last 4 digits in the 7-digit block must be 7
  4. the 5 digits of the last block are irrelevant
2
  • 2
    That sounds mostly right. The third digit of the 7-digit block could also be a 1, 2, or 4. and the digit sum of the last 4 digits of the key could be 10 (1), 20 (2), 21 (3),14 (5), 16 (7), or 19 (10), from a list of working Windows 95 keys.
    – Zackary
    May 15, 2018 at 20:23
  • 1
    The keys you found are valid for windows 95B/C (OEM service releases). I'm not sure which version of win95 the constraints I found are valid for. Maybe they had tighter constraints for the initial release and later expanded them because they were running low or just wanted to have different range of values for later versions.
    – Algimantas
    May 15, 2018 at 20:37
6

It is

  1. The first 3 digits are the day of year from 001 - 366
  2. The next 2 digits are the year from 95 - 03
  3. The next 7 digits must be divisable by 7 but the number must start with a 0
  4. The next 5 digits do not matter.

Here's a key using this concept

20097-OEM-0888888-00000

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .