Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
XPKeygen — Keygen per Windows XP | Kitploit
Strumenti/GitHubGitHub/endermanch/xpkeygen
Reverse EngineeringCrittografiaAnalisi di Binari
GitHubendermanch/xpkeygen

XPKeygen

Keygen per Windows XP

Vedi Repository
1.1k68152 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

XPKeygen

Un generatore di chiavi VLK per Windows XP / Windows Server 2003. Questo strumento consente di generare chiavi Windows XP valide basate sulla Raw Product Key, che può essere casuale. La Raw Product Key (RPK) viene fornita sotto forma di 9 cifre XXX-YYYYYY ed è necessaria solo per generare una chiave Windows XP.

XP Keygen

Download

Vai alla scheda Releases e scarica l'ultima versione da lì.

Piani

Questo progetto non è morto: farò del mio meglio per portarlo a compimento.

Il problema

In generale, l'unica cosa che ci separa dalla generazione di chiavi Windows XP valide per OGNI EDIZIONE e OGNI BUILD è la mancanza delle rispettive chiavi private generate dalle loro controparti pubbliche all'interno di pidgen.dll. Non esiste codice ampiamente disponibile online per la funzione del logaritmo discreto su curve ellittiche, ci sono solo informazioni vaghe su come farlo.

Col passare del tempo, il problema è stato parzialmente risolto.

La risorsa BINK non era codificata in alcun modo e i dati venivano semplicemente scritti in sequenza nella risorsa. sk00ter ha anche spiegato completamente il formato BINK sui forum MDL. Utilizzando le conoscenze precedenti della comunità sull'argomento, ho scritto un BINK Reader in Python 3. Il file è pubblico in questo repository, clicca qui per visualizzare il codice sorgente.

La soluzione del logaritmo discreto è l'area di ricerca più inesplorata al 28 maggio 2023. Tuttavia, il mio amico nephacks ha trovato quell'elusivo strumento per risolvere quel difficile problema negli angoli più oscuri di Internet. Si chiama ECDLP (Elliptic Curve Discrete Logarithm Problem) Solver di Mr. HAANDI. Poiché trovarlo online è stato estremamente frustrante, l'ho ricaricato sul mio sito web. Puoi scaricare lo strumento qui.

Il file ReadMe incluso nella versione 0.2a del solver è già abbastanza chiaro di per sé, quindi chiunque abbia un minimo di cervello sarà in grado di configurare lo strumento. Tuttavia, non è open-source, quindi integrarlo nel mio keygen si è rivelato impossibile.

Nello scenario ideale, il keygen ti chiederebbe una risorsa BINK estratta da pidgen.dll, che poi decomporrebbe nei seguenti segmenti:

  • Chiave pubblica (pubX; pubY)
  • Generatore (genX; genY)
  • Punto base (a; b)
  • Conteggio dei punti p

Conoscendo questi segmenti, il keygen potrebbe forzare l'ordine del generatore genOrder usando l'algoritmo di Schoof, seguito dalla chiave privata privateKey, sfruttando il genOrder calcolato per usare l'algoritmo più ottimale di Pollard's Rho. Non c'è dubbio che possiamo violare qualsiasi chiave privata in circa 20 minuti usando la potenza di calcolo moderna, a patto di avere l'algoritmo funzionante.

Una volta che il keygen ha terminato di forzare la chiave privata corretta, il compito si riduce a generare effettivamente una chiave, cosa che questo keygen fa. Per darti una prospettiva migliore, posso fornirti il flusso del keygen ideale. Ciò che è barrato è ciò che il mio keygen implementa:

  • Estrazione della risorsa BINK
  • Forza bruta della soluzione del logaritmo discreto su curve ellittiche (genOrder, privateKey)
  • Meccanismo di elaborazione della Product Key
  • Generazione di chiavi Windows XP
  • Validazione di chiavi Windows XP
  • Generazione di chiavi Windows Server 2003

Principio di funzionamento

Dobbiamo usare una Raw Product Key casuale come base per generare un Product ID nella forma AAAAA-BBB-CCCCCCS-DDEEE.

Product ID

CifreSignificato
AAAAACostante famiglia di OS
BBBID canale
CCCCCCNumero di sequenza
SCifra di controllo
DDIndice della chiave pubblica
EEENumero casuale di 3 cifre

La costante della famiglia di OS AAAAA è diversa per ogni serie di Windows XP. Ad esempio, è 76487 per SP3.

Le sezioni BBB e CCCCCC codificano essenzialmente la Raw Product Key. Ad esempio, se la prima sezione è uguale a XXX e la seconda sezione è uguale a YYYYYY, la Raw Product Key verrà codificata come XXX-YYYYYY.

La cifra di controllo S viene scelta in modo che la somma di tutte le cifre C con essa aggiunta dia un numero divisibile per 7.

L'indice della chiave pubblica DD ci fa sapere quale chiave pubblica è stata usata per verificare con successo l'autenticità della nostra Product Key. Ad esempio, è 22 per le chiavi Professional e 23 per le chiavi VLK.

Un numero casuale EEE viene usato per generare ogni volta un Installation ID diverso.

Product Key

La Product Key stessa (da non confondere con la RPK) è nella forma FFFFF-GGGGG-HHHHH-JJJJJ-KKKKK, codificata in Base-24 con l'alfabeto BCDFGHJKMPQRTVWXY2346789 per escludere qualsiasi carattere che possa essere facilmente confuso, come I e 1 oppure O e 0.

Secondo la formula della capacità dell'alfabeto, la chiave può contenere al massimo 114 bit di informazioni. $$N = \log_2(24^{25}) \approx 114$$

In base a questo calcolo, decomponiamo la Product Key a 114 bit in 4 segmenti ordinati:

SegmentoCapacitàDati
Aggiornamento1 bitFlag di versione di aggiornamento
Seriale30 bitRaw Product Key (RPK)
Hash28 bitHash RPK
Firma55 bitFirma su curva ellittica per l'hash RPK

Per semplicità, combineremo i segmenti Upgrade e Seriale in un unico segmento chiamato Data. Con questa logica saremo in grado di estrarre la RPK traslando Data a destra e di ricomporla traslando i bit a sinistra, perché la maggior parte delle Product Key a priori valide che ho controllato aveva il bit di Upgrade impostato a 1.

Microsoft ha rifatto il formato della Product Key con Windows Server 2003 per includere una chiave di autenticazione del server backend, un approccio in realtà sicuro alla validazione delle licenze, poiché nessuno avrebbe mai potuto indovinare quale algoritmo di validazione avessero impiegato sul loro server privato. Oltre ad aggiungere il meccanismo di validazione online, hanno anche aumentato l'aritmetica complessiva da 384 a 512 bit e lo scalare della firma a 62 bit di informazioni.

SegmentoCapacitàDati
Aggiornamento1 bitFlag di versione di aggiornamento
ID canale10 bitLa parte BBB della RPK
Hash31 bitHash RPK
Firma62 bitFirma su curva ellittica per l'hash RPK
Chiave di autenticazione10 bitValore di autenticazione backend

Tuttavia, se generassimo una chiave senza pensare all'attivazione online, potremmo comunque generare chiavi valide che ci farebbero superare l'installazione del sistema operativo. Ed è esattamente ciò che fa il codice: genera una chiave di autenticazione casuale a 10 bit. Al giorno d'oggi non ha più alcuna importanza, dato che i server di attivazione sono offline e Server 2003 è considerato abandonware, così come questo intero progetto non dovrebbe essere considerato pirateria.

Curve ellittiche

Scarica lo strumento