Comment nous avons perdu 230 euros chez CJ Affiliate (Conversant)

[accueil]  [menu]  [marions-nous !]  [chercher]


2014-03-11 00:00

Les secrets des Télécartes de « 3e génération »


Avec l'inéluctable raréfaction des cabines publiques, le modèle économique des Télécartes jetables se trouve progressivement remis en cause. Tout à la fois à puce et à gratter, la nouvelle génération est désormais rechargeable, et offre bien plus d'opportunités de bricolage que les précédentes. Découverte du code sans gratter, transfert du crédit d'une carte à une autre, contournement de la date de péremption... Découvrez nos astuces !

Jusqu'à une date assez récente, les Télécartes à puce contenant des UTP (Unités Télécom Publiphone) indivisibles étaient vendues 7,50 euros ttc pour les 50 unités et 15 euros ttc pour les 120. Leur principal inconvénient était qu'elles ne supportaient pas la tarification à la seconde, d'où un coût des appels nécessairement multiple de 12,3 ou 14,8 centimes.
Les Télécartes rechargeables de 7,50 et 15 euros

L'apparition de valeurs faciales exprimées en euros et non plus en unités s'accompagne d'une véritable révolution technique, dont la conséquence la plus évidente est que le crédit n'est plus lisible sur l'afficheur du publiphone, mais annoncé vocalement. En pratique, il ne s'affiche plus qu'un message « SUIVEZ LE GUIDE VOCAL », ou un compte-rendu d'erreur si une anomalie (éventuellement provoquée !) est détectée dans la puce. L'explication est simple : le crédit de la carte ne réside plus dans la puce de celle-ci, mais dans un serveur central, exactement comme dans le cas d'un Ticket Téléphone à gratter ! Du coup, la puce ne sert plus qu'à automatiser les opérations éminemment fastidieuses que sont la composition d'un numéro gratuit, puis celle d'un code à gratter pouvant comporter jusqu'à 14 chiffres. Sur certains modèles de publiphones, on entend d'ailleurs distinctement dans le combiné les tonalités DTMF (ou fréquences vocales) utilisées pour cette numérotation automatique. Serions nous donc en présence d'une nouvelle génération de Télécartes, après la T1G et la T2G ? Pour en avoir le coeur net, il faut employer la manière forte, autrement dit extraire la puce à l'acide sulfurique concentré et bouillant, puis l'examiner au microscope. Là, le verdict est sans appel : la référence du masque de la puce est ST1332D, et son année de création 1999. Il ne s'agit donc manifestement pas d'un nouveau composant, mais de la quatrième version du ST1332A, datant pour sa part de 1993 et ayant équipé des millions de T2G jetables avant d'être amélioré à plusieurs reprises par son fabricant (STMicroelectronics).
D'ailleurs, des possibilités d'appel automatique, et même de répertoire de numéros intégré, faisaient partie des spécifications initiales de la T2G, tandis que certains collectionneurs possèdent des T2G publicitaires appelant spontanément le numéro de leur sponsor, dans la limite du crédit disponible.
Dans le cas inédit de la « T3G », aucun crédit d'unités n'est chargé dans la puce, ce que confirmera volontiers le premier lecteur autonome venu. Le crédit en euros attaché à la carte peut être consommé (ou simplement consulté), soit en insérant celle-ci dans un publiphone, soit en appelant manuellement un numéro gratuit (inaccessible depuis une ligne fixe !) et en composant le code à gratter de 14 chiffres.
Le verso de la carte comporte également un numéro de série et sa réplique sous forme de code-barres, utilisable pour un rechargement en point de vente (la carte est alors tout simplement scannée en caisse). Il est cependant possible de recharger aussi depuis un publiphone, soit par carte bancaire, soit au moyen d'un ticket acheté en point de vente, exactement comme dans le cas d'une formule de téléphonie mobile prépayée. Bref, nous sommes en présence d'un produit très évolué, relativement complexe, et donc particulièrement intéressant à analyser !

Explorons la puce !
Lire le contenu de la puce d'une Télécarte nous ramène aux temps héroïques de la construction de lecteurs faits maison branchés sur le port parallèle d'un PC cadencé à quelques dizaines de MHz, confirmant s'il en était besoin que cette façon de procéder est toujours d'actualité (lire notre ouvrage Cartes à puce et PC dans la collection ETSF des éditions Dunod). Rares sont en effet les lecteurs PC/SC capables de lire les T2G, sauf à passer par un adaptateur les « déguisant » en cartes asynchrones "T=0" (voir pages 81 et suivantes de notre ouvrage Plus loin avec les cartes à puce offert en téléchargement gratuit maintenant que son édition papier est épuisée et que sa réimpression n'est pas du tout souhaitée en haut lieu...).


Le schéma électronique de l'adaptateur PC/SC pour T2G

Son principe consiste à intercaler un microcontrôleur PIC16F84 entre un connecteur de cartes à puce recevant la T2G (à gauche), et une fausse carte en circuit imprimé de 8/10 mm (à droite) à insérer dans le lecteur PC/SC (par exemple un TeoByXiring). Par rapport au projet très voisin qui nous a servi à explorer des cartes à puce de stations-service basées sur la technologie Eurochip, seul le microprogramme du PIC diffère :

; Adaptateur PC/SC pour T2G (PIC 16F84)
; (c)2001 Patrick GUEULLE
;
list p=16F84
#include
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _XT_OSC
org 0
goto init
org 4
init bsf 3,5 ;bank 1
movlw 0 ;port A: SSSSSSSS
movwf 85
movlw 10 ;port B: SSSESSSS
movwf 86
bcf 3,5 ;bank 0

;mise au repos carte synchrone
bcf 6,0
bcf 6,1
bcf 6,2

;ATR
call tx ;mode sortie
movlw .50
movwf 10
tempo call delay1 ;retard avant reponse au reset
decfsz 10,1
goto tempo
movlw 3F ;emission de la reponse au reset
call even
movlw 00
call even ;emission d'un octet de parite paire
call rx

;RESET carte synchrone
bsf 6,1
call delay1
bcf 6,1
call delay1
call delay1
bsf 6,2

;attente commande
cde call rx ;mode entree
call recv ;attente reception octet CLA
call recv ;attente reception octet INS
movf 11,0
movwf 2E
movwf 2D
movlw 44 ;l'octet recu est-il 44h ? (UP)
xorwf 11,1
btfsc 3,2
goto UP ;si oui micro-instruction UP
movlw 22 ;l'octet recu est-il 22h ? (PROG)
xorwf 2D,1
btfsc 3,2
goto PROG ;si oui micro-instruction PROG
call recv ;ignorer P1
call recv ;ignorer P2
call recv ;ignorer LEN
call tx ;mode sortie
call delay1
movlw 6F ;compte-rendu d'erreur SW1SW2 = 6F00
call even
movlw 00
call even
goto cde ;attendre prochaine commande

UP call recv ;ignorer P1
call recv ;ignorer P2
call recv ;ignorer LEN
call tx ;mode sortie

;lecture "avant"
movlw 50
btfsc 6,4
movlw 0A0
movwf 2F ;resultat "avant" dans registre 2F

;avance 1 bit
bsf 6,1
call delay1
bcf 6,1

;lecture "apres"
movlw 05
btfsc 6,4
movlw 0A ;resultat "apres"
addwf 2F,1 ;2 resultats dans registre 2F

;reponse au lecteur
movlw 90 ;SW1 = 90h
call even
movf 2F,0 ;registre 2F dans SW2
call even
goto cde

PROG call recv ;ignorer P1
call recv ;ignorer P2
call recv ;ignorer LEN
call tx ;mode sortie
call delay1
movlw 90 ;SW1 = 90h
call even
movlw 22 ;SW2 = 22h
call even
call delay1
;corps de la micro-instruction PROG
bsf 6,0
call delay1
bsf 6,1
movlw .100 ;impulsion programmation
movwf 10
ttt call delay1
decfsz 10,1
goto ttt
bcf 6,1
call delay1
bcf 6,0
goto cde

;bibliotheque T=0 convention inverse

tx bsf 3,5 ;routine de mise en mode sortie
bcf 85,4
bcf 3,5
return
rx bsf 3,5 ;routine de mise en mode entree
bsf 85,4
bcf 3,5
return
send movwf 0D ;routine UART emission
comf 0D,1
movlw 8
movwf 0E
bcf 5,4
call delay1
next bcf 3,0
rlf 0D,1
btfsc 3,0
bsf 5,4
btfss 3,0
bcf 5,4
call delay2
decfsz 0E,1
goto next
return
recv clrf 11 ;routine UART reception
btfsc 5,4
goto delay3
call delay4
movlw 8
movwf 10
rnext bcf 3,0
rlf 11,1
btfsc 5,4
bsf 11,0
call delay1
decfsz 10,1
goto rnext
parity call delay4 ;ignorer le bit de parite recu
comf 11,1 ;bit a 1 = niveau bas (convention inverse)
return
call delay1
even call send ;emission d'un octet en parite paire
bsf 5,4
call delay1
bsf 5,4
call delay1
return
odd call send ;emission d'un octet en parite impaire
bcf 5,4
call delay1
bsf 5,4
call delay1
return
delay4 movlw .34 ;temporisation 1,25 bit
goto time
delay3 movlw .14 ;temporisation 1/2 bit
call time
goto recv
delay2 movlw .27 ;temporisation 1 bit (104 uS a 9600 bauds)
goto time
delay1 movlw .28 ;duree d'un bit de start/stop
time movwf 0F ;boucle de temporisation
redo decfsz 0F,1
goto redo
retlw 0
mute goto mute ;boucle sans fin (mutisme et blocage de la carte)
end ;(il faudra faire un RESET pour repartir)

En pratique, on pourra soit compiler le code source assembleur ci-dessus (T2G.ASM), soit télécharger directement le fichier (T2G.HEX) à « brûler » dans un PIC16F84 au moyen d'un programmateur approprié.

Grâce à cet artifice, la Télécarte munie de son adaptateur sera vue comme une carte asynchrone "T=0", pour laquelle on pourra écrire des logiciels ZCBasic qui fonctionneront sur n'importe quel PC équipé d'un système d'exploitation Windows 95 ou supérieur.

#include CARDUTIL.DEF
#include COMMERR.DEF
ComPort=101
Declare Command &H22 &H44 UP(S$,Disable Le)
Call WaitForCard
ResetCard:Call CheckSW1SW2:Print
CLS:Open"CARTE.CAR" For Output As #1
FOR F=1 TO 16
FOR G=1 TO 8
FOR H=1 TO 4
S$="":Call UP(S$)
IF SW2=&HA5 OR SW2=&HAA Then Print"1";
IF SW2=&HA5 OR SW2=&HAA Then Print#1,"1 ";
IF SW2=&H5A OR SW2=&H55 Then Print"0";
IF SW2=&H5A OR SW2=&H55 Then Print#1,"0 ";
NEXT H
Print" ";:Print#1," ";
NEXT G
Print:Print#1
NEXT F
Close#1
Print
Call WaitForNoCard

Obtenu par compilation au moyen du kit BasicCard gratuit, le fichier exécutable (T2G.EXE) peut être lancé avant ou après introduction de l'adaptateur dans le lecteur PC/SC, la Télécarte ayant été préalablement insérée dans son connecteur. Il s'affichera alors le résultat de la lecture, bit par bit, de l'intégralité de la mémoire de la T2G.

1000 0001 0100 0000 0000 0000 0010 0110
1000 0101 0101 0110 0001 0110 0000 1100
0000 0000 1010 1010 0010 0110 0010 0010
0000 1000 0011 0110 0100 1000 0011 0100
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0111 0101 1111 0101 0000 0000 0000 0000
1111 0101 1111 0101 1111 1111 1111 1111
0011 0010 0001 1000 1000 0110 1001 0110
1000 1001
1010 1010 0000 0000 0000 0000
1111 0101 1111 0101 1111 1111 1111 1111
1111 0101 1111 0101 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111

L'analyse approfondie de ces 512 bits, lus dans une carte bien réelle, se révèle passionnante, et ouvre la voie à d'innombrables expérimentations... Exprimés en hexadécimal, les 16 premiers bits correspondent bien au « numéro de silicium » 8140h des T2G fabriquées par STMicroelectronics, autrement dit au composant ST1332. Suit un numéro de série qui varie comme de coutume d'une carte à l'autre, mais sans corrélation évidente avec le contenu du code-barres. Le « code service » (0110) diffère pour sa part de celui des anciennes T2G (0000), tandis que le « pouvoir financier » (1100) correspond curieusement toujours à 120 unités (10 x 0Ch).
Mais le plus surprenant est encore le contenu des compteurs d'unités qui, si on le décodait, correspondrait à une consommation bien supérieure à ce crédit fictif de 120 unités ! Si nous le lisons en BCD, nous trouvons 08364834, ce qui fait penser aux huit premiers chiffres d'un numéro de téléphone dit « spécial ». Et si nous le comparions, pour voir, à celui qu'appelle secrètement le publiphone ? Rien de bien difficile sur le plan technique : un simple magnétophone ou PC portable au microphone duquel on aura substitué un capteur à induction dit « ventouse », et un quelconque logiciel de décodage DTMF acceptant les fichiers .WAV.
Bingo ! Le résultat de l'opération donne 08 36 48 34 00, et laisse donc à penser que les deux derniers chiffres (des zéros) pourraient bien résider dans la ligne du dessus, juste avant le 10101010 (AAh) évoquant un délimiteur, dont une autre occurence se trouve quelques lignes plus bas. Entre les deux, et séparés par des « zones système » identiques à celles d'une T2G ordinaire, on localisera sans grande difficulté le code à gratter, lui aussi exprimé en BCD sans aucune mesure de camouflage : 26223218869689 ! De là à imaginer un gentil petit tour de magie, il n'y a qu'un pas...

Un logiciel de divination !

#include CARDUTIL.DEF
#include COMMERR.DEF
ComPort=101
Declare Command &H22 &H44 UP(S$,Disable Le)
Call WaitForCard:CLS
ResetCard:Call CheckSW1SW2
Print"Lecture code T2G rechargeable (c)2010 Patrick GUEULLE":Print
For F=1 To 79
Call UP(S$)
Next F
For F=1 To 4
C=0
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+8
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+4
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+2
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+1
Print C;
Next F
For F=1 To 224
Call UP(S$)
Next F
For F=1 To 12
C=0
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+8
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+4
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+2
Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then C=C+1
IF C<=9 Then Print C;
Next F
Print:Print:Call WaitForNoCard

Compilé en un exécutable TELRECH.EXE, ce code source TELRECH.BAS est capable de deviner, avant son grattage, le code à 14 chiffres de la carte ! De quoi jouer au sorcier en famille, bien sûr, mais aussi dans la perspective de donner des sueurs froides à l'émetteur des cartes : imaginons en effet qu'après lecture (patiente !) du code, la carte non grattée et disposant de tout son crédit soit mise sous séquestre chez un tiers de confiance. Cela n'empêcherait nullement de la vider à distance, avec la plus extrême facilité... Cela, en passant par le numéro gratuit qui est indiqué au dos des cartes (08 09 38 20 00), complètement différent de celui qu'appelle automatiquement le publiphone. Cela mérite bien quelques investigations supplémentaires !
Faisons donc reprendre du service à notre magnétophone et à notre logiciel de décodage, et nous constaterons que le publiphone transmet la séquence 2622321886968900000# au lieu des 14 chiffres que l'on composerait manuellement à une cadence bien moins rapide. Cela n'est pas sans rappeler le « bricolage » qui avait été mis en place pour prolonger un peu la vie des Cartes France Télécom à puce, dont le numéro à neuf chiffres et (ce qui est plus grave) le code confidentiel étaient transmis en clair, suivis de 000001#, vers le numéro « secret » 08 36 48 35 50. Cette différence technique justifie à elle seule l'utilisation de numéros distincts, mais au fait, ce 08 36 est-il lui aussi gratuit ? Rien n'est moins sûr, cette tranche de numéros pouvant être tarifée jusqu'à 56 centimes par minute ! Il n'empêche que le publiphone l'appelle sans disposer d'aucun crédit à débiter, mais si on le compose en présence d'une Télécarte contenant encore une unité, celle-ci est consommée dès l'aboutissement de l'appel. Pourquoi ne pas avoir utilisé un numéro gratuit ? Peut-être pour dissuader les « petits malins » que nous sommes de jouer avec ! En effet, nous ne sommes encore qu'au tout début de nos surprises...

Transférer du crédit ?
Sur le plan tarifaire, l'inconvénient de ces nouvelles cartes est l'instauration d'un « prix d'établissement » de 20 centimes par appel, sans crédit-temps (et donc nettement plus cher qu'une unité dans l'ancien système...). Malgré un prix à la minute un peu inférieur (12,6 centimes vers les fixes nationaux d'après le service clients début 2011, alors que l'avis favorable de l'ARCEP en date du 2 février 2010 se basait plutôt sur 10 centimes...), ce principe n'est pas avantageux pour les appels courts mais reflète mieux la réalité économique au niveau de l'opérateur.
Cela signifie en tout cas que tout crédit résiduel inférieur à 20 centimes est normalement perdu si on ne recharge pas la carte. Or, ce principe du rechargement paraît ne séduire que très modérément la clientèle, dans la mesure où l'achat d'un crédit de 7,50 euros coûte exactement le même prix qu'une carte neuve pré-chargée du même montant (des bonus plus ou moins généreux n'étant offerts que pour des rechargements de 10 à 40 euros). Partant de la remarque que les tickets de rechargement comportent 14 chiffres tout comme les zones à gratter des cartes elles-mêmes, nous avons espièglement tenté une petite expérience : faire un rechargement au moyen des chiffres « à gratter » d'une carte inutilisable, puisque ne disposant plus que d'un crédit de 15 centimes. Et aussi surprenant que cela puisse paraître, cela a fonctionné : de 33 centimes, le crédit de la carte bénéficiant de la manoeuvre est passé à 48 centimes ! Peut-on pour autant généraliser et « dévaliser » ainsi les cartes dont on aurait lu le code sans le gratter ? Difficile à affirmer puisqu'il s'agit vraisemblablement d'une fonction non documentée, dont le service client ne semble même pas soupçonner l'existence.
Nous croyons en tout cas pouvoir en déduire que le générateur de codes (sécurisé ?) est probablement commun aux cartes et aux tickets de rechargement, voire même peut-être à d'autres applications du même opérateur. Il est ainsi intéressant d'étendre l'expérience aux codes figurant sur les Tickets Téléphone, ou d'entrer le code d'une Télécarte à la place de celui d'un ticket à gratter. C'est là que nous obtiendrons de curieux messages d'erreur, nous informant par exemple que les codes des cartes destinées aux cabines publiques ne sont pas utilisables depuis une ligne fixe résidentielle. Nous sommes cependant loin d'avoir essayé toutes les combinaisons possibles, donc de nouvelles surprises ne sont pas à exclure !
Un autre « effet secondaire » du déploiement de cette nouvelle technologie est la possibilité d'échapper aux surtaxes appliquées subrepticement par certains publiphones installés ailleurs que sur la voie publique. Essayons par exemple, dans une gare ou un centre commercial, une T2G d'ancienne génération contenant encore une seule unité : un message « CREDIT INSUFFISANT » va fort probablement s'afficher. Dans une cabine installée à l'extérieur, le crédit serait visualisé et pourrait être utilisé pour téléphoner. Pas bien longtemps il est vrai, car appels locaux et nationaux sont désormais au même tarif théorique d'environ 50 centimes pour 2 mn 30 (consultable en appelant gratuitement le *801). Dans le cas des Télécartes rechargeables, nous avons vu que le crédit n'est plus géré en local mais par un serveur central qui, dans l'état actuel des choses, ne semble pas être en mesure de percevoir et reverser les surtaxes. Seule la Télécarte rechargeable devant subsister sur le marché à compter du 1er janvier 2012, la plaisanterie risque de ne pas être du goût des propriétaires des emplacements mis à disposition... moyennant sans aucun doute une rétrocession de la surtaxe ! Nous verrons bien si d'ici là la technique se perfectionnera, ou si les publiphones et autres Points Phone quitteront ces lieux à la rentabilité compromise.

La Télécarte s'ouvre à la concurrence !
Même si la marque « Télécarte » est déposée, cela n'empêche pas des opérateurs alternatifs de commercialiser eux aussi des cartes à puce prépayées utilisables dans les publiphones de l'opérateur historique. C'est là une avancée concurrentielle intéressante, et une opportunité de rentabilisation supplémentaire du parc de cabines publiques.



Une carte à puce pour cabines de l'opérateur alternatif Intercall

Intercall propose ainsi des cartes de 7,50 et 15 euros, appliquant une tarification un peu différente : coût de mise en relation de 30 centimes, puis 12 centimes la minute vers les fixes de métropole d'après son service clients fin 2010. Plus proche des tarifs de la téléphonie mobile, donc, que des 2,8 centimes en heures pleines ou 1,4 centime en heures creuses que coûtent désormais les communications nationales depuis une ligne fixe résidentielle « analogique ». Et cela, sans code à gratter ni possibilité de rechargement. Examinons donc un peu ce que contient la puce d'une de ces cartes qu'il faut ainsi qualifier de « jetables » !

1000 0001 0100 0000 0000 0000 0000 0001
0111 1000 1001 0101 1001 0110 0000 1100
0000 0000 1010 1010 0111 0101 0011 0011
0000 1000 0000 1001 0000 0001 0000 0000
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0010 0101 1111 0101 0000 0000 0000 0000
1111 0101 1111 0101 1111 1111 1111 1111
0101 0010 0010 0011 0010 0010 1001 0111
0101
1010 1010 1010 0000 0000 0000 0000
1111 0101 1111 0101 1111 1111 1111 1111
1111 0101 1111 0101 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111

Même composant interne, même code service, même pouvoir financier fictif, décidément la ressemblance est frappante. Au même endroit que précédemment, nous retrouvons d'ailleurs le numéro de téléphone « secret » que le publiphone appelle automatiquement (08 09 01 00 00) et qui est aisément vérifiable à l'aide de notre méthode d'interception de tonalités DTMF (écouter l'enregistrement INTERCALL.WAV !). Bizarrement, ce « numéro vert » (car les 0809 sont en principe des numéros gratuits) entraîne lui aussi un débit d'unités si on l'appelle en se servant d'une Télécarte d'ancienne génération ! On obtient alors un message vocal « Tapez votre code secret », alors qu'il n'y a pas de code à gratter sur ces cartes ! Qu'à cela ne tienne, notre logiciel TelRech permet d'en « deviner » un, qui est là encore inscrit en clair dans la puce (ici 7533522322975). Plus court, donc (13 chiffres au lieu de 14), et toujours transmis après adjonction de cinq zéros : 753352232297500000#. Pas de doute, c'est certainement la même application qui, dans le publiphone, gère les cartes d'opérateurs différents, se connectant simplement à des serveurs distincts. Cela suppose donc que plusieurs numéros puissent être ainsi appelés de façon automatique et gratuite. Mais combien au juste ?

Des cartes faciles à « bricoler »
Il est naturellement tentant de chercher à modifier le numéro programmé dans la mémoire de la carte, non pas pour tenter de frauder mais pour examiner comment cette situation parfaitement anormale sera gérée par tel ou tel modèle de publiphone. Dans une application qui mériterait d'être qualifiée de « sécurisée », ce numéro serait inscrit dans une zone à lecture seule, protégée contre toute modification non souhaitable (par exemple à la place du numéro de série). Dans le cas présent, il réside à-cheval sur les « compteurs d'unités », qui sont faits pour être incrémentés (et dans certaines limites effacés), et sur le « certificat », entièrement effaçable moyennant l'écriture « avec retenue » d'un 1 dans l'un quelconque des huit premiers bits encore à 0 dans la quatrième ligne (transformation irréversible de 08 en 09, par exemple). N'importe quel 0 peut ainsi être transformé en 1 au sein du numéro d'appel, en veillant toutefois à ne pas créer de digits supérieurs à 9, et par conséquent illégaux dans un numéro de téléphone vraisemblable.

#include CARDUTIL.DEF
#include COMMERR.DEF
ComPort=101
Declare Command &H22 &H44 UP(S$,Disable Le)
Declare Command &H22 &H22 WR(S$,Disable le)
Call WaitForCard
ResetCard:Call CheckSW1SW2
CLS
Print" barre d'espace : avance lecture"
Print" touche + : ecriture de bit"
Print" touche - : ecriture de bit avec retenue"
Print" touche ESCape : quitter":Print
FOR F=1 TO 16
FOR G=1 TO 8
FOR H=1 TO 4
S$="":Call UP(S$)
IF SW2=&HAA OR SW2=&H5A Then L$="1"
IF SW2=&H55 OR SW2=&HA5 Then L$="0"
IF F+G+H>3 Then Goto bit
IF SW2=&HA5 OR SW2=&HAA Then Print"1";:H=H+1
IF SW2=&H5A OR SW2=&H55 Then Print"0";:H=H+1
bit:Print L$;
touche:Z$=Inkey$:If Z$="" Then Goto touche
If Z$=Chr$(32) Then Goto suite
If Z$=Chr$(43) Then Goto pgm
If Z$=Chr$(45) Then Goto carry
If Z$=Chr$(27) Then Exit
Goto touche
suite:Next H
Print" ";
NEXT G
Print
NEXT F
ResetCard:Call CheckSW1SW2:Exit
carry:S$="":Call WR(S$)
pgm:S$="":Call WR(S$)
fin:IF Inkey$<>"" Then Goto fin
Goto touche
REM (c)2001 Patrick GUEULLE

Compilé en un fichier exécutable (MANIP.EXE), le code source (MANIP.BAS) ci-dessus permet de « bricoler » à volonté dans l'espace mémoire des cobayes récupérés plus ou moins facilement dans les cabines publiques, toujours à l'aide de notre adaptateur pour lecteur PC/SC. A noter qu'il opère de façon séquentielle, dans l'ordre naturel des bits, et que l'on ne peut donc revenir sur un bit déjà lu ou écrit qu'en repartant du début. C'est la rançon de la technologie synchrone de ces cartes !
La même approche permettrait également de modifier des bits dans le code individuel de la carte, réparti cette fois entre les deux compteurs de poids faibles et une « zone utilisateur » à écriture libre, inexploitée sur les T2G classiques. Nous aurions cependant, là encore, la quasi-certitude de « tuer » la carte, puisque la probabilité serait infime de tomber par hasard sur un code valide. Par contre, transformer intelligemment des 0 en 1 pour reproduire un code que l'on sait correct pourrait théoriquement servir à créer un « clone » parfaitement fonctionnel. Que se passerait-il alors si les deux cartes étaient utilisées en même temps ? Certainement la même chose que lorsque l'on tente de se servir à la fois de la carte à puce et de son code à gratter dans deux publiphones différents : le message d'erreur « Un appel est déjà en cours sur ce code » !
La manoeuvre dite d'écriture « avec retenue », permettant de remettre globalement à zéro les huit bits d'un compteur à l'occasion de l'écriture d'un 1 dans celui de poids immédiatement supérieur, multiplie d'une façon intéressante ces possibilités de « maquillage ». C'est le principe bien connu du « boulier », conçu à l'origine pour comptabiliser des quantités d'unités sans commune mesure avec les valeurs faciales de 120 ou moins. Sans cette frénésie centralisatrice qui gagne petit à petit presque tous les domaines, il y aurait eu là de quoi gérer élégamment, dans la T2G telle que nous la connaissions, cette tarification à la seconde attendue depuis des lustres... Des problèmes de sécurité inavouables auraient-ils rendu une telle option périlleuse ?

Des produits périssables ?
Les nouvelles Télécartes rechargeables sont en principe émises avec une durée de validité de deux ans, qui commence toutefois à courir avant même qu'elles ne soient vendues. Lors de l'achat, il convient donc de vérifier attentivement la date de péremption indiquée au verso, car elle est définitive même si on recharge ultérieurement la carte avec un ticket ayant lui-même une validité d'un an... Contrairement au cas des formules de téléphonie mobile prépayée, donc, recharger une Télécarte ne prolonge aucunement la validité de son crédit. A la limite, le montant rechargé pourrait fort bien se trouver perdu du jour au lendemain si on le créditait bêtement, sans s'en servir aussitôt, sur une Télécarte arrivant en fin de validité ! Fort heureusement, notre petite manoeuvre de transfert de crédit permet (du moins pour le moment) de repousser indéfiniment cette limite en déplaçant le crédit d'une carte arrivant en fin de vie vers une autre, même vide, mais portant une date d'expiration plus lointaine.
La situation est également délicate en ce qui concerne les cartes plus anciennes, sauf pour celles arborant une date de péremption explicitement antérieure au 31 décembre 2011. En effet, les premières T2G ne portaient pas de date limite de validité, et les T1G encore moins. A l'heure où nous écrivons ces lignes, ces dernières sont toujours utilisables dans certains publiphones, ce qui dédouane l'opérateur de toute accusation de péremption abusive. Il ne serait pourtant pas invraisemblable qu'à partir du 1er janvier 2012, plus aucune Télécarte non rechargeable ne soit acceptée par les publiphones, car des précédents sont intervenus entretemps, en toute impunité.
L'Etat nous avait déjà habitués de longue date à renier sa parole, mais la très respectable institution qu'est l'Union Postale Universelle (UPU) en fait tout autant : ses « coupons-réponse internationaux » modèle C22 (jaunes), pourtant émis dans le monde entier sans aucune date limite de validité, n'ont désormais plus cours. Ni pour l'échange contre des timbres, ni pour un quelconque remboursement. Tout au plus peut-on espérer les voir acquérir un jour une valeur philatélique. Rendez-vous dans quelques mois pour savoir à quelle sauce le consommateur sera à nouveau mangé !

Pas à pas pour transférer du crédit d'une Télécarte à une autre

Appeler le 0809 38 2000 (gratuit depuis une ligne fixe Orange ou une cabine, mais payant autrement). Sans même écouter le message audio diffusé, composer le code à gratter figurant au dos de la Télécarte que l'on souhaite recharger, soit 14 chiffres, suivi de #. Taper ensuite 2# pour recharger avec les 14 chiffres d'une autre Télécarte. A noter : les 14 chiffres d'un code Mobicarte ne sont pas compatibles.

Patrick Gueulle

Tous les ouvrages de l'auteur





Vous aimez cette page ? Partagez-en le lien !

Facebook
Twitter
Google+
LinkedIn
Reddit


[homepage] [RSS] [archives]
[contact & legal & cookies] [since 1997]