Jump to content

Recommended Posts

Posted

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


Posted (edited)

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
Posted

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 ...

Posted (edited)

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
Posted

@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 ...

  • 2 weeks later...
  • 1 year later...
Posted
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?

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

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