Jump to content

Lost CD Key


teejayh

Recommended Posts

I have an OEM version of Windows XP Pro here that I lost the CD key. It has never been installed. Is there a way to find out what the key is from the CD or a way of contacting MS to find out or get a new key? Thanks! TJ

Link to comment
Share on other sites


If you only have the XP CD (hologramed), you're out of luck since the key is not normally embedded in the CD.

If you have an OEM CD from a company (ie. Dell, HP, Compaq) then you can look in a few places. Search the CD for the following files:

WINNT.SIF

UNATTEND.TXT

OOBEINFO.INI

If you still have XP installed you're in luck, you could find it in a few places.

Create a text file called "getkey.vbs", edit it in notepad and add the following code:

Dim objFS, objShell
Dim strXPKey

Set objShell = CreateObject("WScript.Shell")

strXPKey = objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName")
If Len(strXPKey) > 0 Then
WScript.Echo "[UserData]"
WScript.Echo "ProductKey=" & chr(34) & GetKey(objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId")) & chr(34)
WScript.Echo "[Data]"
WScript.Echo "MSDosInitiated=0"
WScript.Echo "UnattendedInstall=Yes"
End If

Function GetKey(rpk)
Const rpkOffset=52:i=28
szPossibleChars="BCDFGHJKMPQRTVWXY2346789"
Do
dwAccumulator=0 : j=14
Do
dwAccumulator=dwAccumulator*256
dwAccumulator=rpk(j+rpkOffset)+dwAccumulator
rpk(j+rpkOffset)=(dwAccumulator\24) and 255
dwAccumulator=dwAccumulator Mod 24
j=j-1
Loop While j>=0
i=i-1 : szProductKey=mid(szPossibleChars,dwAccumulator+1,1)&szProductKey
if (((29-i) Mod 6)=0) and (i<>-1) then
i=i-1 : szProductKey="-"&szProductKey
End If
Loop While i>=0
GetKey=szProductKey
End Function

Then create a text file called "getfiles.bat", open it in notepad and paste the following code:

attrib -s %SystemRoot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
makecab %SystemRoot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
attrib +s %SystemRoot%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\OEMBIOS.CAT
makecab %SystemRoot%\system32\OEMBIOS.BIN
makecab %SystemRoot%\system32\OEMBIOS.DAT
makecab %SystemRoot%\system32\OEMBIOS.SIG
cscript //nologo getkey.vbs > winnt.sif

Put both files in an empty folder, then double-click the file "getfiles.bat" and everything you need to activate XP will be dumped into that folder. :)

You're welcome. :thumbup

Edited by mr_smartepants
Link to comment
Share on other sites

The genuine cdrom of Windows XP Pro or Home or any version is nothing !

You must have the key and your sticker.

Media/CD can be recopied from friend without problem, it's tolered ...

Link to comment
Share on other sites

Will the VBS code above work to get the other Microsoft product License Keys (by changing the registry path) such

as all the Office products: Access, Word, project, visio etc? Are the OS and/or Office product

license keys encoded the same way for Win95,98,Me,2000,XP, and Vista ?

What is the algorithm being used above called? Is it some form of AES encryption etc?

I assume the algorithm can be done in reverse such that starting with the license key one

then uses the algorithm as-is or to rewrite it to do the algorthm in reverse to get the data that

should be written to the registry for the installed MSoft s/w product? This will allow one to

change the key at-will.

Edited by mikesw
Link to comment
Share on other sites

@Ponch: Thanks for correction! I do many language errors, thanks for anyone correct me ! :P

@mikesw: Nothing to do with AES algorithm ! It's just a basic conversion. This method is used

for Windows because there are keys preactivated with hardware, but for Office there isn't preactivated license, so if you use license many times you will be in illegal status, but I think you could find a vbs script to get your Office license.

There are many softs like Everest which get all licenses of your system ...

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...
Dim objFS, objShell

Dim strXPKey

Set objShell = CreateObject("WScript.Shell")

WScript.Echo "ProductKey=" & chr(34) & GetKey(objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\DigitalProductId")) & chr(34)

Function GetKey(rpk)

Const rpkOffset=52:i=28

szPossibleChars="BCDFGHJKMPQRTVWXY2346789"

Do

dwAccumulator=0 : j=14

Do

dwAccumulator=dwAccumulator*256

dwAccumulator=rpk(j+rpkOffset)+dwAccumulator

rpk(j+rpkOffset)=(dwAccumulator\24) and 255

dwAccumulator=dwAccumulator Mod 24

j=j-1

Loop While j>=0

i=i-1 : szProductKey=mid(szPossibleChars,dwAccumulator+1,1)&szProductKey

if (((29-i) Mod 6)=0) and (i<>-1) then

i=i-1 : szProductKey="-"&szProductKey

End If

Loop While i>=0

GetKey=szProductKey

End Function

Its show the key. what is its reverse method?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...