Per identificare una carta, puoi alimentarla usando un'onda portante sulla sua frequenza e attendere le risposte. Se non c'è risposta, si passa a una frequenza e un protocollo diversi e così via fino a quando non si ottiene la comunicazione dalla scheda (potrebbe essere necessario utilizzare più lettori poiché frequenze diverse richiedono lettori diversi). L'utilizzo del tuo telefono è preciso, voglio dire, se il telefono può parlare con la scheda, per lo meno la scheda utilizza una frequenza e un protocollo supportati dal lettore del telefono.
Ora, supponiamo che tu abbia identificato positivamente una carta Mifare Classic e hai bisogno di un lettore per attaccarla. Qualsiasi lettore supportato da LibNFC dovrebbe funzionare, ma ti suggerisco di cercare lettori basati su NXP PN53x, sono piuttosto economici (cinesi, e non sono sicuro che il chip NXP sia autentico ma funzionano) e funzionano perfettamente con LibNFC e tutti applicazioni che utilizzano LibNFC per comunicare con i lettori.
Per il software, per prima cosa usi mfcuk
per ottenere almeno una chiave, quindi la passerai a mfoc
che usa un attacco diverso (e più veloce) che richiede la conoscenza di almeno una chiave (puoi anche prova le chiavi predefinite se le persone che gestiscono il sistema di carte che stai attaccando erano veramente idiote). Questi software utilizzano LibNFC per comunicare con la scheda e sono quindi compatibili con qualsiasi lettore supportato da LibNFC.
Sì, una volta che hai la chiave, qualsiasi dispositivo può leggere e scrivere nei settori protetti da quella chiave. Tieni presente che possono esistere 2 chiavi diverse per settore e ogni settore ha alcuni byte ACL che descrivono le autorizzazioni per ciascuna chiave.
Nota che i dispositivi Android con chip NXP possono direttamente decifrare le carte Mifare Classic usando NFC-War .