Windows Genuine Advantage crackato

Il sistema di verifica di copie pirata messo a punto da Microsoft e obbligatoriamente installato con la nuova versione di Windows Update è stato vanificato da una riga di javascript:


javascript:void(window.g_sDisableWGACheck=’all’)



A darne notizia è stato Cory Doctorow su Boing Boing.


In realtà che il javascript fosse la chiave di volta per aggirare il controllo sulla validità delle propria product key si era capito e già da qualche ora circolavano script per Trixie e Greasemonkey realizzati da Rafael Rivera e postati sul suo blog

.

Diciamo che questi sono dei rimedi temporanei che nulla spiegano del funzionamento del processo di validazione messo a punto da Microsoft.
Quello che ho capito utilizzando Filemon di Sysinternals e che per verificare la genuinità della propria licenza durante una sessione di Windows Update viene richiamata la .dll LegitCheckControl.dll installata in C:\WINDOWS\system32. Questa libreria dinamica viene installata da Windows Update attraverso un pacchetto .msi residente C:\Windows\Installer e a mio avviso (ma potrei anche sbagliarmi) si occupa di leggere la product key, inviarla a Windows Update che la confronta con le product key autentiche.



Se si prova a rinominare LegitCheckControl.dll in LegitCheckControl.dll.old e si riesegue Windows Update lo strumento di verifica della validità della propria product key (WGA) viene riscaricato e reinstallato non trovando più il proprio componente principale.
Sarebbe molto interessante vedere le chiavi di registro a cui accede LegitCheckControl.dll e loggare attraverso uno strumento come Fiddler i dati trasmessi a Windows Update.


In ogni caso vorrei offrire uno spunto di riflessione: sono efficaci i workaround realizzati in javascript per eludere il check di validità ma bisognerebbe, imho, fare un pò di reverse engineering sugli eseguibili coinvolti nella validazione.