Elliptic Curve Product Keys

Discussion in 'Windows XP / Older OS' started by pottzman, Jan 1, 2022.

  1. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
    -DD: Decimal value, multiply by 2 and convert this value to hex, that's your BINK id
    This is your DPCDLL.DL_ extracted to dpcdll.dll with 7z
    2025-03-18_135337.png
    2025-03-18_135407.png
     
  2. wvv000

    wvv000 MDL Addicted

    Feb 21, 2019
    572
    672
    30
    thx
     
  3. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
  4. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
    Yeah man :shake:
    Retail, no? Activate with the embedded activator.
     
  5. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
    Well, that's a good thing about doing something wrong, you learn something new.
    That's my goto :D

    Cool, now you know the basic's.
    :good3:
     
  6. pottzman

    pottzman MDL Member

    Dec 8, 2009
    185
    242
    10
    the private key in that code is not incorrect.

    As it was explained to me when I asked exactly the same question.

    Part of XP style product key algorithm involves a signature = r - y*k calculation, where r is the nonce, y is the signature scalar from the hash function and k is the private key and * is multiplication. The entire operation is (one way or another) performed modulo the order of the curve n.

    “However, there is a debate as old as Schnorr signatures themselves about how to actually do this step. One school believes that r - y * k is the correct way to do things; others do r + y * k, but save -k as the private key relative to the public key.”

    Given k = 0x85103E596B2435, -k (mod n) = 0x565B0DFF8496C8 and vice-versa.
     
  7. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
    Hiya @pottzman
    Appreciated immensely for your answer :)
     
  8. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
  9. wvv000

    wvv000 MDL Addicted

    Feb 21, 2019
    572
    672
    30
    I don't understand how to use this tool, for example, the pidgen file is placed there, and the software tab is empty
     
  10. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
    @wvv000

    To give you a head start:
    When you start Elliptic Curve Tool it will make a Keysets folder with two subfolders.
    When you import resources from a pidgen/mso/pidca (containing valid BINK resources) you will get *.ks2 files in your Baseline subfolder.
    All curve parameters except the k and n value are listed.
    They are "easily" obtained doing https://forums.mydigitallife.net/posts/1870192
    This is done once and is the base for creating a key for a spesific BINK.
    PID range is something you obtaine from, example, dpcdll.dll from your image.

    To validate a key, you must make a folder Pidgen side-by-side Keysets folder.
    Here you add a pidgen file, for Windows pidgen's you can use them as-is, with some limits.
    Pidgen from Win9x will not work so you need to transfer resourses, this is also true for mso.
    Pidgen should be named "PIDGEN-BINK xxx..x.dll", PIDGEN-BINK ID2C-2D.dll is excellent naming for those you uploaded.
    Lower hex value is retail, upper value is oem. Minor variations occure but this is the basic.
    This is a very valuable feature, but you don't need it for basic use.

    Very generic how-to, give it a try, i'm sure you appreciate it.
    :)
     
  11. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90
    I might add, some (later) pidgen's, as an example may contain a blacklist.
    Validating a good key against a blaclisted will give you not valid in return.
    The thingy here is to "null" out the blacklisted PID range.

    Get the basic and we can focus on this later.
    :)
     
  12. Dark Dinosaur

    Dark Dinosaur X Æ A-12

    Feb 2, 2011
    4,261
    6,137
    150
    i only saw one guide (from Hacker?pcs),
    but now i see also Sajo guide.
    will give it a try
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. Sajjo

    Sajjo MDL Member

    Feb 6, 2018
    2,636
    3,766
    90

    Attached Files:

  14. pm67310

    pm67310 MDL Guru

    Sep 6, 2011
    3,490
    2,713
    120
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. un user

    un user MDL Member

    Jun 16, 2013
    163
    123
    10
  16. CaptainKirk1966

    CaptainKirk1966 Former MDL Guru
    Staff Member

    Oct 31, 2009
    2,641
    1,487
    90
    @un user - It's interesting that you mentioned umskt in step 3 above. That's pretty much what I have been doing, pulling data from the umskt "keys.json" file and feeding it into the EllipticCurveTool. It seems like a good way to get a feel for what the EllipticCurveTool does.

    Of course, I could just run the umskt.exe binary if I wanted to generate a key in a hurry. It seems the EllipticCurveTool discussed here is intended to be more of a research or education tool, rather than a general purpose key generator. Correct me if I'm wrong. ;)