How is a Confirmation ID derived from the Installation ID in WPA? #2
Labels
No Label
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: endermanch/XPKeygen#2
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Would be pretty neat to incorporate a generator for it to get rid of WPA in a "legitimate" way without resorting to patches or third-party XP repacks.
That's a job for a way different keygen. The algorithm for Confirmation ID generation isn't publicly known and it would require deep research into XP's source code, particularly pidgen / dpcdll. The Microsoft call center still works, so you can generate a valid Confirmation ID via normal means still for free. The only publicly known and confirmed correct information about Installation ID's is on Licenturion. That's how far I am in my research.
https://www.licenturion.com/xp/fully-licensed-wpa.txt
What I can tell you for sure is such a keygen exists and I'm currently trying to acquire it.
Bad news: the "good stuff" for the WPA system was stripped out of the WinXP code "release".
Good news: some kind soul decompiled the libraries and provided a nice zip for the code. Some variables have autogenerated names, but it should be a good starting point.
ds.zip_decompiled_XPSP1_winlogon (1).zip
That doesn't help a ton, but I've figured the algorithm out. Huge props to diamondggg for providing necessary discussions and documents, here's how that works:
The Confirmation ID generation is based on a hyperelliptic curve of genus 2 with a set jacobian (generator):

There exists an algorithm that generates valid Confirmation IDs based on Installation IDs. The Installation ID is first unpacked using the Licenturion cheat sheet, then decrypted via a certain scheme. The rest of the job is finding such set of points that would satisfy the curve equation.
It must be noted that cryptographically that scheme is not secure.
The algorithm:
All credit belongs to diamondggg.