per una guida mi serve tempo ma sarebbe una buona idea, sto continuando a rileggere ed editare questo post cercando di aggiungere informazioni utili.
logic analyzer open source usato, potete prendere qualsiasi versione cinese di questo semplicemente googlando il suo nome scritto di seguito ma qua la pagina ufficiale sparkfun :
https://www.sparkfun.com/products/18627
USB Logic Analyzer - 24MHz/8-Channel:
qua la guida sull'utilizzo di questo strumentino, compreso come aggiungere i driver su windows se non riconosciuto immediatamente (io ho dovuto farlo, 3 minuti, molto semplice)
https://learn.sparkfun.com/tutorials/using-the-usb-logic-analyzer-with-sigrok-pulseview/all
mi è arrivato a casa con 8 jumper wires, io ne ho staccati 5 e li ho spellati da un lato per fare il cablaggio come spiegato sotto.
compratevi le blank card, io ho preso queste ma su wish che non c'erano su amazon, ma stesso venditore
Amazon product ASIN B01DAAB6N6Vedi: https://www.amazon.it/YARONGTECH-Pacchetto-Vuoto-bianco-SLE4442/dp/B01DAAB6N6
non lavorate sulle card originali, agite su quelle originali solo quando avete simulato TUTTO sulle blank card, usando il lettore/scrittore di schede come fosse il device che vi scala il credito. sotto una foto di come fare la simulazione, la carta cablata inserita nel lettore/scrittore. state facendo in casa vostra una simulazione esatta di quello che succederà sul campo reale con la carta reale.
lettore scrittore di schede qualunque, io l'ho preso in un negozietto di elettronica e ho trovato questo
Amazon product ASIN B01KEGJBAOVedi: https://www.amazon.it/Cherry-smartte-rminal-ST-1144ub-Cardreader/dp/B01KEGJBAO
potendo aspettare avrei risparmiato che ne so 10 eur dato che davvero qualsiasi va bene
e fate ste robe for fun, un euro non vi cambia la vita e se vi beccano a giocare con le carte son rogne, in questo appartamento starò un mese, nella carta avevo 18eur, i lavaggi costano 1eur, non sarei mai riuscito ad esaurirli in un mese, ho fatto tutto per il semplice piacere di bucarlo, ho tra l'altro speso almeno una 50ina di eur di materiali che qua non avevo assolutamente nulla, quindi ci son decisamente andato sotto.
come già scritto non mi andava di comprare un saldatore e ho semplicemente fatto a piccoli pezzi un adesivo, meglio così onestamente, non ho lasciato alcuna traccia sulla carta e se domani si rompe me la cambiano senza fare facce strane. il cablaggio ci serve per fare la sniffata che ci consentirà di estrarre il codice di controllo. una volta a conoscenza del codice di controllo, l'analizzatore logico potete pure rivenderlo, dato che avrete completo accesso alla scrittura della carta (main memory) con il lettore/scrittore di schede, questo per dire che non vi serve un cablaggio duraturo forse la saldatura è un po' un overkill, certo gli adesivi che mi han regalato al supermercato forse non sono molto professionali ma prendetelo come una prova che non servono grandi skills, solo pazienza e dedizione.
Visualizza allegato 58068
ovviamente metterò solo foto delle carte blank.
non so se possa aiutarti ma questa la foto che mi hai chiesto, niente di strano semplicemente rispecchia il disegno del chip sul datasheet della 5542 (link qua e screenshot sotto)
https://datasheetspdf.com/pdf-file/1264366/Infineon/SLE5542/1
https://datasheetspdf.com/pdf-file/1264366/Infineon/SLE5542/1
Visualizza allegato 58069
come vedi c6 non è connesso, gnd è su gnd, gli altri 4 sono in ordine su qualsiasi dei pin del logic analyzer da 20euro, io per comodità ho usato ch2 ch4 ch6 ch8. su sigrok una volta scelto il protocollo di codifica sle44xx, devi impostare il canale di: clock (CLK), reset (RST) e i/o (data). i canali su pulseview partono da 0, quindi ch1 del logic analyzer è 0 su pulseview, ch2 è 1 ecc. ad esempio per me sul logic analyzer erano ch2 ch4 ch8, ho messo 1 3 7 su pulseview, su ch6 avevo il vcc che non devi specificare su pulseview, serve solo per fornire corrente, una volta collegato è abbastanza.
la sniffata deve registrare l'operazione di scrittura, questo è importante, la lettura è aperta, solo la scrittura richiede di sbloccare la carta con i 3 byte di controllo. se riuscite a sniffare l'operazione di scrittura (generalmente quando viene scalato il credito), in sigrok pulseview se avete impostato correttamente la frequenza e la dimensione del sample (che determina la lunghezza della sniffata, io l'ho impostato altissimo e poi la bloccavo manualmente), vedrete nella codifica tra tutto il resto delle comunicazioni i 3 blocchi di "compare verification data", che comparano una ad una tutti i 3 byte di controllo, nelle pennellate gialle anonimizzate i 3 valori di controllo, allegate lo screen della sniffata reale anonimizzata e di una foto della blank card (solo 2 su 3 sono inclusi, ho recuperato la foto su whatsapp), come potete vedere la blank card ha valori di controllo FF FF FF di default.
Visualizza allegato 58074
Visualizza allegato 58072
riguardo gscriptor non capisco cosa ti interessi, lo utilizzo SOLO come console per il lettore e scrittore di schede, lancio comando APDU di lettura, scrittura e sblocco. niente di più, i comandi li trovi su internet più in dettaglio, è una domanda molto basilare quindi posso riportarti FF B0 00 00 00 che risponde con tutto il contenuto della main memory, come ho detto la lettura è aperta, per la scrittura devi prima sbloccare la carta con il comando FF 20 00 00 03 XX XX XX dove le xx sono i byte di controllo. una volta sbloccata, per la scrittura usi il comando FF D6 00 POS LEN DATA (POS è la posizione dove iniziare a scrivere, LEN la lunghezza dei byte da scrivere, DATA i byte da scrivere, e.g. FF D6 00 30 01 01 scrive sulla posizione 30 (hex quindi 48 in dec), lunghezza 01 (hex quindi 1 in dec), il valore 01. oppure FF D6 00 30 02 01 01 POS sempre 30, len 02, data 01 01, quindi pos 30 e pos 31 avranno valori 01 01 ). inclusa foto della risposta di gscriptor allo sblocco della carta (codice di controllo mascherato), e della lettura della carta (ho tolto i dati sensibili), ho recuperato questa foto su whatsapp altrimenti avrei anche incluso il codice di scrittura, ma poco ti cambia, non so nemmeno a cosa ti serva.
Visualizza allegato 58112
fatemi sapere se vi è di qualche aiuto.
Qua sotto i passi da seguire:
A) non conosco il codice di controllo, devo sniffarlo, per prima cosa voglio impostare le frequenze corrette tra logic analyzer e pulseview, simulo la sniffata con una blank card:
1 cablo la carta blank al logic analyzer
2 inserisco la carta blank cablata nel lettore/scrittore di schede
3 su pulseview imposto il protocollo sle44xx, clicco sul canale aggiunto e imposto CLK IO RST corrispondenti a come ho cablato il logic analyzer, imposto la frequenza desiderata in teoria 100kHz son sufficienti, io mi son trovato con 1 o 2 MHz non ricordo, alza i samples a dismisura tanto poi puoi bloccare la sniffata manualmente
4 inizio lo sniff con pulseview
5 lancio comandi di sblocco e scrittura (FF FF FF) su gscriptor
6 stoppo lo sniff su pulseview
7 la console di gscriptor ha risposto correttamente? se sì, il cablaggio non sta impedendo la comunicazione col chip e prosegui con 8, se no ripeti dal punto 1
8 vedo dati catturati nello sniff su pulseview su tutti i 3 canali CLK IO RST e pulseview codifica il protocollo? se sì, il cablaggio è corretto e i canali di pulseview impostati correttamente prosegui a 9, se no ripeto dal punto 1
9 vedo il codice di controllo FF FF FF nella sniffata? se sì passo a B, se no cambio frequenza su pulseview e ripeto dal punto 4
Visualizza allegato 58111
B) ho pulseview settato correttamente con il logic analyzer, ho sniffato il codice di controllo della blank card con successo, voglio passare allo sniffing della carta reale.
1 cablo la carta reale
2 inserisco la carta reale nel lettore scrittore di schede
3 inizio lo sniff su pulseview
4 lancio comando di sola lettura della carta reale (non posso lanciare comando di scrittura perché non conosco il codice di controllo) su gscriptor
5 stoppo la sniffata su pulseview
6 ho dei risultati LEGGIBILI (non il codice di controllo)? se sì, il cablaggio funziona e proseguo con C, se no, rifaccio il cablaggio e ripeto dal punto 1.
C) ho la carta reale cablata correttamente, pulseview e il logic analyzer settati correttamente
1 faccio una lettura di tutta la main memory della carta reale con gscriptor e mi salvo il contenuto (ci servirà dopo)
2 vado dal device per fare la transazione
3 inserisco la carta
4 prima di premere l'ultimo pulsante prima di effettuare la transazione avvio lo sniff
5 transazione effettuata
6 stoppo lo sniff
7 salvo la sniffata su pulseview, vado a casa, trovo il codice di sblocco.
8 con gscriptor lancio il codice di sblocco della carta reale usando quello sniffato, se funziona bingo togliete pure tutto il cablaggio che non vi servirà più, se non funziona qualcosa è andato storto
D) ho il codice di sblocco della carta reale ora sta a voi decidere se:
-capire come interpretare la carta
1 lancio una lettura di tutta la main memory
2 la comparo con quella derivata al punto C1
3 cerco di capire dove e come è salvato il credito
4 lancio operazione di scrittura usando il codice di sblocco sniffato e aggiungo credito
-ritornare ai valori pretransazione
1 lanciare l'operazione di sblocco su gscriptor
2 lanciare l'operazione di scrittura usando l'intera main memory senza header usando i dati salvati al punto C1
3 se funziona fatevi caricare che ne so, 20eur, vi salvate lo stato della carta con 20eur e quando li finite riscrivete la main memory con i 20 eur.