Volevo segnalarvi un "progetto" che ho iniziato in maniera autonoma tempo fa. Si chiama "Progetto Itin3ro" e riguarda lo studio dei boglietti magnetici della metropolitana di Milano, ma è chiaramente esteso a qualsiasi tipo di biglietto magnetico presente in circolazione che utilizzi la codifica F2F.
Per ora sono riuscito a "decodificare" (si fa per dire!) solo una parte del contenuto dei biglietti. Ho utilizzato un software di mia creazione con un'interfaccia hardware molto semplice, costituita da una testina magnetica di un vecchio walkman e un amplificatore a transistor. Non è nulla di nuovo ed è una cosa ben nota ma tutti i software che ho trovato online o non funzionavano o erano troppo vecchi e quindi praticamente inutilizzabili. Il software con tutti i dettagli per realizzare il lettore lo trovate qui
Registrati al forum qui per vedere questo link.
Se leggiamo un biglietto "vuoto" (cioè non ancora timbrato) troviamo una cosa di questo tipo
1011000100001001111100111000010101010101100100001011111010110110
1100111100000000000100000000000000000000000000000000000000000000
0000000011001011001100111111011110000010000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000100000011001111111
![[Immagine: cee9d23.png?1]]()
Ho omesso la sequenza di zeri iniziale che viene messa per sincronizzarsi con il lettore della stazione. La stringa di bit va a capo solo per motivi di formattazione del testo
Dall'analisi di altri biglietti posso dire che:
I dati non sono raggruppati in "caratteri" come in altre codifiche, ma sono scritti direttamente come dei numeri binari.
10110001 -> Quello che nella codifica delle carte di credito viene chiamato "carattere sentinella". Viene usato dalla macchinetta per identificare il tipo di biglietto.
00001001111100111 (5095 in binario) -> È il numero che è stato cerchiato in rosso nell'immagine allegata sopra, a meno del 7 iniziale. Non ho idea di che cosa rappresenti quel numero.
0000101010101011 (2331 in binario) -> È il numero che è stato cerchiato in blu nell'immagine allegata sopra. Penso sia la prima parte del numero di serie del biglietto.
00100001011111010110110110011110 (561868190 in binario) -> È il numero che è stato cerchiato in verde nell'immagine allegata sopra. Penso sia la seconda parte del numero di serie del biglietto.
Nel retro del biglietto sono presenti altre tre scritte, ma non sono riuscito a capire in che modo sono relazionate con la sequenza di bit che è presente in mezzo. Nella sottocartella "Biglietti" del programma sono presenti alcuni biglietti che ho decodificato con la relativa immagine. Nelle cartelle "6", "7" e "Empty" sono presenti tre biglietti (di cui uno, "Empty" è quello che ho mostrato appena sopra e gli altri due sono dei biglietti usati) che hanno in comune lo stesso numero centrale presente sul retro (cioè 046960)
(Empty)
1011000100001001111100111000010101010101100100001011111010110110
1100111100000000000100000000000000000000000000000000000000000000
0000000011001011001100111111011110000010000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000100000011001111111
(6)
1011000100001001111100111000010101010101100100001011111010110110
1100111110000000000001100111101000010110111100000000001001011000
0000010011001011001100111111011110000010000000000000000001
1000110010100000000100110100010011111111111110110110111011000000
000000000000000000000000100000011000011111
(7)
1011000100001001111100111000010101010101100100001011111010110110
1100111010000000000001100111101000010110100100000000001001011000
0000010011001011001100111111011110000010000000000000000001
1000110010100000000100111001110001111111111110110110111011000000
000000000000000000000000100000000101101111
Si nota che il numero centrale presente nel biglietto vuoto si ripete identico negli altri biglietti. Qualche relazione probabilmente ci deve essere ma non sono riuscito ancora a comprenderla. Si può notare inoltre come biglietti obliterati siano presenti dei dati nelle sezioni vuote del biglietto "Empty", probabilmente legati alla macchinetta che timbra e alla stazione in cui si entra. Se guardiamo il timbro della macchinetta si notano due parti (prendiamo ad esempio il retro del biglietto "3"):
![[Immagine: K7QecGg.png]]()
A010BM0828 (la parte sottolineata in rosso) -> Probabilmente è l'ID della macchinetta oppure una combinazione fra l'ID della macchinetta e un numero che magari rappresenta la stazione.
150541508 -> La parte sottolineata in blu rappresenta il giorno e il mese in cui il biglietto è stato timbrato (15 Maggio), la parte sottolineata in verde rappresenta l'ora (15:08). Il "4" che c'è in mezzo non ho capito a che cosa serve.
Ho notato però una cosa interessante. se consideriamo il biglietto numero "6" vediamo sul retro che il primo sodice stampato dalla macchinetta finisce con 878 (1101101110 in decimale). Questo numero lo troviamo alla fine dell'ultimo blocco di bit
1011000100001001111100111000010101010101100100001011111010110110
1100111110000000000001100111101000010110111100000000001001011000
0000010011001011001100111111011110000010000000000000000001100011
00101000000001001101000100111111111111101101101110
11000000000000000000000000000000100000011000011111
La cosa non è casuale, perché c'è pure nel biglietto "7" (anch'esso ha il codice che finisce con 878) ma accade anche nel biglietto "3" (in quel caso però il numero è 828).
Non ho parlato dell'ultimo blocco di bit presenti alla fine, anche per quello la sua funzione è a me ignota (penso che sia una qualche forma di checksum finale per tutti i dati). Si nota che tutte le schede finiscono con "1111" e una sequenza di zeri finali che ho omesso (non credo sia di grande importanza), molto probabilmente "1111" è il codice di "stop".
Nella cartella sono presenti altri biglietti. Il numero "4" è un biglietto per un treno di "Trenord" e il numero "5" è un biglietto interurbano con validità oraria sulla rete urbana. Entrambi hanno una struttura leggermente diversa dai biglietti classici.
Bene, questo è tutto. Anche se penso siano poche le persone che si vogliono accodare a questo progetto (del resto anch'io ci guardo poco a causa di diversi impegni) credo che sia utile per qualcuno più bravo e capace di me che vuole cimentarsi nello studio dei biglietti magnetici. Il lavoro è stato abbastanza lungo ed è un peccato tenerlo tutto per me.
Progetti futuri:
Capire se è fattibile la clonazione dei biglietti. Un modo per clonare dei biglietti magnetici è stato già proposto qui (web.archive.org/web/20041205073557/http://www.chez.com/mosfet/) ed è basato su un vecchio schema della rivista HACK TIC. ATM in passato ha detto che è impossibile clonare i propri biglietti (Registrati al forum qui per vedere questo link.) ma sarà poi vero? Sarebbe interessante scoprirlo!
Per ora sono riuscito a "decodificare" (si fa per dire!) solo una parte del contenuto dei biglietti. Ho utilizzato un software di mia creazione con un'interfaccia hardware molto semplice, costituita da una testina magnetica di un vecchio walkman e un amplificatore a transistor. Non è nulla di nuovo ed è una cosa ben nota ma tutti i software che ho trovato online o non funzionavano o erano troppo vecchi e quindi praticamente inutilizzabili. Il software con tutti i dettagli per realizzare il lettore lo trovate qui
Registrati al forum qui per vedere questo link.
Se leggiamo un biglietto "vuoto" (cioè non ancora timbrato) troviamo una cosa di questo tipo
1011000100001001111100111000010101010101100100001011111010110110
1100111100000000000100000000000000000000000000000000000000000000
0000000011001011001100111111011110000010000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000100000011001111111
![[Immagine: cee9d23.png?1]](http://i.imgur.com/cee9d23.png?1)
Ho omesso la sequenza di zeri iniziale che viene messa per sincronizzarsi con il lettore della stazione. La stringa di bit va a capo solo per motivi di formattazione del testo
Dall'analisi di altri biglietti posso dire che:
I dati non sono raggruppati in "caratteri" come in altre codifiche, ma sono scritti direttamente come dei numeri binari.
10110001 -> Quello che nella codifica delle carte di credito viene chiamato "carattere sentinella". Viene usato dalla macchinetta per identificare il tipo di biglietto.
00001001111100111 (5095 in binario) -> È il numero che è stato cerchiato in rosso nell'immagine allegata sopra, a meno del 7 iniziale. Non ho idea di che cosa rappresenti quel numero.
0000101010101011 (2331 in binario) -> È il numero che è stato cerchiato in blu nell'immagine allegata sopra. Penso sia la prima parte del numero di serie del biglietto.
00100001011111010110110110011110 (561868190 in binario) -> È il numero che è stato cerchiato in verde nell'immagine allegata sopra. Penso sia la seconda parte del numero di serie del biglietto.
Nel retro del biglietto sono presenti altre tre scritte, ma non sono riuscito a capire in che modo sono relazionate con la sequenza di bit che è presente in mezzo. Nella sottocartella "Biglietti" del programma sono presenti alcuni biglietti che ho decodificato con la relativa immagine. Nelle cartelle "6", "7" e "Empty" sono presenti tre biglietti (di cui uno, "Empty" è quello che ho mostrato appena sopra e gli altri due sono dei biglietti usati) che hanno in comune lo stesso numero centrale presente sul retro (cioè 046960)
(Empty)
1011000100001001111100111000010101010101100100001011111010110110
1100111100000000000100000000000000000000000000000000000000000000
0000000011001011001100111111011110000010000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000100000011001111111
(6)
1011000100001001111100111000010101010101100100001011111010110110
1100111110000000000001100111101000010110111100000000001001011000
0000010011001011001100111111011110000010000000000000000001
1000110010100000000100110100010011111111111110110110111011000000
000000000000000000000000100000011000011111
(7)
1011000100001001111100111000010101010101100100001011111010110110
1100111010000000000001100111101000010110100100000000001001011000
0000010011001011001100111111011110000010000000000000000001
1000110010100000000100111001110001111111111110110110111011000000
000000000000000000000000100000000101101111
Si nota che il numero centrale presente nel biglietto vuoto si ripete identico negli altri biglietti. Qualche relazione probabilmente ci deve essere ma non sono riuscito ancora a comprenderla. Si può notare inoltre come biglietti obliterati siano presenti dei dati nelle sezioni vuote del biglietto "Empty", probabilmente legati alla macchinetta che timbra e alla stazione in cui si entra. Se guardiamo il timbro della macchinetta si notano due parti (prendiamo ad esempio il retro del biglietto "3"):
![[Immagine: K7QecGg.png]](http://i.imgur.com/K7QecGg.png)
A010BM0828 (la parte sottolineata in rosso) -> Probabilmente è l'ID della macchinetta oppure una combinazione fra l'ID della macchinetta e un numero che magari rappresenta la stazione.
150541508 -> La parte sottolineata in blu rappresenta il giorno e il mese in cui il biglietto è stato timbrato (15 Maggio), la parte sottolineata in verde rappresenta l'ora (15:08). Il "4" che c'è in mezzo non ho capito a che cosa serve.
Ho notato però una cosa interessante. se consideriamo il biglietto numero "6" vediamo sul retro che il primo sodice stampato dalla macchinetta finisce con 878 (1101101110 in decimale). Questo numero lo troviamo alla fine dell'ultimo blocco di bit
1011000100001001111100111000010101010101100100001011111010110110
1100111110000000000001100111101000010110111100000000001001011000
0000010011001011001100111111011110000010000000000000000001100011
00101000000001001101000100111111111111101101101110
11000000000000000000000000000000100000011000011111
La cosa non è casuale, perché c'è pure nel biglietto "7" (anch'esso ha il codice che finisce con 878) ma accade anche nel biglietto "3" (in quel caso però il numero è 828).
Non ho parlato dell'ultimo blocco di bit presenti alla fine, anche per quello la sua funzione è a me ignota (penso che sia una qualche forma di checksum finale per tutti i dati). Si nota che tutte le schede finiscono con "1111" e una sequenza di zeri finali che ho omesso (non credo sia di grande importanza), molto probabilmente "1111" è il codice di "stop".
Nella cartella sono presenti altri biglietti. Il numero "4" è un biglietto per un treno di "Trenord" e il numero "5" è un biglietto interurbano con validità oraria sulla rete urbana. Entrambi hanno una struttura leggermente diversa dai biglietti classici.
Bene, questo è tutto. Anche se penso siano poche le persone che si vogliono accodare a questo progetto (del resto anch'io ci guardo poco a causa di diversi impegni) credo che sia utile per qualcuno più bravo e capace di me che vuole cimentarsi nello studio dei biglietti magnetici. Il lavoro è stato abbastanza lungo ed è un peccato tenerlo tutto per me.
Progetti futuri:
Capire se è fattibile la clonazione dei biglietti. Un modo per clonare dei biglietti magnetici è stato già proposto qui (web.archive.org/web/20041205073557/http://www.chez.com/mosfet/) ed è basato su un vecchio schema della rivista HACK TIC. ATM in passato ha detto che è impossibile clonare i propri biglietti (Registrati al forum qui per vedere questo link.) ma sarà poi vero? Sarebbe interessante scoprirlo!