Articoli della sezione “Progetti”

Qui sotto sono elencati tutti gli articoli di questa sezione.

Aggirare un CAPTCHA per divertimento e divulgazione – Parte 5

Questo è il quinto articolo della serie sui CAPTCHA – meglio tornare al primo se non l’hai già letto.

Riassunto delle puntate precedenti

Ecco la ricetta per “leggere” il CAPTCHA di Vodafone!

  • rimuovere il rumore dal fondo dell’immagine, per sottrazione con un’immagine di solo rumore ottenuta comparando molti CAPTCHA;
  • applicare un filtro a soglia per rendere netti i contorni dei caratteri;
  • opzionalmente, correggere le aree bianche o nere troppo piccole e (semi)isolate dal resto;
  • segmentare l’immagine nei vari caratteri, ad esempio con un algoritmo flood fill;
  • ridimensionare ogni lettera individuata a 15×15 pixel;
  • dare in pasto ogni carattere a una rete neurale a percettrone propriamente allenata.

Ciò detto, quale è l’accuratezza del sistema?
Leggi il resto di “Aggirare un CAPTCHA per divertimento e divulgazione – Parte 5”

Aggirare un CAPTCHA per divertimento e divulgazione – Parte 4

Questo è il quarto articolo della serie sui CAPTCHA – meglio tornare al primo se non l’hai già letto.

Normalizzazione delle dimensioni delle lettere

Come si nota dall’immagine seguente, nel CAPTCHA di Vodafone solitamente le lettere  sono di dimensioni diverse.

Un CAPTCHA preso dal sito Vodafone, così com'è.

Questo è chiaramente un meccanismo per rendere più difficile l’individuazione delle lettere – peccato che è anche particolarmente semplice da aggirare. Vediamo come.

Leggi il resto di “Aggirare un CAPTCHA per divertimento e divulgazione – Parte 4”

Aggirare un CAPTCHA per divertimento e divulgazione – Parte 3

Questo è il terzo articolo della serie sui CAPTCHA – meglio tornare al primo se non l’hai già letto.

Filtraggio e rimozione delle imperfezioni

Sistemato il rumore, il compito successivo è quello di separare i caratteri uno dall’altro. In effetti è abbastanza ovvio: riconoscere una lettera è essenzialmente indipendente dalla sua posizione in un dato testo.

Questo passaggio, che all’uomo risulta naturale, è un po’ più ostico per le macchine: bisogna pensare a un modo per distinguere i contorni delle lettere, che però non sempre sono ben definiti.

Leggi il resto di “Aggirare un CAPTCHA per divertimento e divulgazione – Parte 3”

Aggirare un CAPTCHA per divertimento e divulgazione – Parte 2

Questo è il secondo articolo della serie sui CAPTCHA – meglio tornare al primo se non l’hai già letto.

Anatomia di un CAPTCHA: osservare per capire

Nell’immagine seguente trovate un insieme di esempi di sei CAPTCHA presi dal sito vodafone.it.

Tanto per iniziare, osserviamo che:

  • il CAPTCHA è sempre formato da cinque caratteri, numeri o lettere. Per evitare ambiguità, alcuni caratteri come lo zero o la “O” non compaiono mai;
  • le lettere sono distorte, in particolare sono “stirate” verticalmente o orizzontalmente;
  • c’è del rumore di fondo dietro ogni immagine (apparentemente casuale).

Proprio l’ultimo punto rappresenta il punto di partenza ideale per il riconoscimento del CAPTCHA: se fosse possibile rimuovere il rumore, almeno in buona parte, si semplificherebbe parecchio il  riconoscimento. Come si può fare?

Leggi il resto di “Aggirare un CAPTCHA per divertimento e divulgazione – Parte 2”

Aggirare un CAPTCHA per divertimento e divulgazione – Parte 1

Cos’è un CAPTCHA e perchè si usa?

Qualunque utente Internet di questi tempi si imbatte di tanto in tanto in un CAPTCHA, ossia in un controllo dell’”umanità” di chi sta alla tastiera, come il seguente:

Esempio di CAPTCHA

Spesso mi viene chiesto: a cosa servono?
La ragione per cui moltissimi siti si dotano di CAPTCHA è la possibilità discriminare gli utenti veri da programmi automatici che potrebbero usare il sito in maniera non consona (ad esempio aprendo le sue pagine a ripetizione per danneggiarlo).

L’idea di questo fastidioso dispositivo è che si possa distinguere un umano da una macchina tramite un compito che sia:

  • facile per un uomo ma
  • difficile, o meglio impossibile per un computer

…proprio come leggere lettere distorte e senza senso! Si può infatti immaginare che un computer, non essendo intelligente, non sia in grado di leggere qualcosa di imperfetto. Ma è proprio vero?

Leggi il resto di “Aggirare un CAPTCHA per divertimento e divulgazione – Parte 1”

Fine di MoioSMS

Cari amici e utenti di MoioSMS,

sono molto spiaciuto, oggi, di dichiarare la fine ufficiale del programma e del forum. Mi spiace soprattutto per tutti quelli che mi hanno contattato in questi mesi e a cui ho risposto parlando del futuro – putroppo sono arrivato a un punto in cui neanche nella miglior futuro possibile riuscirei più a seguire tutti i progetti che ho aperto.

Leggi il resto di “Fine di MoioSMS”

La strada che porta a MoioSMS 3

Nonostante le migliori intenzioni, dopo un periodo iniziale non sono riuscito a portare a termine la nuova versione di MoioSMS ed ho dovuto abbandonare il progetto per carenza di tempo a disposizione.

Lascio l’articolo qui per chi lo volesse leggere, ma le informazioni riportate sono essenzialmente obsolete.

Leggi il resto di “La strada che porta a MoioSMS 3”

SWTLoader, tutto in un Jar

Logo del programma SWTLoader

I programmi che usano SWT o SwingWT, come tutti i software Java che accedono a librerie native, sono tipicamente difficili da distribuire, in quanto non si possono lanciare con un semplice doppio click sul file Jar.

Questo perchè le librerie native devono essere installate in una cartella nel PATH del sistema, oppure la Virtual Machine deve essere lanciata con apposite opzioni da riga di comando – entrambe operazioni che variano a seconda del sistema operativo in uso.
SWTLoader è un “hack elegante” che permette di creare un unico Jar autoestraente con tutte le librerie del caso – indipendentemente dal sistema operativo basterà un doppio click per lanciare il programma!

Leggi il resto di “SWTLoader, tutto in un Jar”