Guida Costruzione sniffer e decodifica password chiavetta ZIP (PCF7931/PCF7935)

withoutname

Utente Iron
17 Gennaio 2023
17
2
16
14
Ultima modifica:
Ciao, voglio condividere la mia esperienza nella costruzione di uno sniffer per chiavette zip, testato sia con pcf7931 che con pcf7935 (le ho aperte e letto nome del transponder).

Ho iniziato come consigliato da alcuni utenti leggendo il datasheet del pcf7930, ed è stato molto istruttivo, ma data la mia poca familiarità con le radio frequenze, non sono stato in grado di dedurre lo schema elettrico esatto dello sniffer.

Ho quindi optato per utilizzare uno schema postato da un altro utente, che riporto qua di seguito:

1675034840442.png


È possibile notare che R2 è di 2.2k al posto di 22k e funziona egregiamente, inoltre il simbolo a destra è quello di un connettore femmina per un jack 3.5” femmina, dato che non ho trovato quello del connettore maschio. Allego immagine per la conversione dei segnali.

1675034851313.png


(giallo – speaker L, rosso – speaker R, verde – GND, azzurro - MIC)

Alla connessione Sleeve (ovvero quella alla base) viene collegato MIC+, mentre alla connessione Ring2 (l’anello adiacente) viene collegato MIC-.



La lista dei componenti necessari è la seguente:

  • 2 condensatori ceramici da 47nF
  • 2 condensatori ceramici da 10nF
  • 1 resistenza da 1kΩ
  • 1 resistenza da 2.2kΩ
  • 1 diodo 1N4148
  • 1 induttanza a scelta da 18uH
  • 1 paio di cuffie con microfono, anche rotte (non nel connettore ovviamente), da cui prendere il cavetto ed il jack
Il problema nasce al momento della scelta dell’induttanza; se si sceglie un’induttanza assiale (che costa pochi centesimi), sarà necessario posizionarla vicino al transponder al momento dell’inserimento all’interno del lettore per poter sniffare il segnale, e questo comporta smontare una chiavetta, estrarre il trasponder e creare un supporto per poterli inserire insieme. Se invece si sceglie di realizzarla avvolgendo del filo su un cilindro, in modo da non manomettere una chiavetta, è necessario fare bene il calcolo del numero di spire e della loro distribuzione per arrivare al valore richiesto.

Io personalmente ho scelto la seconda strada, facendo il calcolo di quante spire servono e come vanno posizionate per non dover manomettere alcuna chiavetta.

Nel mio caso, ho scelto di avvolgere del filo sottile che avevo a disposizione (25AWG, diametro esterno 0.45mm) su un cilindro dal diametro di 20 mm (facile da reperire), sufficienti per inserirci all’interno una chiavetta.

Si possono realizzare 2 tipi di bobine:
  • A singolo strato (più semplice ma più ingombrante)
  • A strati multipli (più complessa da realizzare ma più compatta)
Ho scelto di realizzare una bobina a più strati, dato che quella singola sarebbe risultata troppo lunga infatti ci sarebbero voluti ben 17mm e 34 spire per raggiungere i 18uH, mentre per quella a strato multiplo sono bastati 5mm e 26 spire su 3 livelli (8 spire abbondanti per livello). Me la sono cavata con circa 2 mt di filo.

Singolo stratoStrati multipli
Numero spireN
34​
26​
Diametrommd
20​
20​
Lunghezzamml
17​
5​
(il filamento è spesso circa 0,5mm, per capire quante spire è possibile fare nella lunghezza, è necessario dividere la lunghezza per 0,5)
Spessore avvolgimentimmb
1,5​
(il filamento è spesso circa 0,5mm, quindi 3 strati sono circa 1,5mm)
InduttanzauHL
17,78461538​
17,80133333​


Ho eseguito i calcoli utilizzando le formule su questo documento: https://online.scuola.zanichelli.it...Mirandola_V3_Lab_1_Dimensionamento_bobine.pdf

Per facilitare la creazione della bobina, ho realizzato una spolina con la stampante 3d, e avvolto il filo in modo fitto. La spolina ha la sede per la chiavetta, in modo da posizionarla sempre in asse con il trasponder.

1675034866547.png
1675034871414.png


Per quanto riguarda gli altri componenti, li ho disposti su una millefori di dimensioni 20mm x 40mm in questo modo e ho saldato i pin come da tracce:

1675034878444.png


È da ignorare il connettore jack, sulle presunte pad ho collegato il filo che arrivava da jack, verificando con un tester la continuità verso l’anello che mi serviva.

Ed il risultato è il seguente:

1675034883672.png


Ho preferito connettorare sia bobina che cavo del jack per rendere facile la sostituzione in caso di problemi, ma non è assolutamente necessario.

Ho realizzato un contenitore con la stampante 3d, in modo da proteggere la bobina e il circuito durante il trasporto, questo è l’aspetto finale:

1675034895759.png
1675034901160.png
1675034906134.png


Una volta terminata la creazione dello sniffer, ho provato ad utilizzarlo collegandolo al jack delle cuffie, ma non veniva rilevato correttamente, con il risultato che la registrazione audio avveniva dal microfono del cellulare.

Ho risolto il problema utilizzando un adattatore usb-c/cuffie con DAC (non ho idea se funzioni anche con un adattatore semplice, ma alcuni cellulari non li supportano), in modo che il segnale passasse forzatamente dalla porta usb-c. Il mio è questo:
Amazon product ASIN B081455PCT
Vedi: https://www.amazon.it/gp/product/B081455PCT
.

1675034914573.png


La traccia audio che ho ottenuto è questa (l'ho anche allegata):

1675034927570.png


La parte interessante è la password, la si può notare da una serie di picchi rivolti solo verso l’alto.

1675034932799.png


Da qui procediamo a decodificarla; ci interessano solo i primi 58 bit, quindi ho zoomato solo nella parte interessante:

1675034981183.png


A me è uscita la password cosiddetta di default, ovvero 8F EF 0D A5 ED 05 A1, ma non ho modo di provarla perché non possiedo il gambit.

Qualcuno avrebbe uno schema per auto costruirselo?

Spero che la mia esperienza possa essere utile a qualcuno.
 
Ultima modifica:
Grazie mille super gentile :)
Messaggio unito automaticamente:

Ok mi è tutto chiaro tranne l'implementazione del CD4520D (che mi pare essere il pcb pre asseamblato che si vede in foto. Tu o @Stikki avete delucidazioni in merito? grazie in anticipo per l'aiuto e per il vostro lavoro finora =)


Inoltre sapete indicarmi dove cercare il software gambit (sia esso per win o Linux) che per ora ho trovato solo tango ma non so se va bene lo stesso. Trovato

 
Salve a tutti, vorrei chiedervi un paio di informazioni. Scrivo qui perchè sostanzialmente il problema che ho è sulla decodifica del segnale acquisito tramite lo sniffer di cui sopra è stata data una molto chiara e ben fatta guida.
Trattasi di una chiavetta FAGE, monta un transponder PCF7935AA.
Non riesco a capire dove sia la password nella cattura che ho effettuato... Online non riesco a trovare tante fonti da cui imparare, se avete qualche consiglio o qualche documento rilevante (che non vi dispiaccia troppo condividere) mi farebbe piacere.

Screenshot.jpg


Allego qui uno screenshot della forma d'onda acquisita dallo sniffer. Siccome non vedo picchi rivolti esclusivamente verso l'alto come mostrato da withoutname, mi chiedevo effettivamente in quale punto si trovi la comunicazione della password...


Sezione 1.jpg

(Zoom prima sezione)


Il segnale catturato non sembra neanche male... So che c'è di meglio, ma come primo tentativo mi reputo soddisfatto.
Quello che ho notato vedendo altre registrazioni postate in giro è che forse la mia cattura ha un'ampiezza maggiore... avrei dovuto diminuire la sensibilità del microfono prima di registrare? Non credo sia un problema alla fine...
Quello che non mi piace anche sono questi effetti capacitivi (?) che in altre registrazioni non vedo (anche se credo siano abbastanza contenuti a tal punto da non interferire con il procedimento di decodifica del segnale)...

Ringraziandovi in anticipo per la disponibilità, attendo una vostra risposta!
 
Ciao LogicalCake, grazie per la tua simpaticissima risposta, il nostro amico Whitoutname ha fatto un ottimo tutorial per poter rilasciare il pwd, ora per quanto riguarda il gambetto non credo di volerti aiutare dopo la tua riflessione. Buonasera.
 
  • Mi piace
Reazioni: Stikki
Salve a tutti, mi scuso per eventuali offese arrecate al vostro stranissimo tipo di orgoglio... Io avevo semplicemente chiesto perchè il file .wav da me ricavato fosse diverso da tutti quelli che vedo sul forum, perchè mi sembrava, e ancora mi sembra strano. Giustamente notando delle incongruenze tra la guida e il materiale che ho recuperato ho chiesto consiglio a qualcuno che avesse più esperienza. Se la guida l'ho seguita, eseguita e finita vorrà dire che l'ho letta no? Perchè rispondere in questo modo? Piuttosto non rispondere proprio... è preferibile. Spiegatemi dove sta tutta questa grande offesa perchè io, personalmente, trovo il commento che ho fatto brutalmente onesto e in linea con la realtà dei fatti.

Lasciamo perdere...


Se c'è qualcuno, che non si sente preso in causa in tutto questo giro di parole, e soprattutto in grado di aiutarmi, mi farebbe piacere ascoltare qualsiasi tipo di consiglio.

Avrei bisogno di una mano nell'interpretare il dump della lettura effettuata dal gambit di questo PCF7935AA.

VM.png


È normale che i dati siano tutti ripetuti?
Come viene gestita la conversione del credito da linguaggio alfanumerico ad esadecimale? Ho letto che alcuni si servivano della calcolatrice predefinita in windows per la conversione, ma non capisco come... Come si converte un ipotetico credito con due cifre dopo la virgola in esadecimale? Esiste uno standard?

Avevo pensato di agire in questo modo: caricare la chiavetta e vedere quali dati cambiano per farmi un'idea migliore, magari scopro qualche altra relazione che mi sfugge. Oppure, ricaricando la chiavetta, salvare quel dump e riscriverlo ogni volta quando desidero. Si può fare?
 
Ciao!
non ti offendere, penso che fazez usi il traduttore automatico quindi forse c'è stata qualche incomprensione... :D

Allora io sono recentemente riuscito a scrivere un pcf7931 e ti riporto la mia esperienza con questo.. penso che non ci sia molta differenza col pcf7935 ma prendilo con le pinze.

Allora per quanto riguarda l'onda anche io ne ho avuta una simile alla tua, penso dipenda dal tipo di dispositivo e da quali comunicazioni effettua con il pcf.
Nel mio caso la macchinetta funziona automaticamente all'inserimento e scala 1 credito (che corrisponde ad un euro) e come dicevo la forma d'onda è simile alla tua. Per la decodifica sono andato un pó a naso, ma poi ho scoperto che praticamente in ogni comunicazione i primi 56 bit erano la stessa password ripetuta ad ogni trasmissione. Quindi prova a decodificarne qualcuno e vedi se si ripete anche nel tuo caso. Se è giusta col gambit lo vedi subito.

E qui passiamo al secondo post. La lettura che fai col gambit dove tutte le righe sono ripetute significa che la chiave è "cifrata" e va sbloccata con la password che leggi.
Per sbloccare devi scrivere la password nel campo password e fare Write Bytewise scrivendo nel settore 1E il valore 00 e nel settore 1F il valore 07
Dopo aver fatto così, rileggendo la chiave dovresti vedere tutto in chiaro.
A questo proposito ti allego un pdf che gira già qua sul forum, non so dare crediti all'autore in quanto non è riportato.
 

Allegati

  • Eurokey.pdf
    618.5 KB · Visualizzazioni: 103
Ciao Frizi, sì, traduco con la traduzione di Google perché sono francese, spero di non aver offeso qualcuno in una risposta. Buona giornata.
 
Salve a tutti, mi scuso per eventuali offese arrecate al vostro stranissimo tipo di orgoglio... Io avevo semplicemente chiesto perchè il file .wav da me ricavato fosse diverso da tutti quelli che vedo sul forum, perchè mi sembrava, e ancora mi sembra strano. Giustamente notando delle incongruenze tra la guida e il materiale che ho recuperato ho chiesto consiglio a qualcuno che avesse più esperienza. Se la guida l'ho seguita, eseguita e finita vorrà dire che l'ho letta no? Perchè rispondere in questo modo? Piuttosto non rispondere proprio... è preferibile. Spiegatemi dove sta tutta questa grande offesa perchè io, personalmente, trovo il commento che ho fatto brutalmente onesto e in linea con la realtà dei fatti.

Lasciamo perdere...


Se c'è qualcuno, che non si sente preso in causa in tutto questo giro di parole, e soprattutto in grado di aiutarmi, mi farebbe piacere ascoltare qualsiasi tipo di consiglio.

Avrei bisogno di una mano nell'interpretare il dump della lettura effettuata dal gambit di questo PCF7935AA.

Visualizza allegato 69186

È normale che i dati siano tutti ripetuti?
Come viene gestita la conversione del credito da linguaggio alfanumerico ad esadecimale? Ho letto che alcuni si servivano della calcolatrice predefinita in windows per la conversione, ma non capisco come... Come si converte un ipotetico credito con due cifre dopo la virgola in esadecimale? Esiste uno standard?

Avevo pensato di agire in questo modo: caricare la chiavetta e vedere quali dati cambiano per farmi un'idea migliore, magari scopro qualche altra relazione che mi sfugge. Oppure, ricaricando la chiavetta, salvare quel dump e riscriverlo ogni volta quando desidero. Si può fare?
Io ho usato questa per le fage con PCF7935AA. Però fino a lunedì non scopro se ha funzionato (fatto ieri)
 

Allegati

  • RICARICA FAGE PCF7931.pdf
    245.1 KB · Visualizzazioni: 76
Ultima modifica:
Grazie a tutti per le risposte, proverò lunedì e vi farò sapere, grazie dell'aiuto! Se l'avessi saputo prima non avrei reso inutilizzabile la mia chiavetta attuale... Per sbaglio ho modificato i dati sbagliati e la password è cambiata... Ho provato ad inserire di nuovo i primi sette byte che avevo a schermo nel dump ma niente, non modifica più la chiavetta... Domani ne troverò un'altra e proverò con quella.
Messaggio unito automaticamente:

Ciao!
non ti offendere, penso che fazez usi il traduttore automatico quindi forse c'è stata qualche incomprensione... :D

Allora io sono recentemente riuscito a scrivere un pcf7931 e ti riporto la mia esperienza con questo.. penso che non ci sia molta differenza col pcf7935 ma prendilo con le pinze.

Allora per quanto riguarda l'onda anche io ne ho avuta una simile alla tua, penso dipenda dal tipo di dispositivo e da quali comunicazioni effettua con il pcf.
Nel mio caso la macchinetta funziona automaticamente all'inserimento e scala 1 credito (che corrisponde ad un euro) e come dicevo la forma d'onda è simile alla tua. Per la decodifica sono andato un pó a naso, ma poi ho scoperto che praticamente in ogni comunicazione i primi 56 bit erano la stessa password ripetuta ad ogni trasmissione. Quindi prova a decodificarne qualcuno e vedi se si ripete anche nel tuo caso. Se è giusta col gambit lo vedi subito.

E qui passiamo al secondo post. La lettura che fai col gambit dove tutte le righe sono ripetute significa che la chiave è "cifrata" e va sbloccata con la password che leggi.
Per sbloccare devi scrivere la password nel campo password e fare Write Bytewise scrivendo nel settore 1E il valore 00 e nel settore 1F il valore 07
Dopo aver fatto così, rileggendo la chiave dovresti vedere tutto in chiaro.
A questo proposito ti allego un pdf che gira già qua sul forum, non so dare crediti all'autore in quanto non è riportato.
Ciao, anche io ho notato quella ripetizione, avevo 12 ¨sezioni¨ in cui veniva effettuato lo scambio dei dati. le prime 8 erano esattamente di 58bit, tutte uguali. Le 4 rimanenti erano da 78bit, da queste ho recuperato la password. Di queste ultime quattro sezioni i primi 58 bit erano comuni a tutti, il resto cambiava tra una e l'altra...

Grazie anche per il resto della procedura allegata, proverò in settimana! Molto chiaro e gentile.
 
Grazie a tutti per le risposte, proverò lunedì e vi farò sapere, grazie dell'aiuto! Se l'avessi saputo prima non avrei reso inutilizzabile la mia chiavetta attuale... Per sbaglio ho modificato i dati sbagliati e la password è cambiata... Ho provato ad inserire di nuovo i primi sette byte che avevo a schermo nel dump ma niente, non modifica più la chiavetta... Domani ne troverò un'altra e proverò con quella.
Messaggio unito automaticamente:


Ciao, anche io ho notato quella ripetizione, avevo 12 ¨sezioni¨ in cui veniva effettuato lo scambio dei dati. le prime 8 erano esattamente di 58bit, tutte uguali. Le 4 rimanenti erano da 78bit, da queste ho recuperato la password. Di queste ultime quattro sezioni i primi 58 bit erano comuni a tutti, il resto cambiava tra una e l'altra...

Grazie anche per il resto della procedura allegata, proverò in settimana! Molto chiaro e gentile.
Se hai reso inutilizzabile il tuo PCF io stavo pensando di ordinarne una decina vergini da AliExpress (ovviamente ti serve poi un dump buono da mandargli su) nel caso ti interessi, dimmelo e smezziamo volentieri.
 
Se hai reso inutilizzabile il tuo PCF io stavo pensando di ordinarne una decina vergini da AliExpress (ovviamente ti serve poi un dump buono da mandargli su) nel caso ti interessi, dimmelo e smezziamo volentieri.
li ho trovati a 15€ su aliexpress e già ordinati... Ne prendo 10 perchè facendo delle prove sono sicuro di renderne inutilizzabili un bel po'... Immagino che clonarli non sia così semplice rispetto a come modificarne il credito, mi sbaglio?

Un'altra domanda: nella guida allegata per modificare il credito delle chiavette viene data una lista con i crediti già calcolati in esadecimale. Quei crediti sono lunghi 5byte, mentre nella foto della guida sono evidenziati 6byte da modificare... Mi spiegate perché? Non capisco... Grazie comunque a tutti del supporto.
 
li ho trovati a 15€ su aliexpress e già ordinati... Ne prendo 10 perchè facendo delle prove sono sicuro di renderne inutilizzabili un bel po'... Immagino che clonarli non sia così semplice rispetto a come modificarne il credito, mi sbaglio?

Un'altra domanda: nella guida allegata per modificare il credito delle chiavette viene data una lista con i crediti già calcolati in esadecimale. Quei crediti sono lunghi 5byte, mentre nella foto della guida sono evidenziati 6byte da modificare... Mi spiegate perché? Non capisco... Grazie comunque a tutti del supporto.
Pcf7935aa non ha limite alla clonazione, ovviamente devi mettere prima in chiaro l'intera memoria in lettura (0 7 read first e last bytes), mettere in chiaro i primi 7 bytes di password, settare a zero i bytes di blocco scrittura. Da qua copi l'intera memoria (usando la password precedente). Poi con la nuova pass, rimascheri la password, blocchi la scrittura come in origine, limite primo e ultimo byte in lettura come in origine. E il clone è fatto. L'unico modo per "bruciare" un pcf è sovrascrivere la password poi dimenticando o perdendo la nuova password, con password non in chiaro e/o con limite blocchi in lettura. Consiglio vivamente semplicemente di procedere a qualsiasi modifica della memoria con approccio bytewise, la modifica e la scrittura dirette sono semplicemente inutilmente rischiose, mentre se fai un blocco alla volta non puoi sbagliare.
 
Io ho usato questa per le fage con PCF7935AA. Però fino a lunedì non scopro se ha funzionato (fatto ieri)
Alla fine ha funzionato? Io ho una domanda... Nella guida sono indicati alcuni crediti impostabi giá convertiti in esadecimale, ognuno dei quali é lungo 5 byte. Nell'immagine della guida peró sono evidenziati i primi 6 byte del blocco 2 da modificare, mi sbaglio? Vorrei capire bene prima di far danni...
 
Alla fine ha funzionato? Io ho una domanda... Nella guida sono indicati alcuni crediti impostabi giá convertiti in esadecimale, ognuno dei quali é lungo 5 byte. Nell'immagine della guida peró sono evidenziati i primi 6 byte del blocco 2 da modificare, mi sbaglio? Vorrei capire bene prima di far danni...
Si ha funzionato e si il riquadro rosso nella guida è graficamente sbagliato, modifica solo o primi 5