($) Secrets to Microsoft CD-Keys ($)

CD Keys are interchangabe between Microsoft products. Meaning you can take your Windows'95 CD Key and reuse it on your Office Professional product.
CD Keys contain numeric values only (0..9). The length of the key is 10 digits and follows this format xxx-xxxxxxx.
The first 3 digits of the CD Key are garbage. They bear no value to the authentication of the key itself. Perhaps its a manufacturing or regional code.
       Example: XXX-0123456
                |_| |_____|
                 |     |
              Garbage  |
                      Key

Microsoft OEM CD Keys are the same as Microsoft CD's Key. Microsoft just included MORE garbage.
       Example: XXXXX-OEM-0123456-XXXXX
                |_______| |_____| |___|
                    |        |      |
                    |       Key     |
                    |_______________|
                    |
                    |
                 Garbage
The last 7 seven digits is the real key or in the OEM version of the key its the 3rd set of digits. It was discovered that the digits do not need to follow a certain sequence. For example the key XXX-0123456 can simply be reverse to produce a valid key as XXX-6543210. By this the demonstration we can conclude that the validation routine is either XOR or SUM based. It was later verified that it was a SUM validation routine.

 

 
 
 


Key Validation

The algorythm to the validation routine is a VERY simple one. One can write a small amount of source code that will randomly generate valid CD Keys.

Lets use the following key as an example: 666-0077700 (Lucky 7's Key)

Strip off the 1st 3 digits (garbage).
Take each digit left over and add them together.
        0 + 0 + 7 + 7 + 7 + 0 + 0 = 21
Now divide the result by 7 and take the fractional part. If it is 0 then the key is considered to be authentic.
        21 / 7 = 3.0

[Back]