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

 C++ Discussion :

Lecture d'une carte à puce


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de theclem35
    Homme Profil pro
    Technicien Réseaux & Télécommunications
    Inscrit en
    Décembre 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Réseaux & Télécommunications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 148
    Par défaut Lecture d'une carte à puce
    Salut à tous,

    Alors je pense que je ne suis pas du tout dans le bon forum, mais à vrai dire je ne sais pas du tout ou faire ma demande !!

    Alors voila :
    Je souhaite concevoir un logiciel (en C ou C++) qui me permettrai de lire le contenu d'une puce (d'une carte à puce) que j'aurai auparavant programmé.

    Seulement je ne sais pas du tout comment faire pour communiquer et lire la puce ? Langage, sockets?, etc...

    Pouvez m'indiquer où je peux trouver ces informations ?

    Merci

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par theclem35 Voir le message
    Pouvez m'indiquer où je peux trouver ces informations ?
    Avec le SDK fournit avec ton lecteur de cartes ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé Avatar de theclem35
    Homme Profil pro
    Technicien Réseaux & Télécommunications
    Inscrit en
    Décembre 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Réseaux & Télécommunications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 148
    Par défaut
    En fait je n'ai pas encore de matériel j'essaye de prévoir la difficulté de réalisation de mon projet.

    Le but serait de creer un programme en C qui piloterai un port RS232 et qui lirai ce qui se trouve dans la puce (binaire) et qui le convertirai afin de me l'afficher à l'écran.

    Mais je n'arrive pas a trouver de choses assez précises à ce sujet sur internet :/ (et il doit surement y en avoir)

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 472
    Par défaut
    La principale difficulté réside d'abord dans le choix de ta puce. Si c'est une télécarte de première génération que tu veux lire, c'est trivial. Si c'est une carte bancaire, il y a tout un protocole à respecter.

    Ensuite, ça va effectivement dépendre de la connectivité que tu utilises. Ça veut donc dire qu'il n'y a rien de standard et que, même pour les connecteurs les plus courants, cela va quand même relever de la programmation système.

    Pour lire une télécarte de première génération avec un lecteur maison bricolé, le plus simple reste de loin les broches du port parallèle. Si tu tiens à le faire avec du RS-232, tu peux utiliser les signaux auxiliaires tels que RTS, CD, etc. pour parvenir à tes fins.

    Si tu utilises un lecteur dédié un peu plus sophistiqué, alors celui-ci sera livré (en principe) avec des spécifications d'utilisation. En clair, ce sera en fait un « nano-ordinateur » et c'est avec lui qu'il faudra communiquer.

  5. #5
    Membre éclairé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Par défaut
    Citation Envoyé par theclem35 Voir le message
    En fait je n'ai pas encore de matériel j'essaye de prévoir la difficulté de réalisation de mon projet.

    Le but serait de creer un programme en C qui piloterai un port RS232 et qui lirai ce qui se trouve dans la puce (binaire) et qui le convertirai afin de me l'afficher à l'écran.

    Mais je n'arrive pas a trouver de choses assez précises à ce sujet sur internet :/ (et il doit surement y en avoir)
    Re, j'ai peu etre trop rapidement lus le poste, desolé
    Si tu veux manipuler un lecteur via un port COM, il te suffit de te procurer la dataSheet du lecteur et ensuite lui envoyé les commandes appropriés ( mettre la carte sous tension, cmd de R/W/U, ....)

    De mémoire j'avais trouvé une fois un tutos qui te permettai de te fabriquer ton propre lecteur en RS232, mais il te suffit de trifouiller un peu sur le Web pour en trouver à 10euros.

    Selon tes explications voici la marche à suivre :
    _ Se degoter un lecteur pas cher, idealement en USB CCID afin d'avoir la compatibilité avec Microsoft (winscard.dll + service "carte à puce" ).
    _ en serie, facile d'utilisation, se gere comme un UART standard STX | CMD| ETX | CRC
    _ Trouver la doc du lecteur et celle de la carte pour recuperer l'ensemble des commandes à utiliser.
    _ ecrire une fonction de conversion byteToAscii et AsciiToByte.

    Voila j'espere avoir été clair,

    Cordialement,

    Moulefrite

  6. #6
    Membre confirmé Avatar de theclem35
    Homme Profil pro
    Technicien Réseaux & Télécommunications
    Inscrit en
    Décembre 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Réseaux & Télécommunications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 148
    Par défaut
    Effectivement cela je pense va me servir car meme ayant changé de projet, le nouveau parle aussi du pilotage d'un appareil sur le port RS232.

    D'apres ce que j'ai compris, suivant le type de périphérique piloté, les commandes ne sont donc pas les même ?

    Par exemple :
    Je peux me connecter sur n'importe quel périphérique avec Hyperterminal de windows ?
    Ensuite il suffit que je trouve la doc du circuit imprimé c'est ca ? Je crois que pour les modem ce sont les commandes HAYES (at&f, atd300 etc..)
    Donc la par exemple si mon périphérique à un microcontrolleur motorola xxxx il faut que je trouve la datasheet et dedans j'aurais donc les commandes a envoyer par hyperterminal ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Par défaut
    Citation Envoyé par theclem35 Voir le message
    Salut à tous,

    Alors je pense que je ne suis pas du tout dans le bon forum, mais à vrai dire je ne sais pas du tout ou faire ma demande !!

    Alors voila :
    Je souhaite concevoir un logiciel (en C ou C++) qui me permettrai de lire le contenu d'une puce (d'une carte à puce) que j'aurai auparavant programmé.

    Seulement je ne sais pas du tout comment faire pour communiquer et lire la puce ? Langage, sockets?, etc...

    Pouvez m'indiquer où je peux trouver ces informations ?

    Merci
    Bonjour TheClem35,

    Pour pouvoir lire une carte à puce, dans un premier temps, il faudrais que tu nous donne des informations sur le lecteur que tu utilise afin de determiner si celui-ci peu fonctionner avec le driver microsoft ( usbccid.sys).

    Ensuite, comme abordé par Obsidian, il faudrais savoir le type de carte que tu veux lire.

    Dans un premier temps je te conseillerai plutot de t'assurer que ton lecteur soit compatible PC/SC, auquel cas, recuperer le driver PC/SC du fabriquant.
    L'interet d'etre PC/SC est de permettre l'utilisation de la Winscard.dll pour pouvoir communiquer avec ton lecteur et/ou ta carte.

    En esperant t'avoir aidé,

    Cordialement,

    Moulefrite

  8. #8
    Membre confirmé Avatar de theclem35
    Homme Profil pro
    Technicien Réseaux & Télécommunications
    Inscrit en
    Décembre 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Réseaux & Télécommunications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 148
    Par défaut
    Merci pour vos réponses.

    En effet j'ai pu chercher à droite à gauche des réponses à propos de mon sujet, j'ai pu avancer un peu. (Choix à la base d'un puce de carte de telephone standart et non a microprocesseur)

    Malheuresement un autre parametre de mon projet est irréalisable je cherche donc une autre idée de projet.

    Merci à tous pour aide

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 472
    Par défaut
    Malheuresement un autre parametre de mon projet est irréalisable je cherche donc une autre idée de projet. Merci à tous pour aide
    Quel autre paramètre ?


    Citation Envoyé par theclem35 Voir le message
    Merci pour vos réponses. En effet j'ai pu chercher à droite à gauche des réponses à propos de mon sujet, j'ai pu avancer un peu. (Choix à la base d'un puce de carte de telephone standart et non a microprocesseur)
    Si tu arrives à trouver une télécarte de première génération (jusqu'à 1995 environ), il est très facile de se bricoler un petit lecteur. Tu trouveras un connecteur tout fait en magasin d'électronique mais, à défaut, tu peux presque en monter un de toutes pièces, avec des trombones par exemple, si tu es habile de tes mains.

    Le protocole des « T1G », les télécartes de premières génération, est extrêmement simple : il s'agit de 256 × 1 bit, dans une mémoire PROM (en réalité EPROM mais noyée dans une résine imperméable aux UV).

    Sur les huit contacts dont est doté le micro-module (la « puce »), il y en a :

    • Un pour la masse ;
    • Un pour la tension d'alimentation ;
    • Un pour la tension de programmation (pour faire « claquer » les bits) ;
    • Un pour la lecture du bit courant ;
    • Un pour avancer au bit suivant ;
    • Un pour remettre le compteur à zéro ;
    • Un pour ordonner l'écriture d'un bit ;
    • Et un pour faire griller le fusible servant à protéger les 96 premiers bits (en usine).


    En faisant un reset, donc, l'état du premier bit est reflété sur le contact de sortie. En envoyant une impulsion sur la broche idoine, tu passes au bit suivant. Tu reviens donc automatiquement au premier bit après 256 impulsions, ou si tu utilises le reset à nouveau.

    Sur ces 256 bits, les 96 premiers sont protégés et contiennent un numéro de série. Impossible de les modifier, au risque de tuer la carte. Les 160 suivants, donc, sont les unités. À chaque fois que l'une d'elle est consommée, on fait passer un de ces bits de 0 à 1 (l'inverse n'étant pas possible). Le dernier octet (en fait les huit derniers bits, pour être exact) étaient programmés à 1 lorsque la télécarte était épuisée. Ceci faisant que l'on ne pouvait avoir de télécarte dépassant 150 unités.

    À l'époque, j'étais au lycée, et comme chaque télécarte était unique parce qu'elle disposait de son propre numéro de série, j'avais en projet de les utiliser comme « clés » pour commander un verrou électronique, comme dans les hôtels.

    Évidemment, si ces cartes étaient aussi simples à lire, il était tout aussi simple de fabriquer des circuits en imitant le comportement. Donc, des fausses cartes. Ceci a conduit à terme à l'adoption de la seconde génération mais bien avant ça, les publiphones ont été mis à jour. Le logiciel interne a été amélioré pour vérifier dans un premier temps que les caractéristiques électriques des cartes étaient bien exactement celles attendues. Ensuite, je suppose que France Télécom a pu facilement mettre en place une base de données centrale des numéros de carte. Donc, même artificiellement recréditée, une carte déclarée épuisée le restait inexorablement.

  10. #10
    Membre confirmé Avatar de theclem35
    Homme Profil pro
    Technicien Réseaux & Télécommunications
    Inscrit en
    Décembre 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Réseaux & Télécommunications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 148
    Par défaut
    Salut,

    Malhereusement ce qui me contrait d'arreter le projet, c'est le développement d'une DLL intéragissant avec windows, et qui est beaucoup trop complexe.

    De plus, le projet souhaité existe deja nativement sous windows 7, et est deja commercialisé avec des sécurités bien plus importantes par une multitude de fabricants.

    Si tu veux + de détails on peut passer par MP

    Encore merci à tous pour votre aide

  11. #11
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Par défaut Suite !
    Bien le Bonjour,

    je sais pas si j'ai bien ma place sur ce forum et encore plus sur ce site en l'occurrence, car je n'y connais pas grands chose en C++ ( je commence tout juste le Python ) mais cela m'intéresse pour autant, malgrès le temps que cela demande.

    Bref,moi c'est David, je suis infographiste 3D sur Paris et j'ai 23 ans

    pour faire clair je suis tombé sur ce topic par hasard, et l'idée de faire un double de ma CB m'a traversé l'esprit il y a déjà quelques temps , j'ai lu pas mal de forums qui traité le sujet etc.. mais tout est assez confus.

    j'aimerai savoir si cela est réalisable, pour un investissement d'argent raisonnable (0-100€). le matos à utiliser ? (quel lecteur encodeur ?)

Discussions similaires

  1. Lecture et écriture des données dans une carte à puce
    Par junior222 dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 30/11/2015, 15h57
  2. Lecture d'une carte son
    Par fatenov dans le forum Simulink
    Réponses: 0
    Dernier message: 21/05/2008, 21h56
  3. Lecture d'une carte mémoire SD
    Par mout551 dans le forum VHDL
    Réponses: 0
    Dernier message: 22/10/2007, 14h36
  4. [sécurité ARAMIS] pb de lecture d'une carte
    Par ADSL[fx] dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 03/08/2006, 10h31
  5. Mot de passe sur une carte à puce!?
    Par Le_Che dans le forum C++Builder
    Réponses: 13
    Dernier message: 20/05/2005, 10h37

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