Discussione Password SLE 4442

Il codice l'ho completato e corretto, a casa con i lettori di smartcard che ho a disposizione funziona correttamente. In base alle esperienze "sul campo" di alcuni utenti pare che però ci sia un problema "elettrico", nel senso che una volta che il micro imposta il pin in HIZ, questo stato non viene riconosciuto correttamente dai lettori e si comportano in maniera "scorretta".
Bisognerebbe provare a mettere un IC fra il micro e i contatti della carta che faccia da "vero" buffer HIZ e vedere se cambia qualcosa, ma non so in quanti vogliano cimentarsi in questo tipo di cose.

A questo punto è meglio sniffare la comunicazione fra la carta e il lettore, almeno quel modo è sicuro.
 
  • Mi piace
Reazioni: faccetta
Il codice l'ho completato e corretto, a casa con i lettori di smartcard che ho a disposizione funziona correttamente. In base alle esperienze "sul campo" di alcuni utenti pare che però ci sia un problema "elettrico", nel senso che una volta che il micro imposta il pin in HIZ, questo stato non viene riconosciuto correttamente dai lettori e si comportano in maniera "scorretta".
Bisognerebbe provare a mettere un IC fra il micro e i contatti della carta che faccia da "vero" buffer HIZ e vedere se cambia qualcosa, ma non so in quanti vogliano cimentarsi in questo tipo di cose.

A questo punto è meglio sniffare la comunicazione fra la carta e il lettore, almeno quel modo è sicuro.
Buonasera ptr, quanto tempo ormai!
bhè, per fare certe prove un paio li trovi di sicuro, nello specifico io e faccetta siamo molto curiosi di vedere se io progetto possa avere esito positivo.
 
  • Mi piace
Reazioni: faccetta
Il codice l'ho completato e corretto, a casa con i lettori di smartcard che ho a disposizione funziona correttamente. In base alle esperienze "sul campo" di alcuni utenti pare che però ci sia un problema "elettrico", nel senso che una volta che il micro imposta il pin in HIZ, questo stato non viene riconosciuto correttamente dai lettori e si comportano in maniera "scorretta".
Bisognerebbe provare a mettere un IC fra il micro e i contatti della carta che faccia da "vero" buffer HIZ e vedere se cambia qualcosa, ma non so in quanti vogliano cimentarsi in questo tipo di cose.

A questo punto è meglio sniffare la comunicazione fra la carta e il lettore, almeno quel modo è sicuro.

Buonasera ptr, quanto tempo ormai!
bhè, per fare certe prove un paio li trovi di sicuro, nello specifico io e faccetta siamo molto curiosi di vedere se io progetto possa avere esito positivo.
Ciao a tutti, insieme a Facetta che mi ha aiutato veramente tanto ho fatto un pò di prove ho comprato un logger a 5 pin come in foto, ma ovviamente ho alcunti problemi.
- faccio tutti i collegamenti senza alimentare la carta e senza mettere il nastro sul pin + e - e la card viene letta. quindi card originale - > card logger -> lettore ACR39 FUNZIONA TUTTO
- metto il nastro sopra il + e - del logger e alimento la carta originale con i 5V da una batteria da 9V con partitore, inserisco il logger nel lettore e non funziona il programma dice card non trovata
- faccio uguale a sopra ma al posto di collegare la batteria uso un alimentatore da banco con i 5v, inserisco il logger nel lettore e funziona il programma dice card trovata
- faccio di nuovo la prova con la batteria e tengo per sbaglio il coccodrillo del polo negativo collegato all'alimentatore (spento) provo e fuzniona.

sembrerebbe un problema di polo negativo c'è qualcosa che blocca il sistema.

una domanda ma se io metto un diodo sulla batteria e alimento con due punti potrebbe funzionare?
qualcuno potrebbe spiegarmi meglio come funziona con atmega?
grazie
 

Allegati

  • photo_2020-10-21_19-04-56.jpg
    photo_2020-10-21_19-04-56.jpg
    426.3 KB · Visualizzazioni: 90
  • photo_2020-10-21_20-56-02.jpg
    photo_2020-10-21_20-56-02.jpg
    370 KB · Visualizzazioni: 86
  • photo_2020-10-23_14-41-03.jpg
    photo_2020-10-23_14-41-03.jpg
    428.8 KB · Visualizzazioni: 88
Salve signori mi intrometto in questa discussione. Sto cercando di sniffare la pwd della sle 4428 tra smart reader e smart card. quando inserisco la pwd questo è cio che sniffo (sto usando bus pirate + spsniffer )

00 00 28 28 5C 5C 93 93 29 29 5C 5C 00 00 28 28 5C 5C 88 88 29 29 5C 5C 00 00 28 28 5C 5C 11 11 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C 64 64 29 29 5C 5C 00 00 28 28 5C 5C 86 86 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C 00 00 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5D 5D 5B 5B 5D 5D 5B 5B 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5C 5C 00 00 28 28 5C 5C 01 01 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C A5 A5 29 29 5C 5C 00 00 28 28 5C 5C FF FF 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C A0 A0 29 29 5C 5C 00 00 28 28 5C 5C 20 20 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C 10 10 29 29 5C 5C 00 00 28 28 5C 5C 80 80 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C 40 40 29 29 5C 5C 00 00 28 28 5C 5C 00 00 29 29 5D 5D 5B 5B 5C 5C 00 00 28 28 5C 5C C0 C0 29 29 5C 5C 00 00 28 28 5C 5C 30 30 29 29 5D 5D ^C

Qualche anima pia che mi puo aiutare nella decodifca?? Grazie mille.
 
Ultima modifica:
Abito all'estero, le lavatrici sono nel basement e son a pagamento, un dispositivo fornisce corrente ad ogni macchina per un'ora se pagata con la carta.
Oggi pomeriggio ho investito 3 ore e ho risolto.

Precedentemente avevo acquistato:
Lettore/scrittore smartcard qualunque circa 20eu
Logic analyzer 24mhz 8ch (open source, googlalo) circa 25eu
10 sle4442 blank circa 10eu

Software usati:
Sigrok pulseview (Windows) per lo sniffing
Zadig (Windows) per creare dei driver per il logic analyzer cheap, seguendo le istruzioni trovate sulla pagina del logic analyzer.
Gscriptor (Ubuntu) per il lettore scrittore di smartcard.
Generalmente uso solo Linux ma pulseview mi dava qualche errore su Ubuntu, ho qualche pacchetto di python che mi fa conflitto e non avevo voglia di risolvere.

Cablato 5 pin del chip di una blank card, 1 è non connesso, come da immagine sul datasheet della 5542, sui canali ch2 ch4 ch6 ch8 e gnd (il gnd) del logic analyzer. Non ho saldato, mi son trasferito da poco e non ho un saldatore o dello stagno a casa. Ho appiccicato i cavi spellati tagliando con le forbici a piccoli pezzi un adesivo che mi hanno regalato l'altro ieri.

Infilata la carta cablata nel lettore scrittore di smartcard.

Avviato lo sniffing su pulseview.

Avvio il comando per leggere la carta e mostrarla a terminale su gscriptor.

Quando su gscriptor escono i valori a terminale, stoppo lo sniffing.

Funziona.

Ripeto tutto lanciando al posto della lettura, la scrittura, con codice FF FF FF delle blank card.

Lo sniffing non cattura i codici di verifica.

Modifico la frequenza piano piano, a 2Mhz trovo i risultati che mi interessano. Ottimo.

Cablo la carta nuova sempre con l'adesivo a pezzettini, leggo e mi salvo il contenuto.

Metto il PC nella borsa dei panni sporchi (like a real hacker bitch), vado nel basement, non c'è nessuno, tiro fuori laptop scassato, con logic analyzer attaccato all'usb e la carta cablata. Clicco per scegliere la macchina da pagare, inizio lo sniffing su pulseview, inserisco la carta, transazione effettuata, blocco lo sniffing, metto tutto nella borsa e torno nel mio appartamento.

Analizzo la sniffata e trovo i 3 byte di controllo, provo a sbloccare la carta usando la password sniffata, funziona.

Comparo l'attuale contenuto con quello precedente e scopro che l'importo è salvato in 2 byte, li aumento, scendo controllo, importo aumentato, massimizzandoli avrei 355eur, ma non li legge, con 80eur li legge tranquillamente.

Successo. Spero possa esservi d'aiuto, ho letto tanti commenti e vi ho visti un po' persi in un'attività abbastanza semplice, se vi può servire posso fare una guida un po' più dettagliata con screenshot e foto.
 
Ultima modifica:
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 B01DAAB6N6
Vedi: 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 B01KEGJBAO
Vedi: 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.

img1.PNG

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
img2.PNG
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.
img5.PNG

img3.PNG


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.

img7.PNG



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
img6.PNG



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.
 
Buona sera ragazzi, gentilmente qualcuno mi può aiutare con il software per leggere le SLE?
Grazie in anticipo
In che senso? Su Linux uso gscriptor, su Windows qualsiasi programma che trovi con Shell apdu smartcard software su Google. Ad esempio vedo ugo's smart card console. Per la lettura dell'intera main memory della carta il comando apdu è FF B0 00 00 00.
 
  • Mi piace
Reazioni: DarkEvil45
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 B01DAAB6N6
Vedi: 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 B01KEGJBAO
Vedi: 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.
Sei un grande!
Grazie per questa guida molto completa e dettagliata!
Sto provando a replicare il tuo setup per uno scopo simile.
Spero funzioni tutto, visto che lo sto implementando su un Raspberry pi 4
 
Ho seguito la guida e sono riuscito a leggere i 3 byte del pin, l'unica cosa differente rispetto alla guida , ho dovuto usare dei comandi adpu differenti perchè quelli variano in base al tipo di lettore. Se ad esempio in Gscriptor scrivo FF B0 00 00 00 , non mi restituisce niente, devo usare FF B0 00 00 FF, ma comunque basta guardare il datasheet del proprio lettore di tessere per capire quali comandi utilizza
 
Ultima modifica:
Figurati. Cosa stai implementando sul raspberry pi nello specifico?
tuo stesso setup (anche stessi componenti), solo che invece di usare Windows per una cosa e Linux per l'altra, cerco di far tutto col raspberry.
L'unica cosa di diverso è il lettore/scrittore che ho preso un OMNIKEY 3121
Messaggio unito automaticamente:

3 cerco di capire dove e come è salvato il credito
Ciao @Mrgianlu ,
hai dei suggerimenti per capire dove e come interpretare i risultati dello sniff?
Tipo qualche programma GUI in cui vedi il contenuto della scheda e che magari converta gli HEX in DEC?
gscriptor lo fa, ma mi sembra ostico al fine di individuare quali campi modificare.

Grazie ancora per la guida!
Messaggio unito automaticamente:

-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.
Ciao,
ma come si fa a fare questa operazione di scrittura usando l'intera main memory senza header?
Ovvero, @Mrgianlu potresti scriverci proprio i comandi in modo che li si possa provare?
Un niubbo ringrazia! ;-)
 
Ultima modifica:
tuo stesso setup (anche stessi componenti), solo che invece di usare Windows per una cosa e Linux per l'altra, cerco di far tutto col raspberry.
L'unica cosa di diverso è il lettore/scrittore che ho preso un OMNIKEY 3121
Messaggio unito automaticamente:


Ciao @Mrgianlu ,
hai dei suggerimenti per capire dove e come interpretare i risultati dello sniff?
Tipo qualche programma GUI in cui vedi il contenuto della scheda e che magari converta gli HEX in DEC?
gscriptor lo fa, ma mi sembra ostico al fine di individuare quali campi modificare.

Grazie ancora per la guida!
Messaggio unito automaticamente:


Ciao,
ma come si fa a fare questa operazione di scrittura usando l'intera main memory senza header?
Ovvero, @Mrgianlu potresti scriverci proprio i comandi in modo che li si possa provare?
Un niubbo ringrazia! ;-)

@NarCico potresti cancellare la guida dal quote per piacere?

se compari il contenuto della main memory pre e post transazione, vedrai che la prima parte non cambia e si chiama header, infatti quella parte non è scrivibile, questo rende impossibile clonare le carte. il resto può cambiare o no, il credito ad esempio cambierà, magari la data dell'ultima transazione, ma ad esempio nel mio case study c'è un ID che identifica in modo univoco la carta che ovviamente non cambia. dipende dal setup del tuo case study.

diciamo che il contenuto della tua carta sarà

Codice:
pretransazione               posttransazione
FF FF FF FF FF FF          FF FF FF FF FF FF
FF FF FF FF FF FF          B1 AA FF FF FF FF
FF FF FF FF FF FF          FF FF FF FF FF FF


non ti servono programmi di codifica, solo una semplice comparazione manuale, per vedere ciò che è cambiato, la posizione 7 e 8 sono passate da FF FF a B1 AA.

ricorda che questi sono hex

FF hex corrisponde a 255 dec
B1 hex corrisponde a 177 dec
AA hex corrisponde a 170 dec

diciamo che vuoi tornare ai valori pretransazione, quindi vuoi scrivere su 7 e 8 i valori FF e FF

per scrivere sulla main memory devi prima sbloccare la carta facendo l'autentificazione, mettiamo che i tuoi valori di sblocco siano 01 10 AA.

lancio il comando apdu FF 20 00 00 03 XX XX XX, dove sostituisco le XX al mio codice di sblocco, quindi FF 20 00 00 03 01 10 AA.

poi lancio il comando di scrittura FF D6 00 POS LEN DATA.

in questo esempio:
POS è 07 (voglio iniziare a scrivere sulla posizione 07 hex che corrisponde a 7 dec)
LEN è 02 (voglio scrivere per 2 posizioni a partire da POS, quindi se LEN è 02 hex ossia 2 dec, scriverò sul 07 e 08 hex che sono 7 e 8 dec)
DATA è FF FF (le due posizioni identificate al punto precedente dovranno avere valori FF FF hex ossia 255 255 dec)

quindi il comando sarà FF D6 07 02 FF FF
Messaggio unito automaticamente:

Ho seguito la guida e sono riuscito a leggere i 3 byte del pin, l'unica cosa differente rispetto alla guida , ho dovuto usare dei comandi adpu differenti perchè quelli variano in base al tipo di lettore. Se ad esempio in Gscriptor scrivo FF B0 00 00 00 , non mi restituisce niente, devo usare FF B0 00 00 FF, ma comunque basta guardare il datasheet del proprio lettore di tessere per capire quali comandi utilizza
ben fatto :)
sì, devo ammettere che anche io avevo trovato qualche fonte discordante, credo sia per il fatto che le SLExx42 sono compatibili ma hanno probabilmente qualche comando diverso.
se ti va potresti condividere qua o magari in privato se preferisci il tuo case study?
per me era un sistema di pagamento per le lavatrici condominiali, nel tuo caso cosa era?
Sto solo cercando di capire quanto vengono utilizzate queste carte.
 
se compari il contenuto della main memory pre e post transazione, vedrai che la prima parte non cambia e si chiama header, infatti quella parte non è scrivibile, questo rende impossibile clonare le carte. il resto può cambiare o no, il credito ad esempio cambierà, magari la data dell'ultima transazione, ma ad esempio nel mio case study c'è un ID che identifica in modo univoco la carta che ovviamente non cambia. dipende dal setup del tuo case study.

diciamo che il contenuto della tua carta sarà

pretransazione posttransazione
FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF B1 AA FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF


non ti servono programmi di codifica, solo una semplice comparazione manuale, per vedere ciò che è cambiato, la posizione 7 e 8 sono passate da FF FF a B1 AA.

ricorda che questi sono hex

FF hex corrisponde a 255 dec
B1 hex corrisponde a 177 dec
AA hex corrisponde a 170 dec

diciamo che vuoi tornare ai valori pretransazione, quindi vuoi scrivere su 7 e 8 i valori FF e FF

per scrivere sulla main memory devi prima sbloccare la carta facendo l'autentificazione, mettiamo che i tuoi valori di sblocco siano 01 10 AA.

lancio il comando apdu FF 20 00 00 03 XX XX XX, dove sostituisco le XX al mio codice di sblocco, quindi FF 20 00 00 03 01 10 AA.

poi lancio il comando di scrittura FF D6 00 POS LEN DATA.

in questo esempio:
POS è 07 (voglio iniziare a scrivere sulla posizione 07 hex che corrisponde a 7 dec)
LEN è 02 (voglio scrivere per 2 posizioni a partire da POS, quindi se LEN è 02 hex ossia 2 dec, scriverò sul 07 e 08 hex che sono 7 e 8 dec)
DATA è FF FF (le due posizioni identificate al punto precedente dovranno avere valori FF FF hex ossia 255 255 dec)

quindi il comando sarà FF D6 07 02 FF FF
Messaggio unito automaticamente:


ben fatto :)
sì, devo ammettere che anche io avevo trovato qualche fonte discordante, credo sia per il fatto che le SLExx42 sono compatibili ma hanno probabilmente qualche comando diverso.
se ti va potresti condividere qua o magari in privato se preferisci il tuo case study?
per me era un sistema di pagamento per le lavatrici condominiali, nel tuo caso cosa era?
Sto solo cercando di capire quanto vengono utilizzate queste carte.
La mia era solo voglia di sperimentare tecniche nuove, in zona non ho nessun distributore e nessuna tessera SLE con dei dati veri. Ho comprato le SLE vuote e ci ho fatto delle prove solo per passione.
 
  • Mi piace
Reazioni: Mrgianlu
@NarCico potresti cancellare la guida dal quote per piacere?
Ciao! Stranamente non me lo fa cancellare (non ho il tasto modifica e sono autenticato)
Scusami per l'errore.
Comunque grazie davvero per le spiegazioni dettagliate!
Ieri sera sono riuscito a leggere/sniffare il PSC di una scheda vergine a cui lo avevo precedentemente cambiato.
La tua guida funziona al 100% e sto anche imparando cose nuove.
Appena finisco di assemblare (e rendere portable il raspberry) vi posto una immagine.

Grazie ancora!
 
Ciao a tutti,


non riesco più a reperire l'app Sigrok pulseview per android. Ne sapere qualcosa ? qualcuno ha il file .APK per l'installazione android ?
l'ho usata lo scorso anno per fare delle acquisizioni direttamente in loco. Andare con un laptop mi sembra sconsigliabile.

Grazie per l'aiuto.
Messaggio unito automaticamente:


se vado alla sezione android, il link non è reperibile
 
Ciao a tutti,


non riesco più a reperire l'app Sigrok pulseview per android. Ne sapere qualcosa ? qualcuno ha il file .APK per l'installazione android ?
l'ho usata lo scorso anno per fare delle acquisizioni direttamente in loco. Andare con un laptop mi sembra sconsigliabile.

Grazie per l'aiuto.
Messaggio unito automaticamente:


se vado alla sezione android, il link non è reperibile

Ciao per caso mi potresti dare una mano con le sle4442? Se vuoi ci possiamo anche sentire su telegram se è più comodo per te. Grazie
 
Ciao, scrivi qui sul forum. Se c'è qualcosa che ti può aiutare, non ci sono problemi nel condividere. Cmq ho visto la guida postata poco sopra, e mi sembra completa. In ultimo se non troviamo un app che gestisce il Logic analyzer tramite Android, diventa difficile fare l'acquisizione. Ciao
 
  • Mi piace
Reazioni: davidefefe