Sto analizzando una scheda mifare classic 1k e stavo cercando di decodificare il sistema di data, quando mi sono imbattuto in questo thread.
Ho fatto svariati dump ed è stato subito chiaro di quale parte tenesse conto di data e ora.
Ho paragonato i miei dump al format di
Elliot_Alderson in pagina 6, ma direi che non corrisponde.
Metto i dump relativi all'orario, con data ed ora del display LCD. Purtroppo alcuni orari li ho persi.
Codice:
B7 5B 17 2F -> 2F175BB7 -> 0010111 1000 10111 0101 101110 110111 (23/08/2019 - 10.37)
B2 6C 19 2F -> 2F196CB2 -> 0010111 1000 11001 0110 110010 110010 (25/08/2019 - 12.45
E7 6C 19 2F -> 2F196CE7 -> 0010111 1000 11001 0110 110011 100111 |
0D 6D 19 2F -> 2F196D0D -> 0010111 1000 11001 0110 110100 001101 |______________12.49
52 7C 19 2F -> 2F197C52 -> 0010111 1000 11001 0111 110001 010010 |
7C 7C 19 2F -> 2F197C7C -> 0010111 1000 11001 0111 110001 111100 |
94 7C 19 2F -> 2F197C94 -> 0010111 1000 11001 0111 110010 010100 |
B0 7C 19 2F -> 2F197CB0 -> 0010111 1000 11001 0111 110010 110000 |
BB 7C 19 2F -> 2F197CBB -> 0010111 1000 11001 0111 110010 111011 (25/08/2019 - Pomeriggio - Perso orari
31 84 21 2F -> 2F218431 -> 0010111 1001 00001 1000 010000 110001 (01/09/2019)
26 61 23 2F -> 2F236126 -> 0010111 1001 00011 0110 000100 100110 (03/09/2019 - 11.17)
Questa mi sembra la suddivisione più sensata, poiché:
0010111 = 23; Siamo nel 2023 e non cambia mai, nemmeno con il passaggio al mese successivo.
1000/1001 = 8 e 9; Agosto e Settembre
10111/11001/00001/00011 = 23, 25, 1, 3; Corrispondono ai giorni in cui ho utilizzato la card.
Il resto della suddivisione, a mio parere, restituisce i valori più sensati, in termini di suddivisione del binario, ovvero:
-Per arrivare a 60 secondi ho bisogno di 6 bit
-Stessa cosa per arrivare a 60 minuti
-Con un orologio da 12 ore mi bastano 4 bit per arrivare a 1100
Da qui la mia suddivisione in 4/6/6, la quale, però, riportata in decimale non corrisponde minimamente agli orari che mi sono segnato.
A questo punto devo anche dire che non è possibile determinare su che orario lavori la macchina, perché i dump restituiscono "23" in testa che sarebbe in linea con l'anno corrente, ma sul display LCD c'è scritto 2019. Giorno e mese sono corretti. L'ora, inoltre, secondo il display è indietro di 75 minuti, ma nei dump non trovo orari compatibili né con quelli dell'ora reale né con l'ora errata della macchina.
Che stia sbagliando la suddivisione?
Edit:
Nell'angolo della card c'è stampato "230519" e pensavo fosse il numero di carta o qualcosa di simile.
Andando a prendere il primo dump, scheda acquistata con il credito e non usata, si trova il valore seguente:
3C 5A B3 2E -> 2EB35A3C -> 0010111 0101 10011 0101 101000 111100 -> 23 5 19 5 40 60
Quindi è plausibile pensare che sia stata creata in quella data e quindi avere ulteriore conferma che almeno la parte Y-M-D sia corretta.