Product ID generation

Discussion in 'Windows 7' started by DKane, Dec 27, 2009.

  1. DKane

    DKane MDL Junior Member

    Sep 18, 2009
    63
    63
    0
    Does anyone know how MS gets a PID from a given product key? I know that the first section indicates the region, and the second is "OEM" on OEM systems, but what mathematical trickery is performed to get the numbers?

    Or is this one of those great unsolved mysteries? Does it involve putting pidgenx.dll through a debugger, and no-one's been bothered to yet?
     
  2. Mr Jinje

    Mr Jinje MDL Expert

    Aug 19, 2009
    1,770
    1,101
    60
    #2 Mr Jinje, Dec 27, 2009
    Last edited: Dec 27, 2009
    It is a one way mechanism, I don't think it has been cracked ever.
     
  3. DKane

    DKane MDL Junior Member

    Sep 18, 2009
    63
    63
    0
    I was expecting that... After all, MS would be in trouble otherwise!

    I was just wondering if the algorithm for turning a key into a product ID was at all documented anywhere, officially or otherwise. Just out of nerd-curiosity.
     
  4. SCBrigth

    SCBrigth MDL Senior Member

    May 9, 2009
    489
    73
    10
    Some day, who knows, a former and unhappy MS employee can give a clue...:D
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. dar45

    dar45 MDL Novice

    Sep 10, 2009
    20
    1
    0
    Good question DKane!! Wonder if we will ever have a copy of that software:p
     
  6. HotCarl

    HotCarl MDL Addicted

    Jul 21, 2009
    831
    16
    30
    If there were, then we would have a keygen for Windows 7 :p

    You can use pidgenx.dll and pkeyconfig.xrm-ms to generate the product ID of a product key, but then you have to write code to grab it out of memory and parse it to make it useful (like I do in my program, and how it is done in probably all product key checker programs)... *How* pidgenx.dll takes the product key and generates the Product ID and whatnot is anyone's guess though...only MS knows :p ;)
     
  7. DKane

    DKane MDL Junior Member

    Sep 18, 2009
    63
    63
    0
    Oh... I assumed that you could see what was going on, like, by looking at it with a debugger. But that it was far easier to do one way than the other. You know, like discrete logarithms.