IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Lecture/écriture carte RFID mifare console via libnfc


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur conseil électronique/informatique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur conseil électronique/informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Par défaut Lecture/écriture carte RFID mifare console via libnfc
    Bonjour à tous !


    je travaille sous raspberry et sous QT creator en C++, j'aurai besoin de lire et d'écrire sur des badges RFID.

    Pour cela j'ai acheté un lecteur USB RFID le ACR122, pour pouvoir l'utiliser sous linux, j'ai installé libnfc afin de pouvoir récupérer les infos sur le badge rfid en passant par de simples commandes console dans un premier temps...
    la première commande : fonctionne bien et me permet de détecter la présence d'un badge sur le lecteur.

    maintenant je configure sous windows via un logiciel des bafges rfid avec un code lecteur "6510" ainsi que qu'un montant crédit qui est censé être stocké dans le bloc numéro 4(le logiciel a été réalisé sous windev mais je n'ai pas le code source..).

    Je sais que mes badges sont formater au format mifare-classic, j'ai donc essayer d'utiliser des commandes pour lire le badge comme par exemple celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nfc-mfclassic r a foodata.mfd
    cependant une erreur me signale que la clé n'est pas renseigné, en fouillant un peu, on me demande de créer un fichier clé fookeys.mfd...

    Il faudrait apparemment écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nfc-mfclassic r a foodata.mfd  fookeys.mfd
    Cependant je n’ai aucune idée de comment créer ce fichier «fookeys » …

    Je voudrais simplement lire les données stockées sur le badge via des commandes consoles pour ensuite les traiter sous qt…


    Avez-vous une ou des idées ?

    merci
      0  0

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nfc-mfclassic r a foodata.mfd  fookeys.mfd
    La dernière commande que tu tapes semble être une confusion entre la commande de lecture et la commande d'écriture.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nfc-mfclassic r a foo.mfd
    nfc-mfclassic w a foodata.mfd  fookeys.mfd
    Si tu n'as pas de clé à écrire, alors cette commande n'est pas pour toi.

    De plus, tu ne dis rien sur le fait que ce soit l'emplacement A ou l'emplacement B dans ton cas.

    Enfin, as-tu lu cette page (clic) ?
      0  0

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur conseil électronique/informatique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur conseil électronique/informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Par défaut
    merci pour ta réponse, effectivement j'ai écriture et lecture

    oui je connais c'est de la où j'ai tiré mes commandes....

    cependant j'ai essayé de lire mais celui me donne une erreur d'authentification... Je dois joindre la clé pour lire ? ou un code ?

    voici le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    pi@raspberrypi:~ $ sudo nfc-mfclassic r a foo.mfd
    NFC reader: ACS / ACR122U PICC Interface opened
    Found MIFARE Classic card:
    ISO/IEC 14443A (106 kbps) target:
        ATQA (SENS_RES): 00  04  
           UID (NFCID1): 67  af  0c  a0  
          SAK (SEL_RES): 08  
    Guessing size: seems to be a 1024-byte card
    Reading out 64 blocks |nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    !
    Error: authentication failed for block 0x3f
    ( désolé le protocole mifare et les commandes console sont un domaine encore récent pour moi...)

    merci d'avance !
      0  0

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Et donc ? Pour nfc-mfclassic r b foo.mfd ? As-tu une sortie similaire ?

    Quelle distribution de Linux as-tu ?
    Qu'as-tu pensé des aides correspondant à ton modèle sur internet (clic) ?
      0  0

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur conseil électronique/informatique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur conseil électronique/informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Par défaut
    justement c'est bien pour "nfc-mfclassic r b foo.mfd" que j'obtient une erreur d'authentification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Reading out 64 blocks |nfc_initiator_transceive_bytes: Mifare Authentication Failed
    nfc_initiator_transceive_bytes: Mifare Authentication Failed
    je travaille sur la Raspberry 4.0 avec la distribution linux Raspbian.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uname : Linux raspberrypi 4.19.76-v7l+ #1272 SMP Fri Oct 4 14:59:19 BST 2019 armv7l GNU/Linux

    j'ai aussi utilisé ce document la pour m'aidé

    Il m'a d'ailleurs permis de mettre au point une routine permettant de détecter la présence d'un badge avec "nfc-list" cependant je ne comprends pas quelle commande console je dois envoyé pour lire des bloc de données sur le badge rfid....

    j'ai pourtant égréné un bon nombre de site et de tutoriels....

    j'ai aussi essayé depuis QT-creator via une liaison UART (USB) mais le port de l'ACR122 n'est pas détecté.... du coup je voudrais passer par des commandes console et après je compte récupéré les réponses consoles que je spliterai....

    vous voyez le principe ?
      0  0

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur conseil électronique/informatique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur conseil électronique/informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Par défaut
    Après avoir cherché sur différents site et en m'inspirant de différentes réponse j'ai réussi à trouver ma clé et à accéder au contenu de mon badge via la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo mfoc -P 500 -O cardtocopy.dmp -k 4d4946415245

    et voila ce que ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    pi@raspberrypi:~ $ sudo mfoc -P 500 -O cardtocopy.dmp -k 4d4946415245
    The custom key 0x4d4946415245 has been added to the default keys
    Found Mifare Classic 1k tag
    ISO/IEC 14443A (106 kbps) target:
        ATQA (SENS_RES): 00  04  
    * UID size: single
    * bit frame anticollision supported
           UID (NFCID1): 99  78  38  8e  
          SAK (SEL_RES): 08  
    * Not compliant with ISO/IEC 14443-4
    * Not compliant with ISO/IEC 18092
     
    Fingerprinting based on MIFARE type Identification Procedure:
    * MIFARE Classic 1K
    * MIFARE Plus (4 Byte UID or 4 Byte RID) 2K, Security level 1
    * SmartMX with MIFARE 1K emulation
    Other possible matches based on ATQA & SAK values:
     
    Try to authenticate to all sectors with default keys...
    Symbols: '.' no key found, '/' A key found, '\' B key found, 'x' both keys found
    [Key: 4d4946415245] -> [xxxxxxxxxxxxxxxx]
    [Key: ffffffffffff] -> [xxxxxxxxxxxxxxxx]
    [Key: a0a1a2a3a4a5] -> [xxxxxxxxxxxxxxxx]
    [Key: d3f7d3f7d3f7] -> [xxxxxxxxxxxxxxxx]
    [Key: 000000000000] -> [xxxxxxxxxxxxxxxx]
    [Key: b0b1b2b3b4b5] -> [xxxxxxxxxxxxxxxx]
    [Key: 4d3a99c351dd] -> [xxxxxxxxxxxxxxxx]
    [Key: 1a982c7e459a] -> [xxxxxxxxxxxxxxxx]
    [Key: aabbccddeeff] -> [xxxxxxxxxxxxxxxx]
    [Key: 714c5c886e97] -> [xxxxxxxxxxxxxxxx]
    [Key: 587ee5f9350f] -> [xxxxxxxxxxxxxxxx]
    [Key: a0478cc39091] -> [xxxxxxxxxxxxxxxx]
    [Key: 533cb6c723f6] -> [xxxxxxxxxxxxxxxx]
    [Key: 8fd0a4f256e9] -> [xxxxxxxxxxxxxxxx]
     
    Sector 00 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 01 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 02 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 03 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 04 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 05 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 06 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 07 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 08 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 09 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 10 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 11 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 12 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 13 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 14 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
    Sector 15 - Found   Key A: 4d4946415245 Found   Key B: 45524146494d
     
    We have all sectors encrypted with the default keys..
     
    Auth with all sectors succeeded, dumping keys to a file!
    Block 63, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 62, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 61, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 60, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 59, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 58, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 57, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 56, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 55, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 54, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 53, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 52, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 51, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 50, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 49, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 48, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 47, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 46, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 45, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 44, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 43, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 42, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 41, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 40, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 39, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 38, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 37, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 36, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 35, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 34, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 33, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 32, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 31, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 30, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 29, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 28, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 27, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 26, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 25, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 24, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 23, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 22, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 21, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 20, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 19, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 18, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 17, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 16, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 15, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 14, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 13, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 12, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 11, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 10, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 09, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 08, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 07, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 06, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 05, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 04, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  08  fc  
    Block 03, type A, key 4d4946415245 :00  00  00  00  00  00  ff  07  80  69  45  52  41  46  49  4d  
    Block 02, type A, key 4d4946415245 :00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 01, type A, key 4d4946415245 :01  19  6e  00  00  00  00  00  00  00  00  00  00  00  00  00  
    Block 00, type A, key 4d4946415245 :99  78  38  8e  57  08  04  00  62  63  64  65  66  67  68  69
    je retrouve bien les valeurs que j'ai programmé via mon application windows dans le bloc 4

    maintenant je cherche une moyen pour directement lire la valeur uniquement du bloc 4 .... et de même comment la modifier sans réécrire tout le fichier .mfd ....

    Avez-vous des solutions pour ça ?

    Merci
      1  0

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Par défaut
    Bonsoir je viens de lire votre tuto qui est vraiment top mais ma question et de savoir comment modifier une ligne sur un dump déjà enregistrer j'ai 2 fichiers je vois les montants différent mais je n'arrive pas à comprendre comment modifié toute la ligne
      0  0

Discussions similaires

  1. Lecture écriture RFID
    Par mah00 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/02/2011, 12h15
  2. Lecture du carte à puce via la DLL MCSCM.DLL
    Par vedge2000 dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 23/06/2010, 15h59
  3. Lecture depuis un lecteur carte RFID
    Par dimainfo dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 24/03/2010, 09h58
  4. Lecture/écriture fichier binaire via structure
    Par Tenebrous dans le forum C
    Réponses: 9
    Dernier message: 07/03/2010, 00h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo