Dupliquer son badge d’immeuble avec un smartphone c’est facile

Cet article fait partie de la série Expériences NFC / RFID (3 articles au total)

S’il y a quelques années, très peu de personnes avaient entendu parler de technologies comme le NFC et le RFID, il en est désormais tout à fait autrement ! La plupart des nouveaux smartphones milieu et haut de gamme intègrent désormais des puces NFC ce qui rend possible la lecture et l’écriture de badges et cartes sans contact, à commencer par la majorité des badges d’immeuble ! Beaucoup d’entre vous me contactent en me posant la même question : est-il possible de faire soi-même un double de son badge d’immeuble à l’aide d’un simple smartphone ? Et bien la réponse est oui, mais pas n’importe comment !

Une manipulation réservée à certains smartphones Android

Bien que les nouveaux iPhones aient une puce qui matériellement est capable de lire et écrire sur des badges à 13,56Mhz, je n’ai pas trouvé d’applications permettant de réaliser cette manœuvre. Sous Android par contre il est plus facile de trouver son bonheur : les smartphones équipés d’une puce NFC sont nombreux et il existe plusieurs applications pour cet usage, dont une gratuite assez répandue : Mifare Classic Tool, c’est d’elle que nous parlerons aujourd’hui !

Seuls les badges fonctionnant à 13,56Mhz sont copiables avec un smartphone

En effet, il existe plusieurs types de badges d’ouverture sans contact. L’immense majorité est en 13,56Mhz, mais on trouve aussi quelques badges qui fonctionnent à 125Khz. Les puces équipant les téléphones ne permettant que des échanges sur la bande de fréquence de 13,56Mhz, seuls les badges correspondant pourront être lus… et donc copiés. Si votre portier d’immeuble arbore un petit logo Vigik, il y a de grande chance que votre badge soit à la bonne fréquence !

Pourquoi on ne peut pas utiliser des badges avec UID modifiables « classiques »

Si vous suivez ce blog depuis quelques temps, vous avez peut-être déjà entendu parler de badges RFID qui ont une particularité, celle d’avoir leur identifiant unique (UID) modifiable. Cette particularité est nécessaire pour pouvoir réaliser un « clone parfait » de la puce RFID, en dupliquant son contenu mais aussi son identifiant qui est censé être unique au monde. J’ai utilisé de telles puces pendant des années. Ces puces de première génération fonctionnent à merveille avec un lecteur NFC externe comme le ACR122U, mais on ne peut pas modifier leur identifiant unique depuis un smartphone. En effet, la modification de l’UID nécessite des instructions particulières qui ne sont nativement pas possible sous Android. Je pensais donc que la réalisation d’un « clone parfait » d’un badge d’immeuble n’était possible que via un ordinateur. J’avais tort !

C’était sans compter sur les efforts de sociétés asiatiques qui ont donc créé un nouveau type de badges avec UID modifiables (on parle de badges de deuxième génération). Ces badges ont les mêmes caractéristiques que ceux de première génération, mais permettent également de modifier l’UID via des instructions standards, ce qui les rend pleinement utilisables avec un smartphone Android ! Ces badges sont nettement plus difficiles à trouver, mais sachez que j’en ai quelques uns en stock sur la boutique !

De quoi avez-vous besoin pour dupliquer votre badge d’immeuble ?

C’est pour moi la meilleure partie 🙂 En fait si vous avez déjà un smartphone sous Android compatible NFC, vous n’avez besoin de rien d’autre ! Evidemment il vous faudra des badges vierges adéquats, mais vous pouvez déjà diagnostiquer si votre badge est au bon format sans dépenser le moindre euro !

Donc si on récapitule, pour mener l’opération de bout en bout, il vous faudra :

Comment copier votre badge d’immeuble avec votre smartphone pas à pas

Etape 1 : Créer une sauvegarde (dump) de votre badge d’origine

Le but de cette étape est de transférer le contenu du badge vers un fichier de sauvegarde, un « dump » en anglais. Cela permettra de créer ensuite autant de copies que vous le souhaitez ! Cette étape est cruciale et peut déjà vous permettre de savoir si votre badge est copiable facilement.

Vérifiez que le NFC est activé sur votre appareil (Paramètres > Réseaux > NFC)

Ouvrez l’app Mifare Classic Tool, vous arrivez face à l’écran d’accueil que voici :

L’écran d’accueil de l’application MCT. Ici c’est la partie lecture (Read Tag) qui nous intéresse

Cliquer sur READ TAG, ce qui va vous afficher l’écran de sélection des clés à utiliser :


L’écran de sélection des clés. Le plus sûr est de sélectionner les 2 fichiers de clés.

Cochez les cases extended-std.keys et std.keys

Coller le badge sur l’arrière, un message va apparaître brièvement sur le bas de l’écran avec l’identifiant (UID) du tag détecté

Cliquer sur START MAPPING AND READ TAG. L’application va alors tenter une à une les différentes clés disponibles pour décoder chacun des secteurs qui composent le badge.

Il y a en tout 16 secteurs, sur la majorité des badges d’immeuble (ils renferment des puces de la famille des Mifare Classic 1K la plupart du temps). Il faut compter de quelques secondes à une dizaine de minutes pour que l’application MCT décode tous les secteurs et parvienne à un extraire les données.

Si vous voyez cet écran, c’est bon signe, c’est que l’application MCT a pu décoder le contenu de votre badge ! Félicitations :)

Si tous les secteurs sont lisibles, bravo, vous avez fait le plus dur. Je vous conseille alors d’enregistrer le dump en cliquant sur l’icône en forme de disquette en haut de l’écran, et de choisir un nom parlant. Dans notre exemple, je l’ai appelé badge-original. Ce fichier est la seule chose dont vous aurez besoin pour créer autant de copies de votre badge que nécessaire. Aussi je vous conseille de le stocker en lieu sûr, cela pourra vous être utile en cas de perte de votre badge d’origine par exemple.

En cas d’échec

Si jamais vous avez un écran où plusieurs secteurs sont affichés en rouge, c’est que l’application ne possède pas les clés pour les lire.  Tout n’est pas perdu mais vous ne pourrez probablement pas aller plus loin avec votre smartphone. Il faudra dans ce cas passer par une méthode un peu plus évoluée où vous aurez besoin d’utilitaires comme mfoc ou mfcuk pour trouver les clés manquantes. N’hésitez pas à relire cet article qui vous mettra sur la piste :)

Etape 2 : Transférer le contenu de votre sauvegarde vers un badge vierge

Comme annoncé en introduction, il va vous falloir pour cette étape des badges un peu spéciaux. Il s’agit de badges RFID contenant également 16 secteurs comme notre badge d’origine, mais avec une petite particularité : le secteur 0, habituellement accessible uniquement en lecture, doit également être accessible en écriture à l’aide d’instructions que votre smartphone peut gérer. Je reconnais qu’ils peuvent être un peu compliqués à dénicher, mais vous  trouverez ces badges compatibles smartphone sur la boutique, testés et approuvés !

Toujours depuis l’application MCT, il va falloir se rendre dans la section WRITE TAG disponible sur l’écran d’accueil de l’application Mifare Classic Tool en haut à droite :

L’écran d’accueil de l’application MCT. maintenant c’est la partie écriture (Write Tag) dont on va avoir besoin

Quatre possibilités s’offrent alors à vous, mais c’est la deuxième qui vous intéresse : Write Dump (Clone)

L’écran permettant de transférer le contenu d’un fichier vers un badge vierge

A partir de ce moment, il va falloir scrupuleusement suivre les instructions :

  • Commencer par cocher la case Show Options ce qui va rendre accessible deux nouvelles case à cocher : Use these Access Conditions for all sectors et Advanced: Enable writing to the manufacturer block
  • Cocher également ces deux nouvelles cases. J’avoue ne pas maîtriser complètement l’impact de la première, mais la seconde est capitale : elle va autoriser l’application à écrire le fameux secteur 0 (aussi appelé « Block 0 » ou « Manufacturer Block« )
  • Cliquer ensuite sur le bouton SELECT DUMP ce qui va afficher la liste de toutes les sauvegardes de badges disponibles sur votre téléphone.
Liste des dumps disponibles sur le téléphone
  • Sélectionner badge-original si vous l’avez bien nommé comme moi.
  • Un nouvel écran apparaît vous demandant de sélectionner les secteurs que vous voulez écraser en utilisant ceux du dump. Tout est coché par défaut… et c’est bien comme ça.
Ecran de sélection des secteurs à transférer sur le badge vierge
  • Placer à ce moment le badge vierge contre l’arrière de votre smartphone. Un petit message va apparaître en surimpression avec l’UID de votre badge vierge.
  • Cliquer sur OK, ce qui va lancer le processus d’écriture. L’opération ne prend que quelques secondes.

L’application va ensuite revenir à son écran de démarrage. Il m’arrive parfois d’avoir un message d’erreur qui s’affiche, sans que cela ne pose réellement de problème sur les données que contiennent le badge.

Félicitations, à ce moment là vous être normalement en possession d’une copie parfaite de votre badge d’immeuble ! Notez que si vous souhaitez faire d’autres exemplaires du même badge, il suffit de répéter l’étape 2 autant de fois que nécessaire. Vous comprenez donc que conserver le dump de votre badge d’origine est vital pour ne jamais être bloqué à l’avenir :)

Comment vérifier que la copie est parfaite ?

Evidemment vous allez me dire, le plus simple est de l’essayer ! Ce n’est pas faux mais ce n’est pas toujours possible ! Sachez que MCT intègre d’autres outils bien pratiques quand on travaille sur les puces RFID. Par exemple, si vous faites désormais une sauvegarde de votre clone de badge (en déroulant l’étape 1 avec votre clone), vous obtiendrez un nouveau dump (ici je l’ai appelé badge-copie). Et bien dans la section Tools de l’application Mifare Classic Tool, vous pourrez trouver un utilitaire appelé Diff Tool qui vous permettra de comparer les deux sauvegardes/dumps comme vous le voyez ci-dessous. Secteur par secteur, l’application vous montre si la copie et l’original sont identiques.

Voici la liste des outils disponibles dans l’application MCT pour manipuler les dumps. L’outil « Diff Tool » en 4ème position est très utile pour comparer 2 dumps.
Le résultat de la comparaison entre 2 dumps : secteur par secteur, ligne par ligne, l’outil nous indique les correspondances et les différences (s’il y en a). Ici on est bon, tout est identique !

Pour aller plus loin

Avec ce nouvel article, j’espère avoir rendu encore plus accessible ce domaine des badges et puces RFID qui me passionne. Ce ne sera vraisemblablement pas le dernier et l’intérêt que vous manifestez chaque jour via les autres articles sur le sujet et la boutique en dit long sur votre soif de connaissances ! N’hésitez pas à poser vos questions en bas de l’article, et surtout dites moi ce que vous souhaitez que j’aborde comme sujet autour de cette thématique ! Comme toujours j’essaie d’y répondre dès que je peux, et je vous encourage vivement à scanner tout ce qui se trouve autour de vous !

Tous les articles de la série Expériences NFC / RFID

Dupliquer son badge d’immeuble avec un smartphone c’est facile

15 commentaires

  1. Bonjour et merci pour ce super article.
    peut-on utiliser un smartphone pour « badger » une porte et plus besoin de cloner en cas de perte.

  2. Hello Sylvain,
    Techniquement le matériel embarqué dans le téléphone permettrait de le faire mais la couche logicielle apposée au-dessus dans Android empêche cette manœuvre. Donc à ma connaissance, cela n’est pas réalisable malheureusement. Cela permettrait de faire encore plus de chose avec son téléphone, mais rendrait sa perte encore plus dommageable ! Alexandre

  3. Salut,

    Super article merci.

    Les badges présenté dans ton article et que tu vends sur ta boutique sont-il réinscriptible ?
    Ou l’UID est disponible en écriture qu’a la première utilisation ?

    Merci,

  4. Hello Vincent,
    Les badges sont bien réinscriptibles. J’en ai également en test avec l’UID inscriptible une unique fois mais je ne les propose pas encore à la vente (je n’ai pas eu spécialement de demande là dessus alors qu’ils sont difficiles à sourcer tout en étant moins permissif en cas d’erreur). Mais j’y songe ! C’est ce que tu cherches ?

    Bien à toi,

    Alexandre

  5. Salut Alex.

    Non justement. Je voulais être sûr de pouvoir les « réinscrires » en cas d’erreur ou de changement d’affectation.

    Merci beaucoup pour ta réponse.

  6. Salut,

    J’ai bien reçu les tags. Envoi rapide : top.

    Pour information avec mon Nexus 5x ça ne marche pas terrible. J’ai des erreurs d’écriture. Par forcement toujours sur les mêmes secteurs. Quand je compare le dump avec le tag que je viens d’écrire. Aléatoirement des secteurs ne sont pas identique. Mais visiblement c’est un problème connu sur les Nexus (et sur le Mate 10 pro) :
    https://github.com/ikarus23/MifareClassicTool/issues/106
    https://github.com/ikarus23/MifareClassicTool/issues/158

    Je devrai pouvoir essayer sur un P20 pro assez rapidement. Je vous tiendrai informé.

  7. Salut Alex,

    Sur un P20 pro ça marche mieux que sur un Nexus 5X ;-)

    Par contre je n’arrive pas a obtenir un badge parfaitement identique. (Et du coup ma copie ne marche pas)

    Sur la fin du secteur 1 mon badge original ressemble à – – – – – – – FF0780FFFFFFFFFFFF
    Étonnamment ma copie ressemble à FFFFFFFFF078069FFFFFFFFFF

    As tu une idée ?

  8. Bonjour,
    j’ai suivi scrupuleusement les indications et tout a presque parfaitement fonctionné.
    en fait dans la section write tag , j’ai bien coché les 2 cases et laissé la valeur 08778F, ce qui fait que lorsque j’ai comparé mes 2 clés , sur la nouvelle, j’avais une différence sur cette valeur.
    J’ai donc recommencer l’opération en décochant la case: use these access conditions for all sectors dans
    « show options » , récrit la clé et quand j’ai comparé de nouveau tout était identique dans mes dumps.
    je n’ai pas encore testé la clé mais j’ai bon espoir.
    merci pour ce super tuto.

  9. Hello,
    Pour les iPhones, as-tu regardé l’app qui s’appelle MACE ? ça me semble proche de nos centres d’intérêts.
    Par contre, il faut ouvrir l’App avant de pouvoir badger une porte, je pense. Et il y a un autre pbm : lorsqu’on approche un iPhone d’un récepteur VIGIK d’un immeuble, l’application Apple Pay s’ouvre et bloque l’application que l’on vient de lancer (ici : MACE) : c’était le même pbm avec les bornes SNCF : Apple Pay s’ouvrait, au lieu de laisser badger avec l’application SNCF, avant qu’Apple et la SNCF ne résolvent ce pbm.

  10. Bonjour Alex,
    Je viens de recevoir ma commande de 6 badges re-inscriptibles (avec la note « d’encouragements »..!!)
    Malheureusement je n’arrive pas à copier correctement mon badge, il me met systématiquement un message d’erreur en fin de copie.
    Tu en parle dans ton tuto, alors j’ai testé le badge copié, mais le vigik reste en rouge et ne fonctionne pas.
    Pourrais-tu m’aider sachant que mon badge est de la marque Comelit-Immotec, et que je peux le lire sans problème.
    Je e remercie par avance.

  11. Est-ce que je peux « casser » un badge, récupérer la puce et l’utiliser en la collant sur un objet (portefeuille, téléphone) ?

  12. Super tuto et super site internet !
    J’ai suivi tous les conseils et acheté 3 badges ! C’est top ! Tout fonctionne super bien !
    Merci Alexandre pour tout ça ! Bonne continuation !

  13. Bien reçu les badges, malheureusement le système Vigik de l’immeuble réécrit 2 octets dans le secteur 11 à chaque passage, donc seul le dernier badge passé est valide (ou alors il faut s’embêter à le rescanner, s’envoyer le nouveau secteur et remettre à jour l’autre badge).

  14. bonjour le tuto est bien réalisé et très claire, cependant j’aimerait savoir s’il est possible de rendre un badge mifare copier à nouveau vierge, car ayant effectuer la manipulation je ne peux à présent écrire sur la badge, dut au sécurité, aurait-il un moyen d’y remédier?

  15. Bonjour,

    Avec mon Nexus 5x ça ne marchait pas.
    Avec un P20 pro et un Pixel 3a XL j’ai réussi a faire des copies parfaite. (Comparaison des dumps).
    Par contre il doit y avoir des sécurités supplémentaires car ma copie n’ouvre pas la porte de l’immeuble.

    Je vais essayer sur un autre système vigik à l’occasion.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *