Bonjour tout le monde !
Aujourd’hui je vous ai préparé un article pour vous parler d’un lecteur RFID "made in chinois" que j’ai trouvé sur DealExtreme pour … 8.50$ !
Oui oui, 8.5 dollars, frais de port inclus … la super bonne affaire en quelque sorte.
Pour les curieux voici le lien (SKU.174455) (malheureusement "sold out", ce qui signifie sur dealExtreme qu’il n’y en aura plus jamais) :
http://dx.com/p/intelligent-id-card-usb-reader-174455
Le lecteur en soit marche super bien avec mes tags RFID 125KHz compatible EM4100 (tags RFID basique).
Il y a juste un petit problème …
Le lecteur s’énumère sur le bus USB comme un bête clavier HID, pas de drivers requis donc.
Quand on passe un tag une led clignote et un buzzer beep, classique.
Sauf qu’au même moment le lecteur "écrit" 10 octets sous forme hexadécimal … un tag RFID EM4100 ne contenant que 5 octets on est en droit de ce demander où il trouve les 5 octets en plus.
J’ai cherché, encore et encore sans trouver de logique derrière ces 10 octets …
- ils sont bien uniques, chaque carte donne une suite de valeurs différentes.
- ils ne correspondent pas au octets de l’ID du tag RFID
- certain octets semble "figés"
Tout laisse à penser qu’il s’agit d’un format propriétaire ou d’une astuce de fabrication pour réduire les coûts …
En cherchant un peu plus loin (très loin même) j’ai pu retrouver le fabricant :
http://www.freevisioncorp.com/Product.asp?Id=62
Mais en regardant certains points de la fiche produit les choses ne collent pas :
Reader Model Blackbox D10 // Sur DealExtreme la référence est "ID0009" -> D9 / D10, mon lecteur est peut être une version allégé ?
Application Read /write HID card // Read ok, mais Write ... énuméré en tant que clavier usb c'est pas possible
Functions: Read UID of EM4100 Unique RO chip // Ok ça c'est bon
Read HID Proxcard // Je reste perplexe sur ce point, j'ai pas de carte HID pour tester mais ça m'étonnerai beaucoup
Un premier morceau de réponse pourrait se cacher derrière les annotations en chinois sur le carton :
- ID -> ?
- USB -> connexion usb
- ????
- 10 ??? -> 10 octets ?
- ???
Je ne suis pourtant pas fou c’est bien le même lecteur qu’ici :
http://www.freevisioncorp.com/productclass.asp
–
Une seule solution, la révolution le démontage !
Vue arrière :
Circuit + antenne :
Circuit en détails :
On peut y voir une partie pour la mise en forme du signal de l’antenne.
Un STC15F104E pour la gestion de la led et du buzzer (pourquoi pas … c’est un peu overkill comme solution mais bon).
Et … un CI totalement inconnu qui est directement relié au port usb.
De plus on remarque une empreinte vide avec des connexions très semblables à celles de l’empreinte du CI inconnu, ce pcb est sûrement utilisé pour faire deux versions du même produit.
Concernant le CI inconnu c’est à coup sûr un composant spécialisé, conçu et fabriqué par la même entreprise que le lecteur lui même.
Pas la moindre trace de laser ou de "grattage", ce CI n’a tout simplement jamais était gravé d’une quelconque référence …
–
Parlons software :
Bon concernant le logiciel … j’ai rien à dire en fait, le lecteur se comporte comme un clavier usb qui "écrit" les ID des tags qu’il lit.
J’ai fait un récapitulatif des ID lus et des ID réels de mes cartes RFID … si vous voyez une logique la dedans bravo, moi je sèche …
Réel: 26 00 D7 18 74
Lu: E0 E0 26 27 E0 E7 2D 28 E0 E0
Réel: 26 00 D6 F1 A8
Lu: E0 E0 26 27 E0 5F 2D 28 2D 5F
Réel: 01 07 DD 76 72
Lu: E0 26 22 26 E7 28 27 E9 E7 E0
Réel: 01 07 DD 72 75
Lu: E0 26 22 26 E7 28 22 26 5F E7
Réel: 01 07 DD 59 3B
Lu: E0 26 22 26 E7 27 2D 5F 26 26
Réel: 01 07 DD 74 95
Lu: E0 26 22 26 E7 28 22 5F 26 22
Réel: 01 07 DD 79 11
Lu: E0 26 22 26 E7 28 27 E7 2D 26
Le premier octets semblent constant, pour le reste …
Si vous avez une idée n’hésitez pas à me le faire savoir via les commentaires






Je dis peu-être de la m*rde, mais:
Quand réel commence 26 00, Lu commence toujours par E0 E0 26 27 E0
Quand réel commence 01 07, Lu commence toujours par E0 26 22 26 E7
D’autres cartes à tester seraient peut-être nécessaires…
Publié par Damien | 1 février 2013, 14 h 22 minAperçu le produit D10 ici http://www.tradekorea.com/product-detail/P00286215/125KHz_HID_Compatible_RFID_Reader_Writer__Free_Now_.html
Et sur la page il y a un manuel PDF qui explique l’install de driver windows +soft
http://www.tradekorea.com/product/file/download.mvc?prodId=P00286215&fileSysNm=/upload_file2/product/215/P00286215/cbe9caa5_da4c2f15_f3d0_474c_9f5c_2e3e10947514.pdf
–> CH341SER.rar / CH341SER.exe et iProxProgrammer PC software
En espérant aider à faire avancer le schmilblick…
… mais si ça se trouve ça te fournit les caractères en 16 bits comme le ferait un clavier chinois
Publié par Guigui | 1 février 2013, 15 h 33 min>> … mais si ça se trouve ça te fournit les caractères en 16 bits comme le ferait un clavier chinois
Tu tient un truc là ! De l’UTF-16 … pourquoi pas !
Publié par skywodd | 1 février 2013, 19 h 22 minSi c’est censé se comporter comme un clavier , cherche du coté des "keyboard scan code" a mon avis.
Publié par blakk-olifant (@blakkolifant) | 1 février 2013, 21 h 52 minJe ne sais pas si sa peut aider, mais si on converti en décimale, on peut voir que quant la valeur réelle B est plus petite que valeur réelle A, la valeur lue B est plus petite que la valeur lue A, et vice versa
http://img836.imageshack.us/img836/2073/captureskyi.png
Publié par Adrien | 1 février 2013, 22 h 53 minGrâce à Google Traduct (Appli Android qui traduit à partir d’une photo) :
- ID -> ?
- USB -> connexion usb
- ???? –> Décimal // et la ligne en face (colonne de droite) c’est Hexadécimal
- 10 ??? -> 10 positions
- ??? –> Personnaliser
Voilà, si ça peut aider.
Publié par Simon | 2 février 2013, 13 h 10 minJete un coup d’oeil à cette page : il y a également un mot de 10 bits et ils donnent le contenu. Peut etre que ta carte utilise le mm algo : http://www.ardushop.com/kits/electronic-brick-125khz-rfid-card-reader.html
Publié par Guillaume | 2 février 2013, 22 h 59 minC’est bien le même algo.
Réel -> Sans le 1er octet -> en décimal sur 10 chiffres
=> Encodage selon le tableau suivant
0 E0
1 26
2 E9
3 22
4 27
5 28
6 2D
7 ??
8 5F
9 E7
Par contre, je n’ai pas trouvé la logique de cet encodage et du coup il manque le 7…
26 00 D7 18 74 -> 00 D7 18 74 -> 0014096500
E0 E0 26 27 E0 E7 2D 28 E0 E0
26 00 D6 F1 A8 -> 00 D6 F1 A8 -> 0014086568
E0 E0 26 27 E0 5F 2D 28 2D 5F
01 07 DD 76 72 -> 07 DD 76 72 -> 0131954290
E0 26 22 26 E7 28 27 E9 E7 E0
01 07 DD 72 75 -> 07 DD 72 75 -> 0131953269
E0 26 22 26 E7 28 22 26 5F E7
01 07 DD 59 3B -> 07 DD 59 3B -> 0131946811
E0 26 22 26 E7 27 2D 5F 26 26
01 07 DD 74 95 -> 07 DD 74 95 -> 0131953813
E0 26 22 26 E7 28 22 5F 26 22
01 07 DD 79 11 -> 07 DD 79 11 -> 0131954961
E0 26 22 26 E7 28 27 E7 2D 26
Antafuli
Publié par Antafuli | 4 février 2013, 23 h 05 minLe mystère est donc résolu !
Vous faite vraiment des miracles les mecs
Par contre … pourquoi avoir choisi cette méthode d’encodage ? Ça c’est un autre mystère …
Surtout qu’en faisant cela plusieurs ID peuvent rentrer en conflit du fait de l’octet manquant.
–
Concernant l’encodage du chiffre 7 je vais (re)sortir mon spoofer RFID pour émuler des cartes EM4100 avec uniquement une seule série de chiffres identiques.
Edit:
Pour ’7′ c’est 0xE8
Je vais faire un article pour présenter le calcul, mon script de codage / décodage et bien sûr vous remercier
Publié par skywodd | 5 février 2013, 12 h 52 minLe premier octet est peut-être un checksum ou quelque chose dans le genre.
Joli travail en tout cas!
Publié par Binary Brain | 18 février 2013, 20 h 34 minpourquoi décimal? parce que c’est classique pour les lecteurs de controle d’accès!
Mais je sais pas pourquoi c’est classique!
(je bosse dans le domaine…)
Publié par seb de OpenMakersDaily | 18 février 2013, 9 h 15 minAu moins comme ça c’est réglé si même les gens dans le domaine savent pas pourquoi ^^""
Publié par skywodd | 18 février 2013, 21 h 51 minhttp://dx.com/p/intelligent-id-card-usb-reader-174455
6,50€, et en stock
Publié par j3tstream | 16 avril 2013, 13 h 39 minQuelles sont les dimensions de l’antenne ? Combien de tours ? Quel diametre pour le fil ?
Publié par Gidam | 12 mai 2013, 5 h 30 minAucune idée je n’ai pas mesuré l’antenne (ou quoi que ce soit d’autre).
Publié par skywodd | 12 mai 2013, 14 h 27 min