Oggi volevo parlare di una problematica che ho da sempre notato nel programma Sublime Text, un editor di programmazione a pagamento piuttosto valido.
Come avrai potuto leggere dal titolo, questa non è una problematica di tipo funzionale o un problema che intacca l’esperienza utente. Questo è un problema che può intaccare le tasche dell’azienda produttrice di questo software. Dico questo in quanto è veramente facile, troppo facile, ottenere una licenza illecita del programma (quindi usarlo senza limitazioni funzionali e temporali) ovviamente evitando di pagare.
Come mai è possibile questo?
Per cercare di comprendere il problema, bisogna prima capire la sintassi di una licenza tipo di Sublime Text.
Questo è un esempio di licenza
—– BEGIN LICENSE —–
TwitterInc
200 User License
EA7E-890007
1D77F72E 390CDD93 4DCBA022 FAF60790
61AA12C0 A37081C5 D0316412 4584D136
94D7F7D4 95BC8C1C 527DA828 560BB037
D1EDDD8C AE7B379F 50C9D69D B35179EF
2FE898C4 8E4277A8 555CE714 E1FB0E43
D5D52613 C3D12E98 BC49967F 7652EED2
9D2D2E61 67610860 6D338B72 5CF95C69
E36B85CC 84991F19 7575D828 470A92AB
—— END LICENSE ——
Questa sintassi prevede innanzi tutto di specificare l’inizio e la fine della licenza da inserire, con le due parole chiave BEGIN LICENSE ed END LICENSE.
Nella seconda riga è previsto il nome dell’intestatario
Nella successiva il quantitativo di attivazioni possibili (ma questo viene mostrato come descrizione, può non corrispondere alla realtà se si prende questa licenza da canali non ufficiali).
Poi c’è tutta una sequenza di codice che è una sorta di product key.
Per attivare il programma va copiato e incollato tutto il testo della licenza, incluse le due parole chiave analizzate poco fa. Non vi spiego dove copiarla, dato che questo articolo non vuole insegnare ad attivare illegalmente questo programma.
Ogni licenza che trovate in rete è studiata in base ad una specifica versione del programma. Questa licenza per esempio non è più valida, dato che non è in grado di attivare l’ultima versione di Sublime Text, ma si ferma alla precedente.
Cosa avviene durante il processo di attivazione?
Per capire il perché sia possibile attivare il programma senza che venga acquistato, bisogna comprendere cosa avviene durante il processo di attivazione. Un utente inserisce il testo della licenza e se quest’ultima è valida, il programma viene effettivamente attivato con successo.
Ci sono diverse problematiche nel processo. Innanzi tutto non è presente un controllo in rete. In pratica potrete attivare l’editor anche senza connessione ad internet. Questo fa si che il software non va a verificare se voi avete ottenuto questa licenza regolarmente, andando a confrontare il nome del proprietario della licenza (presente nella seconda riga della stessa) con la product key.
Il sistema di attivazione controlla soltanto la validità logica della key. In pratica controlla se la product key corrisponde alla reale sintassi. Una product key possiamo paragonarla (per semplificare al massimo) all’ultima lettera del codice fiscale. Quest’ultima serve per verificare la validità dell’intero codice fiscale. Ecco. Ogni lettera di una product key verifica la validità della precedente. Ogni blocco (separato da uno spazio o da un trattino, dipende a seconda della sintassi usata da chi rilascia il programma e le relative licenze), verifica la validità del precedente. Riprodotta la sintassi che deve avere questa licenza e compreso l’algoritmo di controllo e di convalidazione di una licenza… beh è facile poi produrre licenze in massa.
Ed è quello che sta succedendo. E’ così facile trovare una licenza non originale a tal punto che basta una ricerca di 2 minuti per trovarne una. E nel 70% dei casi, quella trovata è quella che funziona. Una percentuale disarmante.
Questo articolo, come dicevo in precedenza, non serve per descrivere un problema che intacca l’uso di un utente del programma, ma che intacca i guadagni dell’azienda, vista la facilità di attivazione. Sono 2 anni che uso questo software e sono due anni che mi informo se hanno risolto il problema, provando io stesso a verificare.. ma no, siamo sempre qui.
E il brutto è che questo problema esiste su tutte le versioni, quindi sia su Windows, che su Linux, che su Mac.
Questo quindi è stato un modo per cercare di documentare un problema serio, che secondo me dovrebbero risolverlo al più presto.
E voi che cosa ne pensate?
Con questo quindi è tutto… alla prossima!