Open source Windows 7 product key checker

Discussion in 'MDL Projects and Applications' started by Daz, Oct 15, 2009.

  1. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
    #241 user_hidden, Nov 24, 2012
    Last edited: Nov 24, 2012
  2. CODYQX4

    CODYQX4 MDL Developer

    Sep 4, 2009
    4,814
    45,681
    150
    #242 CODYQX4, Nov 24, 2012
    Last edited: Apr 12, 2019
    .
     
  3. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
    I have one function implemented for CryptoID ever since freestyler brought it up.

    I wanted to add the EditionID and ProductDescription from the xrm file but am stuck.

    Maybe if you want to share your functions it may help.
     
  4. CODYQX4

    CODYQX4 MDL Developer

    Sep 4, 2009
    4,814
    45,681
    150
    #244 CODYQX4, Nov 24, 2012
    Last edited: Apr 12, 2019
    .
     
  5. janek2012

    janek2012 MDL Member

    Dec 29, 2008
    214
    984
    10
    #245 janek2012, Nov 24, 2012
    Last edited by a moderator: Apr 20, 2017
    Dear user_hidden, take a look at the pkeyconfig decoded structure:
    Code:
    <Configuration>
    <ActConfigId>{f8c153f5-e319-4296-a308-922b83cb319a}</ActConfigId>
    <RefGroupId>1813</RefGroupId>
    <EditionId>ServerMultiPointStandard</EditionId>
    <ProductDescription>MultiPoint Server 2012 RTM ServerMultiPointStandard OEM:NONSLP</ProductDescription>
    <ProductKeyType>OEM:NONSLP</ProductKeyType>
    <IsRandomized>false</IsRandomized>
    </Configuration>
    First of all, note that "ActConfigId" node does not have any child nodes. You have to enter each "Configuration" node, then check its "ActConfigId" node inner text. If it is your aid then assign "RefGroupId" inner text to a cid variable, "EditionId" inner text to eid variable and "ProductDescription" inner text to pd variable. Now - how to get these variables aout of the function? You can just pass them to function as a reference (so they will stay changed after the function ends) or make your function return a structure of 3 strings instead of just string.

    Hope it will help you.

    Edit:

    I see CODYQX4 already posted a code but please consider implementing my suggestions if you need all the 3 informations because gathering them in one XML lookup will be much faster.
     
  6. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
  7. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
    thanks Janek.

    once i get Cody's code to work, i will cleanup the VB version and get it all into one function for greater speed.
     
  8. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
    i have a couple of AAOEM Win8 keys but the PID Checker sees them as invalid.
    i'm wondering if they require a different xrm-ms file?

    anyone have insight on this ?
     
  9. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    17,703
    15,807
    340
    What about Freestyler's online tool?? If that also fails, then it requires new xrm-ms file (or wrong key may be;)).
     
  10. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
    Paymyrent / The Dev or someone,

    ok guys I finally upgraded my OS to Win8 x64.
    what I am experiencing is some of my apps build on WinXP with VS2010 are not working.
    namely my PID Checker is not working which I would require some help for it to compile or maybe rewritten.
    I have tried converting it to Activex86 instead of AnyCPU but no difference.
    Language is VBnet under VS2010.

    Let me know I can PM my source
     
  11. PAYMYRENT

    PAYMYRENT MDL Developer

    Jul 28, 2009
    1,462
    419
    60
    i dont use 2010 but i do have 2012 they use the same format so it should work

    ill be happy to take a look.
     
  12. PAYMYRENT

    PAYMYRENT MDL Developer

    Jul 28, 2009
    1,462
    419
    60
    #252 PAYMYRENT, Dec 14, 2012
    Last edited: Dec 14, 2012
    works fine on windows 7 x64 after my modifications... im going to reboot and test it on windows 8 x64 ill edit when done :D

    EDIT:

    with my windows 8 tests it works on all my msdn keys. the only thing i broke while doing this is the Key finder lol but i guess that is an easy fix...

    sent you a pm with the updated source :p
     
  13. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
    @Paymyrent

    many thank sent you a PM
     
  14. user_hidden

    user_hidden MDL Expert

    Dec 18, 2007
    1,026
    986
    60
    anyone have the pkeyconfig.xrm-ms from Exchange 2013 that they can upload ?
     
  15. meisterlein

    meisterlein MDL Novice

    Aug 20, 2015
    5
    1
    0
    Source Code

    Hello there,

    can someone send me via PM an link for download the source code from the first post? The link from the first post is long time down and I canĀ“t found the code. Maybe someone has and shares this with me :)

    Thanks for help
     
  16. sk00ter

    sk00ter MDL Novice

    Apr 30, 2017
    7
    1
    0
    Since this appears to have become the general product key research thread, I'll ask here. I apologize if I'm doing something wrong.

    I am trying to understand how product keys in Windows XP, Vista, 7, 8, 8.1 and 10 are:
    1. decoded from their textual representation
    2. validated
    3. determined to belong to a certain edition and distribution channel.
    Thus far, this is as much as I know:

    Windows XP encodes keys as base-24 with the an alphabet of BCDFGHJKMPQRTVWXY2346789 and it uses Schnorr signatures with a non-standard elliptic curve. I do not understand Schnorr signatures or elliptic curves right now.

    In Windows 8, the base-24 alphabet has have changed: It now includes N, which was not there before.

    It seems that between Windows 8.1 and Windows 10, minimal or even no changes happened, according to these forums. I searched for "pidgenx.dll."

    Using Licenturion's xpdec tool and comparing the output with janek2012's Ultimate PID Checker for a Windows 7 key yielded a disparity in the calculated channel ID.

    More recent versions of Windows include a so-called pkeyconfig.xrm-ms, which appears to include some information on validation and distribution channels. This file is used with the PidGenX function.

    How big are the differences between Windows XP, Vista, 7 and 8?
    Assuming I understand the algorithm (which I don't, and the first part of the PidGenX export seems to be deriving a function pointer in a highly complex function), would there be more to do than getting the values from a different pkeyconfig.xrm-ms for 8, 8.1 and 10?
     
  17. spinalgr1998

    spinalgr1998 MDL Member

    Oct 16, 2014
    136
    5
    10
  18. laomms

    laomms MDL Novice

    Jul 6, 2018
    3
    1
    0