Il keygen (dalla contrazione delle parole inglesi key, chiave e generator, generatore, "generatore di chiavi o codici") in informatica è un programma creato appositamente per registrare in maniera fraudolenta un programma commerciale a pagamento. A differenza dei crack il keygen non modifica assolutamente il programma, ma si limita a sbloccarlo mediante una serie di codici appositamente confezionati. Il Keygen è spesso un programma complesso cui, oltre al cracker (colui che disassembla il programma al fine di trovare i codici e gli algoritmi di registrazione), lavorano anche grafici, musicisti e programmatori, spesso raggruppati in un gruppo dove ognuno ha il suo scopo preciso. A volte tutte queste figure si raggruppano in un singolo individuo. Non è detto che tutti i keygen abbiano musica o grafica elaborata.[1]
Funzionamento
[modifica | modifica wikitesto]Chi crea un keygen deve prima disassemblare il codice del programma che vuole registrare, poi con appositi programmi (esempio i debugger) trova l'algoritmo che genera il codice d'attivazione. Dopodiché crea il generatore con le istruzioni dell'algoritmo del software commerciale.[2][3]
Tipologie
[modifica | modifica wikitesto]Un keygen viene quindi assemblato a seconda delle specifiche richieste del software da registrare.
- Per un programma che richiede nome utente e password, dove la password è collegata al nome usando un algoritmo per essere creata, il keygen chiederà di inserire il nome utente e restituirà un codice d'attivazione adeguato.
- Per un programma che richiede solo codice d'attivazione il keygen ha già al suo interno varie decine di codici che si possono usare a piacimento. Questo tipo di keygen, in realtà non genera nessuna chiave ma si limita a mostrarne alcune prese dal database interno all'applicazione.
- Per un programma che ha il codice d'attivazione legato al nome utente (come nel primo esempio), ma che poi richiede un altro codice basato su una password generata a caso chiamata "Request code", usata per una doppia sicurezza. Il keygen deve essere quindi in grado di generare il primo codice in base al nome utente e il secondo chiamato response code in base al Request code
- Per un programma che ha il codice d'attivazione legato al nome utente (come nel primo esempio), ma che ha in input anche un codice ("Request code") basato sull'hardware della macchina. Il keygen deve essere quindi in grado di generare il primo codice in base al nome utente e al codice hardware della macchina. Un codice hardware può essere generato a partire da uno o più codici univoci (seriali) di periferiche hardware, come ad esempio l'indirizzo MAC della scheda di rete. L'utilizzo del codice MAC è molto utilizzato in applicazioni che necessitano di una scheda di rete per funzionare (evitando quindi il rischio di essere installati su computer senza scheda di rete). Altro seriale hardware molto utilizzato è quello del disco rigido, facilmente accessibile tramite l'interfaccia SMART.
Note
[modifica | modifica wikitesto]- ^ (EN) View of Endless loop: A brief history of chiptunes, su journal.transformativeworks.org. URL consultato il 20 maggio 2020.
- ^ Reverse engineering : realizzare un keygen, su Elettronica Open Source, 1º Ottobre 2011. URL consultato il 20 maggio 2020.
- ^ QTalka 1.05: creiamo un piccolo keygenerator, su spin.quequero.org. URL consultato il 20 maggio 2020.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- [1] Archiviato il 22 maggio 2020 in Internet Archive.