Results 1 to 2 of 2

Thread: ProductID to Product Key formula?

  1. #1
    Steven Guest

    ProductID to Product Key formula?

    I know there are tools that can convert a ProductID
    (AAAAA-BBB-CCCCCCC-DDDDD) back into a Product Key (
    xxxxx-xxxxx-xxxxx-xxxxx-xxxxx), does anyone know where I can get the formula
    to do this (or is there a built-in function to do this already)? I'd like
    to add it to my HTA script and would prefer not to 'trust' an exe I didn't
    write myself. I do remember reading articles on generating the ProductID
    but not the other way around (years ago).

    I'm using WMI and VBS in my HTA.

    Currently my script uses WMI to get the following data:
    -Disk usage by volume/Partition (Label, Format, Size, Free and used space,
    %used)
    -installation date
    -OS version and SP level (IE "Windows Server 2000 Advanced SP4")
    ToDo:
    -top ten warnings and errors (App and SYS)
    -event log archive and clear
    -PC and DHCP lease counts (ADSI?)



  2. #2
    Carsten Krueger Guest

    Re: ProductID to Product Key formula?

    Am Wed, 31 Jan 2007 17:17:54 -0800 schrieb Steven:

    > I know there are tools that can convert a ProductID
    > (AAAAA-BBB-CCCCCCC-DDDDD) back into a Product Key (
    > xxxxx-xxxxx-xxxxx-xxxxx-xxxxx), does anyone know where I can get the formula
    > to do this (or is there a built-in function to do this already)?


    -------------------------------------------------------------------------------------
    'Author: gecko_au2003
    'Published:
    http://www.experts-exchange.com/Oper..._20832633.html

    Public Function sGetXPCDKey()

    Dim bDigitalProductID
    Dim bProductKey()
    Dim bKeyChars(24)
    Dim ilByte
    Dim nCur
    Dim sCDKey
    Dim ilKeyByte
    Dim ilBit

    ReDim Preserve bProductKey(14)

    Set objShell = CreateObject("WScript.Shell")

    bDigitalProductID =
    objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows
    NT\CurrentVersion\DigitalProductId")

    Set objShell = Nothing

    For ilByte = 52 To 66
    bProductKey(ilByte - 52) = bDigitalProductID(ilByte)
    Next

    'Possible characters in the CD Key:
    bKeyChars(0) = Asc("B")
    bKeyChars(1) = Asc("C")
    bKeyChars(2) = Asc("D")
    bKeyChars(3) = Asc("F")
    bKeyChars(4) = Asc("G")
    bKeyChars(5) = Asc("H")
    bKeyChars(6) = Asc("J")
    bKeyChars(7) = Asc("K")
    bKeyChars(8) = Asc("M")
    bKeyChars(9) = Asc("P")
    bKeyChars(10) = Asc("Q")
    bKeyChars(11) = Asc("R")
    bKeyChars(12) = Asc("T")
    bKeyChars(13) = Asc("V")
    bKeyChars(14) = Asc("W")
    bKeyChars(15) = Asc("X")
    bKeyChars(16) = Asc("Y")
    bKeyChars(17) = Asc("2")
    bKeyChars(18) = Asc("3")
    bKeyChars(19) = Asc("4")
    bKeyChars(20) = Asc("6")
    bKeyChars(21) = Asc("7")
    bKeyChars(22) = Asc("8")
    bKeyChars(23) = Asc("9")

    For ilByte = 24 To 0 Step -1

    nCur = 0

    For ilKeyByte = 14 To 0 Step -1
    'Step through each byte in the Product Key
    nCur = nCur * 256 Xor bProductKey(ilKeyByte)
    bProductKey(ilKeyByte) = Int(nCur / 24)
    nCur = nCur Mod 24
    Next

    sCDKey = Chr(bKeyChars(nCur)) & sCDKey
    If ilByte Mod 5 = 0 And ilByte <> 0 Then sCDKey = "-" & sCDKey
    Next

    sGetXPCDKey = sCDKey


    End Function

    Public Function Question()
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Dim Ans

    Ans = MsgBox("Yes = Write Windows XP Serial key to the C Drive and No =
    Prompt with Serial key",4)

    If Ans = vbYes then

    Set oOutFile = objFSO.CreateTextFile("c:\XP_Serial_Key.txt")

    oOutFile.WriteLine sGetXPCDKey
    else
    wscript.echo sGetXPCDKey
    End If
    End Function

    call Question
    -------------------------------------------------------------------------------------

    greetings
    Carsten
    --
    http://got.to/quote - richtig zitieren | http://oe-faq.de/ - OE im Usenet
    http://www.realname-diskussion.info - Realnames sind keine Pflicht
    http://www.spamgourmet.com/ + http://www.temporaryinbox.com/ - Antispam
    cakruege (at) gmail (dot) com | http://www.geocities.com/mungfaq/

Similar Threads

  1. Need formula help for MS Excel
    By RlyPlyPanda in forum MS Office Support
    Replies: 1
    Last Post: 08-05-2012, 01:46 PM
  2. Replies: 1
    Last Post: 21-05-2011, 04:45 AM
  3. Replies: 5
    Last Post: 16-10-2010, 05:52 AM
  4. Replies: 3
    Last Post: 15-02-2008, 01:32 AM
  5. SBS 2003 physical product CD's and Product Keys?
    By William Fields in forum Windows Server Help
    Replies: 7
    Last Post: 12-10-2006, 05:56 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,714,624,555.21512 seconds with 17 queries