1995 PC Et Cartes A Puce Ed1
1995 PC Et Cartes A Puce Ed1
1995 PC Et Cartes A Puce Ed1
O
U
i et
Cartes à Puce
CE LIVRE
CONTIENT
UNE DISQUETTE
PC
ET CARTES A PUCE
Patrick Gueulle
Ingénieur EFREI
PC
ET CARTES A PUCE
ETSF
EDITIONS TECHNIQUES ET SCIENTIFIQUES FRANÇAISES
Avant-Propos 7
CHAPITRE PAGE
3 Un mini-système de développement 67
7
Patrick Cueillie
CHAPITRE PAGE
I LES MICROPROCESSEURS
DES CARTES A PUCE
Microprocesseurs, microcalculateurs
ou microcontrôleurs 10
Exemples de ressources
matérielles 10
Exemples de ressources
logicielles 14
Exemples de ressources
sécuritaires 17
Quelques notions de
cryptographie 19
La notion de masque 23
Les masques BULL CP8 24
Les masques COS 30
A la découverte de
2 la carte bancaire 37
Un mini-système de
3 développement 67
MICROPROCESSEURS, MICROCALCULATEURS,
OU MICROCONTROLEURS ?
1
TEXAS INSTRUMENTS, concurrent direct de SGS-THOM-
SON sur le marché des puces pour télécartes, propose pour
sa part une gamme de microprocesseurs encartables dérivés
de sa famille TMS370.
EEPROM ou EPROM
( jusqu’à 8 k octets ) ROM utilisateur
t (jusqu’à 16 k octets)
Pompe de charge
Vpp
t RAM
Logique de
Port A
DDR
Contrôleur
contrôle d’interruptions
VDD |
PBO
VSS | M68HC05 PB1
Base de temps PB2
et CPU PB3
chien de garde
RESET
PC ET CARTES A PUCE
1
VDD Vss CLK
I
Enfin, la figure 1.4 révèle l'organisation interne d'une puce Figure 1.3.
fort classique sinon très nouvelle, de TEXAS INSTRU Architecture du
MENTS : le TMS373C007. 83C852 de PHILIPS.
HORLOGE
FUSIBLE
aSYSTEME
:2
ROM RAM
CPU/CROM
4 k octets 256 Octets
EPROM
PORTD TMS373c007
8 k octets
—O—
Figure 1.4. D6/ D7/ VCC VPP vss
Architecture du CLK SCAN
TMS373C007. OUT OUT
1
Figure 1.5.
Le jeu d'instructions
des ST16XYZ.
Addressing Mode
Functlon Mnemonlc Index no Index 8 Index 16
Immédiate Direct Extended bit offset
offset bit offset
Load A with memory LDA 2 A6 2 2 B6 3 3 C64 1 F6 3 2 E6 4 3 D66
Load X with memory LDX 2AE2 2 BE3 s CE4 < FE3 2EE4 3DE5
Load memory with A STA - 2 B7 3 3 C7 4 1 F7 3 2 E7 4 3 D7 5
Load memory with X STX - 2 BF3 3 CF 4 1 FF3 2 EF4 3 DF5
Add memory to A ADD 2 AB 2 2 BB 3 3 CB 4 1 FB 3 2 EB4 3DB8
Add memory and carry to A ADC 2 A9 2 2 B9 3 3 C94 1 F9 3 2 E9 4 3 D9 6
Subtract memory to A SUB 2 AO 2 2BO3 3 CO 4 1 FO3 2 EO 4 3 DO5
Subtract memory with carry SBC ZA22 2B23 sC24 1 F2 3 2 E2 4 3 D2 5
And memory to A AND 2 A4 2 2 B4 3 3 C4 4 1 F4 3 2 E4 4 3D45
Or memory with A ORA 2 AA2 2 BA3 3 CA4 1 FA3 2 EA 4 3 DA 6
Exclusive OR EOR 2A82 2B83 3C84 1 F8 3 2 E8 4 3 D8 6
Arithmetic Compare A CMP 2 A1 2 2 B1 3 3CI 4 1 F1 3 2 E1 4 3 D1 5
Arithmetic Compare X CPX 2 A3 2 2B33 sC34 1 F3 3 2 E3 4 3 D3 6
Bit compare A and memory BIT 2 A5 2 2 B5 3 3 C5 4 , F5 3 zE54 3 D5 8
Absolute Jump JMP - 2BC2 3CC3 1 FC2 2EC3 3DC4
Jump to subroutine JSR - 2 BD 5 sCD8 1 FD 5 2 ED 3 3DD7
Read/Modify/Write Group
Addressing Mode
Functlon Mnemonlc
Inhérent A Inhérent X Direct Index no Index 8
offset bit offset
Incrément INC 1 4C 2 1 5C 2 2 3C 8 1 7C 8 z6C8
Décrément DEC 1 4A 2 1 5A 2 2 3A 8 1 7A 8 2 6A8
Clear CLR 1 4F 2 1 5F2 z3F8 i 7F8 26F8
One’s Complément COM 1 43 2 1 53 2 2 33 8 1 73 6 2 63 8
Negate (2’s complément) NEG 1 40 2 , 50 2 2 30 8 1 70 5 2 60 8
Rotate Left thru carry ROL 1 49 2 1 59 2 2 39 8 1 79 8 2 69 8
Rotate Right thru carry ROR 1 46 2 1 56 2 2 36 8 1 76 8 2 66 8
Logical shrft left into Carry LSL 1 48 2 1 58 2 2 38 8 1 78 8 2 68 8
Logical shift righ into Carry LSR 1 44 2 1 54 2 2 34 8 < 74 8 2 64 8
Arithmetic shrft right into Carry ASR 1 47 2 1 57 2 2 37 8 1 77 5 2 67 8
Test for Négative or Zéro TST 1 4D 2 1 5D 2 2 3D 3 1 7D 3 26D4
PC ET CARTES A PUCE
Figure 1.5.
Le jeu d'instructions
des ST16XYZ.
Branch Group
Addressing Mode
Function Mnemonic
RELATIVE
Branch Always BRA 2 20 3
Branch Never BRN 2 21 3
Branch if Higher BHI 2 22 3
Branch if Unsigned Lower or Same BLS 2 23 3
Branch if Carry Clear BCC 2 24 3
Branch if Unsigned Higher or Same BHS 2 24 3
Branch if Carry Set BCS 2 25 3
Branch if Unsigned Lower than BLO 2 25 3
Branch if Not Equal BNE 2 26 3
Branch if Equal BEQ 2 27 3
Branch if Half Carry Clear BHCC 2 28 3
Branch if Not Half Carry Set BHCS 2 29 3
Branch if Plus BPL 2 2A 3
Branch if Minus BMI 2 2B 3
Branch if Not Interrupt Mask BMC 2 2C 3
Branch if Interrupt Mask BMS 2 2D 3
Branch if Interrupt Line Low BIL 2 2E 3
Branch if Interrupt Une High BIH 2 2F 3
Branch to Subroutine BSR z AD 5
Miscellaneous Group
Addressing Mode
Function Mnemonic
INHERENT
Multiply (X : A=X* A) MUL 1 42 10
Transfer A to X TAX 1 97 2
Transfer Xto A TXA 1 9F 2
Transfer SP to A TSA 1 9E 2
Clear Carry Flag CLC , 98 1
Set Carry Flag SEC 1 99 1
Clear Interrupt Mask bit CLI , 9A 2
Set Interrupt Mask bit SEI i 9B 2
Reset Stack Pointer RSP 1 9C 2
No Operation NOP i 9D 2
Return from Interrupt RTI 1 80 2
Retum from Subroutine RTS 1 81 3
Software Interrupt SWI 1 83 9
Hait CPU/Enable INT WAIT i 8F2
Hait CPU/STOP Clocks/Enable INT STOP 1 8E 2
16
LES MICROPROCESSEURS DES CARTES A PUCE
CHAPITRE
1
pas) la programmation directe de l'unité centrale. Pour des
raisons de confort d'exploitation (mais aussi de sécurité !)
le processeur est entièrement placé sous le contrôle d'un
système d'exploitation résidant en ROM.
----------------------------------------------- 17------------------------
PC ET CARTES A PUCE
pas question de les lire comme sur une simple piste magné
tique pour les comparer, à l'extérieur de la carte, au code
tapé sur un clavier !
Figure 1.6.
Principe d'un décodeur
TV à carte.
LES MICROPROCESSEURS DES CARTES A PUCE
CHAPITRE
1
Le contenu de la carte peut fort bien être modifié à distance
par le diffuseur de programmes, au moyen de commandes
incorporées dans le signal vidéo, tandis qu'en cas de pro
fonds changements dans le système, il est infiniment plus
pratique d'envoyer de nouvelles cartes par courrier que de
procéder à des échanges de décodeurs.
g 10 REM------ XOR.BAS---------
g 20 A$="(c)1995 Patrick GUEULLE"
g 30 FOR G=1 TO LEN(A$)
g 40 D$=MID$(A$,G,1):D=ASC(D$)
g 50 R=D XOR 47
M 55 REM clef unique = 47
g 70 PRINT D$,R,
g 80 K=R XOR 47
100 PRINT CHR$(K)
g 110 NEXT G
g 120 END
20
CHAPITRE
(p - V)(q - 1) , 4 ,
—----------------- = 1 modulo pq
------------------------------------------- 21-------------------------------------------------
PC ET CARTES A PUCE
Moyennant quoi, on a ;
=x (modulo pq)
------------------ 22-------------------------------------------------
CHAPITRE
LA NOTION DE MASQUE
----------------------------------------------- 23-------------------------------------------------
PC ET CARTES A PUCE
Figure 1.7. Fondamentalement, une carte CP8 est une mémoire non
Panorama volatile, associée sur la même puce à un microprocesseur
de la «galaxie CP8». qui en contrôle totalement l'accès.
Quelques cartes
BULL CP8
(à 6 et 8 contacts).
La puce
MOTOROLA
d'une carte
BULL CP8 (environ
4x5 mm).
------------------------------------------- 25-------------------------------------------------
PC ET CARTES A PUCE
1 2 1 2 1 2
0200h
ZONE SECRETE
ADM
ZONE D’ACCES
ADC
ZONE CONFIDENTIELLE
OU
ZONE DE TRAVAIL N°2
ADT
ZONE DE TRAVAIL N°1
Zone confidentielle
Interdit Protégée Interdite
( option 1 zone de travail )
Interdit (sauf
Zone de fabrication Interdit Libre
verrous)
Comme il faut bien pouvoir écrire dans les zones les plus Figure 1.10.
secrètes lors de la fabrication des cartes puis lors de leur Les droits d'accès
personnalisation chez l'émetteur, quatre verrous définis à la aux zones mémoire
figure 1.11 peuvent être actionnés de façon irréversible à la des cartes BULL
fin de chaque phase de vie de la carte : le premier (LF) CP8.
avant que la puce, numérotée individuellement, ne quitte
l'usine, puis le second (LC) lorsque l'émetteur a terminé son
travail de personnalisation.
0200h
0208h
AD1 -►
ADS-10h
ADS
AD2
ADM-10h
ADM
ADC
ADT
ADL
ADMAX-8h
y
PC ET CARTES A PUCE
• un octet dit classe, égal à BCh dans le cas des cartes BULL
CP8 ;
\
Ensemble du
programme
d’application
régissant le
comportement
de la carte
/
PC ET CARTES A PUCE
7
/ Z2 FCHER
7
/ Z3
00000000 ! 00000000 ! 00000000 , 00000000 DOULE MOT DE
+ SEPARATION
-------- !, „
00000000 00000000 00000000 ! 00000000
_______ !, ________
505 7E0h Descripteur du FICHIER ^l° 2
506 7E4h I____________! ADRESSE j(Z3)
507 7E8h ___ Descripteur du ! FICHIER N° 1____
I____________, ADRESSE~^g2) Table
508 7ECh d’ALLOCATION
509 7F0h Descripteur du REPERTOIRE CARTE
'_ ADRESSÉ"*(Z1)
510 7F4h
511 7F8h Zone de ! 2 mots
512 7FCh Réservée , aux tests
32
LES MICROPROCESSEURS DES CARTES A PUCE
CHAPITRE
1
|Mot| Adr | f| STRUCTURE DE MOTS DE 4 OCTETS (32 bits)
2----------------- 1------------------- 1------------------- 1-------------------
1 OOOh Référence de la CARTE
2 004h Numéro de série Unique sur 64 bits
3 008h Référence EMETTEUR CARTE
| EPROM RFU [ RFU [ LOCKS j RFU
4 OOCh
5 01 Oh SYSTEME , Adresse FILTRE
6 014h 3 MOTS
7 018h réservés
8 01 Ch au système
9 020h Bits d’OPTIONS ! Octet TC
10 024h Masque d'AUTORISATION Masque fie R.A.Z.
11 028h Descripteur du code N” 0
CODE SECRET N°0 (Code EMETTEUR) " "fd Bloc de sécurité
12 02Ch
Z
F 1 . 1. 1 > ■ CARTE"
ou
/ f i ■ |■ | < répertoire
24 05Ch ÔODE SECRET N° 6
principal
25 060h Descripteur du code N° 7
26 064h CODE SECRET N° 7 cr^rfj
27 068h 1 1 1
| EEPROM
/
, Z1 FICHIER N° 1 Ÿ
ZONES
II II II UTILISATEUR
✓
/
' Z2 FICHIER N° 1 fz
II II II
/ ' 23 f
/
1 1
00000000 i 00000000 i 00000000 i 00000000
1
DOULE MOT DE
00000000 | 00000000 ! 00000000 ! 00000000 SEPARATION
Figure 1.16.
Cartographie
de la mémoire
des cartes
Certaines cartes COS intègrent l'algorithme de chiffrement COS EEPROM
DES, permettant de crypter les échanges de données entre 24 Kbits.
la carte et l'extérieur : pas moyen par exemple de lire au
vol un code confidentiel présenté ainsi à la carte !
bits 0 et 1 réservés
bits 4 à 6 réservés
-1 Les microprocesseurs
des cartes à puce 9
A LA DECOUVERTE
DE LA CARTE
2 BANCAIRE
Une variante du masque
BULL CP8 M4 38
Un lecteur de cartes à
microprocesseur 39
Le bon usage du code
confidentiel 51
Contrôlez vos relevés
de compte 54
Un logiciel spécial carte
bancaire 56
Comment lire les pistes
magnétiques 60
Un mini-système de
3 développement 67
UN LECTEUR DE CARTES À
MICROPROCESSEUR
DB9
RS232
Figure 2.2.
Plan de câblage du
9/12V lecteur universel.
41
PC ET CARTES A PUCE
Figure 2.3.
Le circuit imprimé
du connecteur de cartes
ISO/AFNOR.
A LA DECOUVERTE DE LA CARTE BANCAIRE
CHAPITRE
Notre lecteur
I
chapitres. Il fait partie d'une boîte à outils pour cartes à puce universel et
décrite dans notre ouvrage déjà cité, et dont il est éminem ses connecteurs
ment souhaitable de se doter pour travailler sérieusement. adaptables.
Carte
Connecteur
TT -CANNON
ISO AFNOR
Figure 2.4.
O 0 O 0 O O O O O O
O O O O O O O O O O Plan de câblage
HE10/10C HE10/10C du connecteur
de cartes.
PC ET CARTES A PUCE
Condensateurs :
Q et C2 : 0,1 pF,
C3 : 47 pF tantale goutte 10 V,
C4 : 68 pF 25 V,
C5 à C9 : 1 pF 16 V,
C10 : 0,1 pF,
Cn : 220 pF 6 V.
Semi-conducteurs :
Tj : IRFZ 14,
CIj : CCU 910 COREL ELECTRONIQUE,
CI2 : régulateur 7805,
CI3 : MAX 232,
Dj : BYV 10-40,
D2 : LED rouge.
---------------------- 44------------------------------------------------
CHAPITRE
120 CLS
130 PRINT "0 -> QUITTER"
140 PRINT "1 -> MISE SOUS TENSION et RESET"
150 PRINT "2 -> MISE HORS TENSION"
160 PRINT "3 -> MODE GPM256"
170 PRINT "4 -> LECTURE"
180 PRINT "5 -> ECRITURE"
190 PRINT "6 -> PRESENTATION DE CODE PORTEUR1
200 PRINT'1'7 -> EFFACEMENT DE MOT (2 octets)"
210 PRINT"8 -> PRESENTATION CODE EMETTEUR ET EFFACEMENT"
220 PRINT"9 -> AUTRES COMMANDES ISO"
230 PRINT:PRINT:PRINT"VOTRE CHOIX puis ENTER"
240 INPUT Z$::CLS
250 IF Z$= "0' ' THEN SYSTEM
260 IF Z$= "1'' THEN 360
270 IF Z$= "2'' THEN 420
280 IF Z$= "3'' THEN 450
290 IF Z$= "4'' THEN 480
300 IF Z$= "5'' THEN 620
310 IF Z$= "6'' THEN 790
320 IF Z$= "7'' THEN 1010
330 IF Z$= "8'' THEN 1100
340 IF Z$= "9'' THEN 1260
350 GOTO 240
360 PRINT#1,CHR$(2)+CHR$(2)+CHR$(0)+CHR$(2)+CHR$(3);
370 GOSUB 1750
380 IF E$="03" THEN PRINT "CARTE ASYNCHRONE DETECTEE"
390 IF E$="04" THEN PRINT "CARTE SYNCHRONE DETECTEE"
400 PRINT
410 GOTO 130
420 PRINT#1,CHR$(2)+CHR$(3)+CHR$(0)+CHR$(3)+CHR$(3) ;
430 GOSUB 1750
440 GOTO 130
450 PRINT#1,CHR$(2)+CHR$(12)+CHR$(1)+CHR$(1)+ CHR$(12)+CHR$(3);
460 GOSUB 1750
470 GOTO 130
480 PRINT "NOMBRE D'OCTETS A LIRE ?"
490 INPUT Q
500 IF Q>255 THEN 490
510 Q$=HEX$(Q)
520 IF LEN(Q$)>1 THEN 540
530 Q$="0"+Q$:GOTO 520
540 PRINT"A PARTIR DE L'ADRESSE (hexa) ?"
550 INPUT A$:PRINT
560 IF LEN(A$)>3 THEN 580
570 AS="0"+A$:GOTO 560
580 X$="020005"+S$+"BO"+A$+Q$
PC ET CARTES A PUCE
46
A LA DECOUVERTE DE LA CARTE BANCAIRE
CHAPITRE
2
1060 X$="020105"+S$+"D8"+A$+"00"
1070 GOSUB 1980
1080 GOSUB 1750
1090 GOTO 130
1100 PRINT"ADRESSE (hexa) DU CODE A PRESENTER ?"
1110 INPUT A$
1120 IF LEN(A$)>3 THEN 1140
1130 A$="0"+A$:GOTO 1120
1140 PRINT:PRINT"CODE A PRESENTER ?"
1150 INPUT H$
1160 L=LEN(H$)/2
1170 U$=HEX$(5+L)
1180 IF LEN(U$)<2 THEN U$="0"+U$
1190 IF (L-INT(L))<>0 THEN BEEP:GOTO 1150
1200 L$=HEX$(L)
1210 IF LEN(L$)<2 THEN L$="0"+L$
1220 X$="0201"+U$+S$+"10"+A$+L$+H$
1230 GOSUB 1980
1240 GOSUB 1750
1250 GOTO 130
1260 CLS:PRINT:PRINT:PRINT
1270 PRINT"0 -> ANNULATION"
1280 PRINT"1 -> COMMANDE ISO ENTRANTE (données -> carte)"
1290 PRINT"2 -> COMMANDE ISO SORTANTE (données <- carte)"
1300 PRINT:PRINT:PRINT"VOTRE CHOIX puis ENTER"
1310 INPUT Z$:CLS
1320 IF Z$="0" THEN CLS:GOTO 130
1330 IF Z$="l" THEN 1360
1340 IF Z$="2" THEN 1570
1350 GOTO 130
1360 PRINT"CODE ISO DE LA COMMANDE ?"
1370 INPUT 1$
1380 IF LEN(I$)<>2 THEN 1370
1390 PRINT"ADRESSE (hexa) ?"
1400 INPUT A$
1410 IF LEN(A$)>3 THEN 1430
1420 A$="0"+A$:GOTO 1410
1430 PRINT:PRINT"DONNEES (hexa) ?"
1440 INPUT H$
1450 L=LEN(H$)/2
1460 U$=HEX$(5+L)
1470 IF LEN(U$)<2 THEN U$="0"+U$
1480 IF (L-INT(L))<>0 THEN BEEP:GOTO 1440
1490 L$=HEX$(L)
1500 IF LEN(L$)<2 THEN L$="0"+L$
1510 X$="0201"+U$+S$+I$+A$+L$+H$
1520 GOSUB 1980
PC ET CARTES A PUCE
■ 2070
2080 J=0
FOR F—1 TO (LEN(X$)-1) STEP 2
0 QUITTER
1 MISE SOUS TENSION et RESET
2 MISE HORS TENSION
3 MODE GPM256
4 LECTURE
5 ECRITURE
6 PRESENTATION DE CODE PORTEUR
7 EFFACEMENT DE MOT (2 octets)
8 PRESENTATION CODE EMETTEUR ET EFFACEMENT
9 AUTRES COMMANDES ISO
49
PC ET CARTES A PUCE
I
On remarquera que chaque mot de 32 bits commence par
INS ORDRE
OE Effacement
40 Validation de lecture
50 Ecriture de verrou
70 Validation d’écriture
B0 Lecture d’octets
Figure 2.5.
CO Lecture de résultat
Le jeu d'instructions
des cartes bancaires
D0 Ecriture d’un mot
M4 BO'.
ADL (08E0) 0010 1110 Prestataire 03 L=48 clef CCE
08E8 0011 0000 0000 0000 0000
09F8 10011
Le prestataire 03, quant à lui, joue déjà un rôle sécuritaire : Figure 2.6.
il contient en effet une valeur d'authentification codée sur 320 Cartographie
bits, encore appelée identité certifiée. de la zone
de lecture des cartes
Il semblerait que ce soit le résultat d'un calcul cryptogra bancaires.
phique mettant en jeu le contenu du prestataire 02 et le jeu
secret dont on sait qu'il n'est en aucun cas lisible directe
ment.
10 REM----- PIN2CB.BAS
■ 20 KF.Y OFF:CLS:INPUT "PIN: ",P$:K$ = ""
30 FOR F-l TO LF,N(P$)
40 M$-"&h"+MlD$(PS,F, I)
50 M-VAL(MS)
60 D=0
70 IF M>7 THEN D-1:M~M-8
80 GOSUB 280
90 IF M>3 THF.N D- 1 :M M-4
100 GOSUB 280
110 LF M>1 THEN D=l:M-M-2
120 GOSUB 280
130 D-M:GOSUB. 280
140 NEXT F
150 K$-"C0"IK$4"11111111111111"
160 PRINT:PRINT"CODE HEXA A PRESENTER A LA CARTE:
1/0 FOR F-l TO LF,N(K$) STEP 4
180 DS-M1DS(ES,F,4)
-, 190 A=0
I
; 200 FOR G-l TO 4
| 210 B$=MID$ (D$, 5-G, 1)
240 A$=HEX$(A)
250 PRINT A$;
260 NEXT F:PRINT : PRINT
270 END
280 IF D = 0 THEN K$=K$+"0"
290 IF D=1 THEN K$=K$+"1"
300 D—0:RETURN
310 REM (c) 1994 Patrick GUEULLE
• lancement de COREL.BAS ;
— 4--------------
Entrer un bloc hexa,de octets ?. 33703732
Transaction effectuée le 14 du moi:
Commandes pour unmontant de: 141.30 F
U 12 33 58 38 18 30 00 92 01 Entrer un bloc hexa de 4 octets ? 33a877ec
Transaction effectuée le 21 du moi
pour unnontant de: 307.00 F
POUR CONTINUER: presser ENTER Entrer un bloc hexa de 4 octet
POUR ARRETER: presser S puis El
?
NOMBRE D'OCTETS fl LIRE ? <nax.
fl PARTIR DE L'ADRESSE ? <hexa>
TRAME ENVOYEE AU COUPLEUR: Icwi
02 00 05 BC B0 03 20
REPONSE DU COUPLEUR:
02 00 43 03 90 00 33 32 80 2fl 30 30 00 92 04
4F 41 33 98 Fl F6 30 33 C0 81 B0 33 D8 32 78
4D BC 30 00 92 08 32 33 5827 10 33 68 4E 98
l±U
Gestionnaire
déprogrammés
10 REM------ TRANCB.BAS---------
20 KEY OFF:CLS
30 PRINT"DECODAGE DE TRANSACTIONS CARTE BANCAIRE":PRINT:PRINT
40 PRINT"Entrer un bloc hexa de 4 octets
50 INPUT B$:M=0:D=0:C$=""
60 IF B$="" THEN END
^^^^^ÏecoÜvËS^dÉTÂ'cÂ^^^ica're*
CHAPITRE
2
I 70 FOR F=1 TO LEN(B$)
I 80 K$=MID$(B$,F,1)
I 90 IF K$=CHR$(32) THEN 110
I 100 C$=C$+K$
I 110 NEXT F
I 120 B$=C$
I 130 IF LEN(B$)<>8 THEN BEEP:GOTO 50
| 140 IF LEFT$(B$,1)<>"3" THEN BEER :GOTO 50
| 150 IF LEFT$(B$,4)="3000" THEN 280
I 160 D$="&h"+MID$(B$,3, 1)
| 170 D=2*VAL(D$)
| 180 FOR F=1 TO 5
I 190 H$="&h"+MID$(B$,9-F,1)
I 200 H=VAL(H$)
I 210 M=M+ (H*16A (F-l) )
I 220 NEXT F
I 230 IF M>=2A19 THEN D=D+1:M=M-2A19
i 240 PRINT"Transaction effectuée le';D;'du mois, pour un montant de:";
J 250 PRINT USING"####.##";M/100;
I 260 PRINT" F":PRINT
I 270 GOTO 40
î 280 D$=RIGHT$(B$,4)
I 290 M$=RIGHT$(D$,2)
| 300 Y$=LEFT$(D$,2)
------------------------------------------- 55-------------------------------------------------
PC ET CARTES A PUCE
I
—" Même si COREL.BAS permet de procéder à toutes les opé
rations imaginables sur les cartes bancaires, son utilisation
peut se révéler fastidieuse lorsque les groupes d'octets lus
nécessitent un décodage particulier.
2
8 240 PRINT#1,L$;
I 250 N$=""
g 260 FOR T—0 TO 2000:NEXT T
| 270 IF LOC(1)=0 THEN PRINT"COUPLEUR MUET":CLS:GOTO 110
■ 420 Y=ASC(Y$)
| 430 IF Y<48 OR Y>57 THEN 450
40 PRINT Y$;
■ 450 NEXT F
460 PRINT:PRINT
470 PRINT"VALIDITE DE: ";MID$(N$,51,2);"/";MID$(N$,49,2);
| 480 PRINT" Ô: ";MID$(N$,59,2);"/";MID$(N$,57,2)
■490 PRINT:PRINT"PORTEUR:
500 1$=""
I 510 FOR F=70 TO 118 STEP 8
520 I$=I$+MID$(N$,F,7)
■ 530 NEXT F
! 540 I$=I$+MID$(N$,126,3)
860 A$=HEX$(A)
§ 870 P$—P$+A$
.. 880 NEXT F
■ 890 PRINT P$
900 GOTO 940
910 IF D=0 THEN K$=K$+"0"
H 920 IF D=1 THEN K$=K$+"1"
I’ 930 D=0:RETURN
• 940 A$="0000"
950 H$=P$
960 L=LEN(H$)/2
I 970 U$=HEX$(5+L)
980 IF LEN(U$)<2 THEN U$="0"+U$
990 IF (L-INT(L))<>0 THEN BEEP:GOTO 950
| 1000 B$=HEX$ (L)
B 1010 IF LEN(B$)<2 THEN B$="0"+B$
1020 X$=''0201"+U$+"BC"+"20''+A$+B$+H$
1030 GOSUB 1680
■ 1040 GOSUB 1450
I 1050 IF M$="9000" THEN PRINT"PRESENTATION EFFECTUEE"
T 1060 IF M$="9010" THEN PRINT"PRECEDENT CODE FAÜX: 1er essai":BEEP
I 1070 IF M$="9020" THEN PRINT"PRECEDENT CODE FAUX: 2ème essai":BEEP
2 1080 IF M$="9040" THEN PRINT'PRECEDENT CODE FAUX: DERNIER essai":BEEP
J 1090 IF M$="9080" THEN PRINT"CARTE BLOQUEEBEEP
■I 1280
1290
Q$="0"+Q$:GOTO 1270
PRINT"A PARTIR DE L'ADRESSE ? (hexa)
I 1300 INPUT A$ :PRINT
I 1310 IF LEN(A$)>3 THEN 1330
I 1320 A$="0"+A$:GOTO 1310
I 1330 X$="020005BCB0"+A$+Q$
I! 1340
1350
GOSUB 1680
IF LOC(1)=0 THEN 1350
■ 1510
I 1520
D$=HEX$(ASC(MID$(C$,F,1)))
IF LEN(D$)<2 THEN D$="0"+D$
I 1530
â 1540
R$=R$+D$
PRINT D$+CHR$(32); :J=J+1
® 1550 IF J>23 THEN J=0 :PRINT
I 1560 NEXT F
I 1570 PRINT:PRINT
■ 1580 M$=MID$(R$,9,4)
■I 1590
1600
E$=MID$(R$,7,2)
IF M$="9001"THEN PRINT"PROBLEME D'ECRITURE":BEEP
■ 1630
■ 1640
IF E$="FD''THEN PRINT"CARTE ARRACHEE" : BEEP
IF E$="FF"THEN PRINT"CARTE MUETTE":BEEP
----------------------------------- 59-------------------------------------------------
PC ET CARTES A PUCE
2
siuoaiqsiiqEiso ajpAneda poppaiooe imiKOKl)££: w
IB siunoosyp OAiinai pue Ziipqjdsoq |boo| jo WXFOtoRL
isouij oi poiEoii oq piM noA p«3 pjOQ oqi QljM SRHM ZOOSL-d
SSVd dIA »ll!«iexi P!»* ' s! P".) P1°O «U. jnoâxv.P 3tu ‘L
sjioossy 3^
auvoisiA
aoNVHd- xaaao
La figure 2.7 montre comment sont placées les trois pistes Les pistes
internationales dites ISO 1, ISO 2, et ISO 3. Les pistes sup magnétiques sont
plémentaires T2 et T3, que l'on trouvait jusqu'à présent sur également
tout au dos des cartes bancaires VISA, sont en voie de dis intéressantes à lire.
parition.
Figure 2.7.
Les caractéristiques
des pistes
magnétiques.
PC ET CARTES A PUCE
Lecteur LCC
Figure 2.9.
Comment raccorder le
lecteur de cartes au PC. DB9COM1: PC
I
Le petit programme CARMAG.BAS suffit pour procéder à
la lecture complète de la piste ISO 2 de toute carte magné
tique que l'on passera (dans le bon sens et à une vitesse suf
fisante) à travers le lecteur.
t. 10 REM — CARMAG.BAS —
20 KEY OFF:CLS
30 OPEN"COM1: 2400, n, 8, 1" AS #1
40 IF LOC(1)<>0 THEN GOSUB 60
50 GOTO 40
60 FOR T=1 TO 5000:NEXT T
90 PRINT C$:PRINT
100 RETURN
110 REM (c)1994 Patrick GUEULLE
2
On peut avoir toute confiance dans ce qui s'affiche, car en
cas d'erreur ou de piste vierge le lecteur ne transmet rien.
CHAPITRE PAGE
Les microprocesseurs
1 des cartes à puce 9
A la découverte
2 de la carte bancaire 37
UN MINI-SYSTEME
DE
3 DÉVELOPPEMENT
Un adaptateur RS232 pour
carte asynchrone 68
Un petit analyseur de
protocole 71
Un petit simulateur de carte 76
Une carte à puce expérimentale
à PIC16CXX 82
----------------------------------------------- 68
CHAPITRE
UN MINI-SYSTEME DE DEVELOPPEMENT
PCP
0
RXP
® ® ® ® ®
TXP
@ N.C.
Figure 3.2.
Le circuit imprimé de
l'adaptateur RS232.
3
CHAPITRE
UN MINI-SYSTEME DE DEVELOPPEMENT
L'analyseur
de protocole et
ses accessoires.
----------------------------------------------- 71
PC ET CARTES A PUCE
------------------ 72-------------------------------------------------
UN MINI-SYSTEME DE DEVELOPPEMENT
CHAPITRE
Figure 3.4.
Le tracé du cuivre
de la «fausse carte»
AFNOR.
I
A condition d'avoir été lancé avant toute émission de
demande de reset de la carte par le lecteur (donc en pre
mier), le très simple logiciel ESPION.BAS va alors afficher
(en hexadécimal) tous les octets circulant entre le lecteur et
la carte.
75
PC ET CARTES A PUCE
10 REM------ CARS232.BAS---------
20 KEY OFF
30 A$=CHR$(&H3)+CHR$(&HC9)+CHR$(255) +CHR$(255)
40 B$="AAAAAAAAAAAA"
50 OPEN "COM1: 9600,n,8,2" AS #1
60 E = INP (&H3FE) AND 128
77
PC ET CARTES A PUCE
70 IF EO128 THEN 60
80 PRINT#1,A$+B$;
90 GOSUB 110
100 END
110 IF LOC(1)<>0 THEN GOSUB 130
120 GOTO 110
130 IF LOC(1)=0 THEN RETURN
140 ON ERROR GOTO 340
150 C$=INPUT$(LOC(1),#1): PRINT
160 FOR K=1 TO LEN(C$)
170 N=ASC (MID$ (C$,K, 1) )
180 M=255
190 IF N>127 THEN N=N-128:M=M-1
200 IF N>63 THEN N=N-64:M=M-2
210 IF N>31 THEN N=N-32:M=M-4
220 IF N>15 THEN N=N-16:M=M-8
230 IF N>7 THEN N=N-8:M=M-16
240 IF N>3 THEN N=N-4:M=M-32
250 IF N>1 THEN N=N-2:M=M-64
260 IF N>0 THEN M=M-128
270 D$==HEX$ (M) +"
280 IF LEN(D$)<3 THEN D$="0"+D$
290 PRINT D$;
300 NEXT K
310 IF LOC(1)<>0 THEN C$=INPUT$(LOC(1),#1):GOTO 160
320 PRINT
330 RETURN
340 RESUME
350 REM (c)1995 Patrick GUEULLE
0 0 0 0 0 1 1 1 1 F
1 0 0 0 1 0 1 1 1 7
2 0 0 10 1 0 1 1 B
3 0 0 11 0 0 1 1 3
4 0 10 0 1 1 0 1 D
5 0 10 1 0 1 0 1 5
6 0 110 1 0 0 1 9
7 0 111 0 0 0 1 1
8 10 0 0 1 1 1 0 E
9 10 0 1 0 1 1 0 6
A 10 10 1 0 1 0 A
B 10 11 0 0 1 0 2
C 110 0 1 1 0 0 C
Figure 3.5.
D 110 1 0 1 0 0 4
Une table de
E 1110 1 0 0 0 8
conversion en
F 1111 0 0 0 0 0
Convention Convention «convention
directe inverse inverse».
79
PC ET CARTES A PUCE
10 REM------ SIMU.BAS---------
20 KEY OFF
30 A$=CHR$(&H3)+CHR$(&HC9)+CHR$(255)+CHR$(255)
40 B$="AAAAAAAAAAAA"
50 J$=CHR$(&HF6)+CHR$(&HFF)
60 OPEN "COM1:9600,N,8,2" AS #1
70 E=INP(&H3FE) AND 128
80 IF EO128 THEN 70
90 PRINT#1,A$+B$;
100 GOSUB 160
110 IF M$="00 B0 AA AA 02 " THEN GOSUB 390
120 IF M$="00 20 BB BB 02 " THEN GOSUB 400
130 IF M$="21 CC CC " THEN GOSUB 410
140 GOTO 100
150 END
160 IF LOC(1)=0 THEN 160
170 ON ERROR GOTO 370
180 M$=""
190 C$=INPUT$(LOC(1),#1): PRINT
200 FOR K=1 TO LEN(C$)
210 N=ASC(MID$(C$,K,1))
220 M=255
230 IF N>127 THEN N=N-128 :M=M-1
240 IF N>63 THEN N=N-64:M=M-2
250 IF N>31 THEN N=N-32:M=M-4
260_IF N>15 THEN N=N-16:M=M-8
270 IF N>7 THEN N=N-8:M=M-16
CHAPITRE
UN MINI-SYSTEME DE DEVELOPPEMENT
---------------------------------------------- 81 -----------------------
PC ET CARTES A PUCE
■
dans le langage de leur choix, à commencer par l'assem
bleur si on souhaite se fabriquer une fausse carte autonome à
partir d'un microcontrôleur courant.
Le côté composants I
de la carte à PIC16C84. I
UN MINI-SYSTEME DE DEVELOPPEMENT
CHAPITRE
83
PC ET CARTES A PUCE
Figure 3.6.
L'agencement
des entrées-sorties en
«OU câblé».
(
teur d'erreur de transmission (un niveau bas recouvrant le
bit de stop constitue une demande de réémission d'un octet
mal reçu).
S
conventions, au début de l'émission de sa réponse au reset.
UN MINI-SYSTEME DE DEVELOPPEMENT
8 RFU
7 I/O
6 Vpp
5 GND
4 RFU
3 CLK
2 RST
1 Vcc
85
PC ET CARTES A PUCE
UN MINI-SYSTEME DE DEVELOPPEMENT
Figure 3.9.
Schéma équivalent
de la broche RA4
des PIC16C84/71.
87
PC ET CARTES A PUCE
Figure 3.10.
Le tracé du cuivre
de la «fausse carte» ISO.
Figure 3.11.
Plan de câblage
de la «fausse carte» ISO.
UN M.N.-SYStLe DE DEVELOPPEMENT
CHAPITRE
COTE CUIVRE
Figure 3.14.
Le tracé du cuivre
et le plan de câblage
de l'adaptateur
pour PIC16CXX.
Figure 3.15.
rinnnnnnnn
Le tracé du cuivre ) PIC16C71
et le plan de câblage ru u uuu u u u u
de l'adaptateur pour
PIC16CXX.
------------------------------------------------90
UN MINI-SYSTEME DE DEVELOPPEMENT
CHAPITRE
3
16c5x/xx Cross-Assembler V4.12.01 Intermediate Fri Mar 24 11:13:44 1995 Page 1
Line PC Opcode
0044 0022 207E clas call recv /attente de la réception d'un octet
0045 0023 30BC movlw 0BC /l’octet reçu est-il BCh ? (classe ISO BULL CP8)
0046 0024 0691 xorwf 11,1
0047 0025 1D03 btfss 3,2
0048 0026 28A7 goto error ;si non mutisme de la carte
0049 0027 207E pin call recv
Line PC Opcode
0050 0028 3020 movlw 20 ;l'octet reçu est-il 20h ? (présentation code)
0051 0029 0691 xorwf 11,1
0052 002A 1D03 btfss 3,2
0053 002B 28A7 goto error /si non mutisme de la carte
0054 002C 207E call recv ; ignorer le premier octet d'adresse
0055 002D 207E call recv ; ignorer le second octet d'adresse
0056 002E 207E call recv /attente de réception d'un octet
0057 002F 3002 movlw 02 ; longueur du code = 2 octets ?
0058 0030 0691 xorwf 11,1
0059 0031 1D03 btfss 3,2
0060 0032 28A7 goto error /si non mutisme de la carte
0061 0033 2066 call tx
0062 0034 20A2 call delayl
0063 0035 20A2 call delayl
0064 0036 3020 movlw 20 /émission de l'octet de procédure "sans Vpp"
0065 0037 2095 call odd
0066 0038 206A call rx
0067 0039 207E cia call recv
0068 003A 30 AB movlw 0AB /premier octet du PIN présenté = ABh ?
0069 003B 0691 xorwf 11,1
0070 003C 1D03 btfss 3,2
0071 003D 28A7 goto error ; si non mutisme de la carte
0072 003E 207E call recv
0073 003F 30CD movlw 0CD /second octet du PIN présenté = CDh ?
0074 0040 0691 xorwf 11,1
0075 0041 1D03 btfss 3,2
0076 0042 28A7 goto error /si non mutisme de la carte
0077 0043 2066 call tx
0078 0044 20A2 call delayl
0079 0045 20A2 call delayl
0080 0046 3090 movlw 90 /émission du compte-rendu "code bon"
0081 0047 208F call even
0082 0048 3000 movlw 00
0083 0049 208F call even
0084 004A 206A call rx /broche 3 en mode entrée
0085
3
CHAPITRE
UN MINI-SYSTEME DE DEVELOPPEMENT
Line PC Opcode
Line PC Opcode
3
0170 009C 28A3 goto time
0171 009D 300E delay3 movlw .14 /temporisation 1/2 bit
0172 009E 20A3 call time
0173 009F 287E goto recv
0174 00A0 301B delay2 movlw .27 /temporisation 1 bit (104 ÊS à 9600 bauds)
0175 00A1 2 8 A3 goto time
0176 00A2 301C delayl movlw .28 /durée d'un bit de start/stop
0177 00A3 008F time movwf 0F /boucle de temporisation
0178 00A4 0B8F redo decfsz 0F,1
0179 00A5 2 8 A4 goto redo
0180 00A6 3400 retlw 0
0181 00A7 28A7 error goto error ;boucle sans fin (mutisme et blocage de la carte)
0182 0000 end /(il faudra faire un RESET pour repartir)
I
Figure 3.16.
un fichier 1NTELHEX nommé PICPUCE.OBJ qui, reproduit L'assemblage
à la figure 3.17 et disponible sur la disquette, est directe du logiciel
ment compatible avec le programmateur PICSTART de PICPUCE.ASM.
MICROCHIP.
:020000000428D2
: 1000080083160814881483120616662032309000 6E
:10001800A220900BOC283F308F2065308F20253090
: 100028009520083095203130952004309520 6C308B
: 100038008F2090308F2000 308F2 0 6A207E2 0BC30A7
:100048009106031DA7287E2020309106031DA728AE
:100058007E207E207E2002309106031DA728662080
: 10006800A220A220203095206A207E2 0AB30910665
:10007800031DA7287E20CD309106031DA7286620E2
: 1000880OA220A22090308F2000308F20 6A207E206E
:10009800BC309106031DA7287E20B0309106031DB1
:1000A800A7287E207E207E20A220A2206620B030B5
:1000B8009520CD30 9520EF30952090308F2000305E
:1000C8008F204B2883160512831208008316051605
:1000D800831208008D008D0908308E000512A220B9
:1000E80003108DOD03180516031C0512A0208EOB96
:1000F800742808009101051A9D289B20083090005B
: 100108000310910D051A1114A220900B84289B202E
:1001180091090800A2206E200516A2200516A2202B Figure 3.17.
:1001280008006E200512A2200516A2200800223021 Le fichier
:10013800A3280E30A3207E281B30A3281C308F0054 INTEL-HEX
:080148008F0BA4280034A72846 de programmation
:00000001FF du PIC.
PC ET CARTES A PUCE
UN MINI-SYSTEME DE DEVELOPPEMENT
97-----------------------------------------------
PC ET CARTES A PUCE
3F 65 25 08 31 04 6C 90 00
3
La carte doit immédiatement répondre par un octet de procé
dure identique au code opération de l'instruction présenta
tion de code (20h).
CHAPITRE PAGE
Les microprocesseurs
1 des cartes à puce 9
A la découverte
2 de la carte bancaire 37
Un mini-système de
3 développement 67
LES TELECARTES
4 OU CARTES
SYNCHRONES
Un mini-lecteur ISO/AFNOR 102
Reconnaissance logicielle
des types de puces 111
Télécartes et protection de
logiciels 113
Un lecteur vraiment universel 117
La T2G ou télécarte de
seconde génération 122
Les cartes EUROCHIP 128
lire et écrire dans les télécartes depuis des années (nous avons en
effet révélé comment procéder dès avant 1991 !), il n'est assurément
pas inutile de revenir sur la question dans cet ouvrage.
Bien des choses ont en effet changé, à commencer par l'emplace
ment de la puce des télécartes françaises, dorénavant en position
ISO au lieu d'AFNOR.
----------------------------------------------- 101------------------------------------------------
PC ET CARTES A PUCE
Le lecteur de cartes
synchrones achevé.
102-----------------------------------------------
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
A l'occasion, ce genre de lecteur pourrait d'ailleurs servir
aussi à écrire dans les cartes de seconde génération, dont la
mémoire EEPROM se contente d'une tension d'alimentation
unique de 5 volts.
Aisément réalisable après-coup sur nos lecteurs déjà décrits, Figure 4.1.
l'interconnexion des broches 9 et 10 de la fiche DB25 mâle per Le schéma
met à nos logiciels les plus perfectionnés (présents sur la dis du lecteur de cartes
quette de cet ouvrage) de reconnaître automatiquement le port synchrones.
parallèle sur lequel est branché le lecteur (LPT1: ou LPT2:).
----------------------------------------------- 103
PC ET CARTES A PUCE
Figure 4.2.
Le circuit imprimé
du lecteur de cartes
synchrones.
Figure 4.3.
Plan de câblage
du lecteur de cartes
synchrones.
104
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
Les dimensions de ce petit montage permettent une "mise
en boîte" commode dans la plupart des coffrets plastique
de type calculatrice avec logement de pile.
10 REM------ MINILECT.BAS---------
20 KEY OFF:CLS:DEF SEG=0
30 S2=PEEK(&H40A)+256*PEEK(&H40B) 'pour LPT2:
40 S1=PEEK(&H408)+256*PEEK(&H409) 'pour LPT1:
50 OUT S2,0:E2=S2+l
60 IF (INP(E2) AND 64) <> 0 THEN S=S1:GOTO 100
70 OUT S2,128
80 IF (INP(E2) AND 64) O 64 THEN S=S1:GOTO 100
90 S=S2
100 E=S+1
110 DIM B$ (256)
120 KEY OFF
130 CLS
105
PC ET CARTES A PUCE
106-----------------------------------------------
CHAPITRE
4 80 CLS:PRINT"CODE FAMILLE:
4 4() F$="":A=9
500 GOSUB 1130:F$=F$+K$
I 510
A=13:GOSUB 1130:F$=F$+K$
u20 IF N(9)=0 THEN 550
d3C PRINT:PRINT"(TELECARTE NON RECONNUE)"
54 0 PRINT:GOTO 170
550 PRINT" (TELECARTE)"
560 PRINT"NUMERO DE SERIE:
570 FOR A=17 TO 29 STEP 4
580 GOSUB 1130:NEXT A
590 FOR A=41 TO 53 STEP 4
60 C GOSUB 1130:NEXT A
610 PRINT:PRINT"MESSAGE D'AUTHENTICITE :
620 A=57:GOSUB 1130
'■ 630 A=61:GOSUB 1130
■ 64 0 A=73:GOSUB 1130
' 650 A=77:GOSUB 1130
660 PRINT:PRINT"PARAMETRES DE PROGRAMMATION:
. 670 A=81:GOSUB 1130
'■ 680 IF K$="0" THEN PRINT" (50 ms / 2 5 V) "
690 IF K$="l" THEN PRINT" (50 ms / 21 V)"
il 700 PRINT"CODE SERVICE:
.< 710 A=85:GOSUB 1130
720 IF K$—"0" THEN PRINT" (carte jetable)";
. ' 730 PRINT:PRINT"POUVOIR FINANCIER:
■■ 740
| 750 A=89:GOSUB 1130 :P$=P$+K$
760 A=93:GOSUB 1130 :P$=P$+K$
H 770 P=VAL(P$):P=(10*P)-10
. 780 PRINT" (";P;" unités)"
U 7 90
PRINT"CONSOMMATION:
1 8C0
I 810
FOR F=97 TO 248
820 IF N (F) —1 THEN C=Ctl
8 30 NEXT F:C=C-10
g 84 0 PRINT C;" UTC"
850 IF C<P THEN PRINT"IL RESTE: ";P-C;" UTC":BEEP
860 IF C>P THEN PRINT"CARTE ANORMALE":BEEP
'' 870 IF C=P THEN PRINT"CREDIT EPUISE"
H 880
PRINT:PRINT:GOTO 170
É 890
GOTO 170
■■ 900
CLS:PRINT"CONTROLE DE PARITE:":PRINT
910 IF N(9)=0 THEN 950
PRINT"SANS SIGNIFICATION!"
PRINT"(TELECARTES seulement)":PRINT
GOTO 170
920
930 108-----------------------------------------------
940
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
950 W=l:GOSUB 990
960 W=2:GOSUB 990
970 W=3:GOSUB 990
980 PRINT:GOTO 170
990 PRINT"BLOC N’";W;":
1000 K=0
1010 X=(32*W)-31
1020 IF N (X) = 0 THEN 1110
1030 FOR F=0 TO 4
1040 X=X+1:IF N(X)=1 THEN K=K+2A(4-F)
1050 NEXT F
1060 Z=0
1070 FOR F=X+1 TO X+26
1080 IF N(F)=0 THEN Z=Z+1
1090 NEXT F
1100 IF Z=K THEN PRINT"parité correcte":RETURN
1110 PRINT"PARITE INCORRECTE":RETURN
1120 END
1130 K=0
1140 FOR J=0 TO 3
1150 B=N(A+J)
1160 IF B=1 THEN K=K+2A (3-J)
1170 NEXT J
1180 IF K<10 THEN K$=CHR$ (48+K)
1190 IF K>=10 THEN K$=CHR$(55+K)
1200 PRINT K$;
1210 RETURN
1220 CLS
1230 FOR L=1 TO 225 STEP 32
1240 FOR N=0 TO 28 STEP 4
1250 A=L+N:GOSUB 1130
1260 NEXT N
1270 PRINT:NEXT L
1280 PRINT
1290 GOTO 170
1300 END
1310 C$="(c)1994 Patrick GUEULLE"
CHOIX + ENTER:
CONTROLE DE PARITE:
D3040016
CF206810
C78B1006
FFFFFFFF
Figure 4.4. FFFFFFFO
00000000
Les possibilités 00000000
du logiciel T1G.BAS. OOOOOOFF
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
Nouveau lui aussi, le décodage du message d'authenticité
permettrait de différencier deux cartes portant éventuelle
ment le même numéro de série.
----------------------------------------------- m------------------------------------------------
PC ET CARTES A PUCE
C'est la plus petite des trois (et donc sans doute la plus éco
nomique à fabriquer car la surface coûte cher), et elle res-
■f semble fort à une ET1001 de laquelle on aurait éliminé toute
g la place perdue.
112-----------------------------------------------
CHAPITRE
10 REM------ TEXAS---------
20 DEF SEG=0:KEY OFF:CLS
30 S2=PEEK(&H40A)+256*PEEK(&H40B) 'pour LPT2:
40 S1=PEEK(&H408)+256*PEEK(&H409) 'pour LPT1:
50 OUT S2,0:E2=S2+l
60 IF (INP(E2) AND 64) O 0 THEN S=S1:GOTO 100
70 OUT S2,128
80 IF (INP(E2) AND 64) <> 64 THEN S=S1:GOTO 100
90 S=S2
100 E=S+1
110 UC=0:UD=0:ZC=0:ZD=0:OUT S,0
120 PRINT"Insérer carte, puis presser ENTER"
130 INPUT Z$:CLS
140 OUT S,250:OUT S,248
150 FOR F=1 TO 16
160 D=INP(E):D= (D AND 128)
170 IF D=128 THEN ZD=ZD+1
180 IF DO128 THEN UD=UD+1
190 OUT S,249
200 C=INP(E):C= (C AND 128)
210 IF C=128 THEN ZC=ZC+1
220 IF CO128 THEN UC=UC+1
230 OUT S,251
240 NEXT F:PRINT
250 IF ZC=0 OR UC=0 THEN PRINT "TELECARTE ANORMALE":GOTO 280
260 IF ZC=ZD THEN PRINT "PUCE TMS3561 (TEXAS) ou EEPROM"
270 IF UD=16 AND UC<16 THEN PRINT "PUCE ET1001 ou TS1001 (THOMSON)"
280 PRINT:PRINT:GOTO 110
290 REM (c)1995 Patrick GUEULLE
----------------------------------------------- 113-----------------------
PC ET CARTES A PUCE
10 REM------PROTECT.BAS---------
20 DEF SEG=0:KEY OFF
■
30 S1=PEFK (&H408)+256*PF.F.K (&H409)
40 S2-PEEK (&H40A) +256*PEEK (&H40B)
50 OUT S2,0 : E2-S2 t 1
60 1F (INP(F,2) AED 64) <> C THEN S-S1. :GOTO 100
70 OUT S2,128
■ 80 TF (INP(E2) AND 64) O 64 THEN 5-Sl:GOTO 100
■ 90 S=S2
100 E=S+1
'■ 110 DIM N(256):DIM M(256)
( 120 CLS:PRINT"PROTECTION DE LOGICIEL PAR TELECARTE"
. 130 PRINT"--------------- =----- =— =—==-------------------------------------- "
■ 140 PRTNT:PRTNT
■ 150 IF S-S2 THEN PRINT" (lecteur sur LPT2:)"
160 IF S-Sl THEN PRINT" (lecteur sur LPT1:)"
170 PRINT:PRINT"Insérer la carte-clef, puis presser ENTER"
180 INPUT Z$:CLS:KKS-""
190 OUT S,250:OUT S,248
200 FOR F-l TO 12
210 K-0
220 FOR G-0 TO 7
230 OUT S,249
■ 240 D-1NP (E) :.0= (D AND 128)
250 IF DO128 THEN K-Kt2A(7-G)
260 OUT S,251:NEXT G
■ 270 K=K XOR 55
280 KK$=KK$+CHR$(K):NEXT F
290 OUT S,0
300 OUT S,250:OUT S,248
310 OPEN "1995.(c)" FOR OUTPUT AS #3
320 KK$=KK$+" (c)1995 Patrick GUEIJLLE"
330 PRTNT #3,KK$
340 CLOSE #3
350 PRTNT KKS:PRINT:PRINT
360 END
370 REM (c) 1995 Patrick GUEUI.LE
380 RETURN
CHAPITRE
1. COPY B:PROTEGE.EXE
2. B:PROTECT
4
Le plus simple est d'intervenir au niveau du OU exclusif,
mais on pourrait aussi songer à utiliser un fichier caché, ou
toute autre astuce personnelle.
10 REM — COREL256 —
20 DIM M(256):KEY OFF:CLS
3 30 0PEN"coml: 9600,n,8,1" AS #1
40 PRINT"COUPLEUR DE CARTES A MEMOIRE CCU910 COREL"
■ 50 PRINT"========================================="
■ 60 PRINT:PRINT:PRINT"INTRODUIRE UNE GPM256, puis presser ENTER"
I 70 INPUT Z$:CLS
■ 80 S$="00"
|| 90 CLS:PRINT"INITIALISATION DU COUPLEUR":PRINT
H 100 GOSUB 700
I 110 PRINT"MISE SOUS TENSION ET RESET":PRINT
270 C$=MID$(C$,7,32):N=0
280 FOR F=1 TO 32
290 CC$=MID$(C$,F,1):CC=ASC(CC$)
300 N=N+1:IF CC>127 THEN M(N)=1 ELSE M(N)=0
310 IF CC>127 THEN CC=CC-128
320 N=N+1:IF CC>63 THEN M(N)=1 ELSE M(N)=0
330 IF CC>63 THEN CC=CC-64
340 N=N+1:IF CC>31 THEN M(N)=1 ELSE M(N)=0
350 IF CC>31 THEN CC=CC-32
360 N=N+1:IF CC>15 THEN M(N)=1 ELSE M(N)=0
370 IF CC>15 THEN CC=CC-16
380 N=N+1: IF CC>7 THEN M(N)=1 ELSE M(N)=0
390 IF CC>7 THEN CC=CC-8
400 N=N+1:IF CC>3 THEN M(N)=1 ELSE M(N)=0
410 IF CC>3 THEN CC=CC-4
420 N=N+1:IF COI THEN M(N)=1 ELSE M(N)=0
430 IF COI THEN CC=CC-2
440 N=N+1:IF COO THEN M(N)=1 ELSE M(N)=0
450 NEXT F
460 1=0
470 FOR F=1 TO 8
480 FOR G=1 TO 8
490 FOR H=1 TO 4
500 1=1+1
510 NN$="1":IF M(I)=0 THEN NN$="0"
520 PRINT NN$; :PRINT#2,NN$+"
530 NEXT H
540 PRINT" :PRINT#2," :NEXT G
550 PRINT:PRINT#2,
560 IF F=3 THEN PRINT
570 NEXT F:PRINT:CLOSE#2
580 PRINT"MISE HORS TENSION DE LA CARTE":PRINT
590 GOSUB 670
600 END
610 PRINT#1,CHR$(2)+CHR$(2)+CHR$(0)+CHR$(2)+CHR$(3);
620 GOSUB 1270
630 IF E$="03" THEN BEEP:PRINT "CARTE ASYNCHRONE (à microprocesseur) DETECTEE"
640 IF E$="04" THEN PRINT "CARTE SYNCHRONE (à logique câblée) DETECTEE"
650 PRINT
660 RETURN
670 PRINTtl,CHR$(2)+CHR$(3)+CHR$(0)+CHR$(3)+CHR$(3);
680 GOSUB 1270
690 RETURN
700 PRINT#1,CHR$(2)+CHR$(12)+CHR$(1)+CHR$(1)+ CHR$(12)+CHR$(3) ;
710 GOSUB 1270
720 RETURN
730 REM lecture
------------------------------------------------118
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
| 740 A$="0000":Q$="20"
I 750 X$="020005"+S$+"BO"+A$+Q$
I 760 GOSUB 1510
I 770 GOSUB 1270
I 780 RETURN
I 790 PRINT"Nom du fichier .CAR à programmer
! 800 INPUT P$
I 810 IF P$="" THEN CLS:GOTO 580
I 820 FOR F=1 TO LEN(P$)
! 830 IF MID$(F$,F,1)" THEN 860
I 840 NEXT F
I 850 P$=P$+".CAR":PRINT
I 890 C=0
I 900 FOR G=1 TO 8
I 910 INPUT#3,Q
! 960 NEXT F
| 970 CLOSE#3
I 980 U$="25"
I 990 L$="20"
I 1000 X$="02Ol"+U$+S$+"D0"+A$+L$+H$
I 1010 GOSUB 1510
I 1020 FOR T=0 TO5000:NEXT T
1110 c=o
I 1120 FOR G=1 TO 8
I 1130 INPUT#3,Q
1140 IF Q=1 THEN C=C+2A(8-G)
1150 NEXT G
1160 C$=HEX$(C) : IF LEN(C$)<2 THEN C$="0"+C$
1170 H$=H$+C$
1180 NEXT F
1190 CLOSE#3
I 1200 U$="19"
PC ET CARTES A PUCE
121 0 L$="14"
1220 X$="0201"+U$+S$+"D0"+"000C"+L$+H$
12 50 GOSUB 1510
124 0 FOR T=0 TO 5000:NEXT T
1250 GOSUB 1270
1260 GOTO 580
'.270 FOR T=0 TO 2000:NEXT T
1280 R$=""
1290 IF LOC(1)=0 THEN PRINT"COUPLEUR MUET":GOTO 1500
1 300 C$—INPUT$(LOC(1),#1)
1310 J=0:PRINT"REPONSE DU COUPLEUR:"
1 32 0 FOR F=1 TO LEN(C$)
13 30 D$—HEX$(ASC(MID$(C$,F,1)))
134 0 IF LEN(D$)<2 THEN D$="0"+D$
1 350 R$=R$+D$
1360 PRINT D$+CHR$(32); :J=J+1
1 370 IF J>23 THEN J=0:PRINT
1 380 NEXT F
1 390 PRINT
1400 M$=MID$(R$,9,4)
1410 E$=MID$(R$,7,2)
1420 IF M$="9001"THEN PRINT"PROBLEME D'ECRITURE":BEEP
1 4 30 IF M$="6EOO"THEN PRINT"CLASSE ISO INCORRECTE":BEEP
1440 IF M$="9000"THEN PRINT:PRINT"BONNE EXECUTION"
1450 IF E$="02"THEN PRINT"CARTE NON TRAITEE":BEEP
14 60 IF E$="FD"THEN PRINT"CARTE ARRACHEE":BEEP
14 70 IF E$="FF"THEN PRINT"CARTE MUETTE":BEEP
1 4 80 IF E$—"FA"THEN PRINT"CARTE ABSENTE":BEEP
1190 IF E$="FB"THEN PRINT"COURT-CIRCUIT CARTE":BEEP
I 500 PRINT:PRINT:RETURN
151 0 L=0
1 520 PRINT"TRAME ENVOYEE AU COUPLEUR:"
15 30 FOR F—3 TO (LEN(X$)-1) STEP 2
154 0 W$="&h"+MID$(X$,F,2)
5 50 L=L XOR VAL(W$)
1 560 L$=HEX$(L)
1 570 IF LEN(L$)<2 THEN L$="0"+L$
1580 NEXT F
1590 X$=X$+L$+"03"
I 600 FOR F=1 TO (LEN(X$)-1) STEP 2
1 61 0 J=0
I 620 J=J+1:PRINT MID$(X$,F,2)+CHR$(32);
1 630 IF J>23 THEN J=0:PRINT
1
1 64 0
W$="&h"+MID$(X$,F, 2)
1 650 PRINT#1,CHR$(VAL(W$));
NEXT F
PRINT:PRINT
1660
1670 ---------- 120------------------------------------------------
LES TÉLÉCARTES OU CARTES SYNCHRONEs"
CHAPITRE
4
1680 RETURN
1690 H$="(c)1995 Patrick GUEULLE"
REPONSE DU COUPLEUR:
02 02 OD 04 C3 03 38 32 B7 69 17 51 B7 DF 10 13 32 03
? 1
REPONSE DU COUPLEUR:
02 00 23 04 90 00 C3 03 38 32 B7 69 17 51 B7 DF 10 13 FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF CO 00 00 FF B1 03
BONNE EXECUTION
C'est pour cette raison que nous avons prévu une option
S permettant, en cas d'échec d'une programmation dû à une
| tentative de modification illicite dans cette zone, de renou-
- veler l'opération en sautant purement et simplement les 96
; premiers bits.
122
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
atout pour l'exportation, de nombreux pays appliquant une
taxation beaucoup plus fine qu'en France (parfois à la
seconde près !)
123-----------------------------------------------
PC ET CARTES A PUCE
0 0 r RESET
1 0 r sans effet
0 1 r READ (UP)
0 1 n COMPARE
Figure 4.7. D'un autre côté, des logiciels d'analyse très spécifiques vont
Le jeu de devoir être mis en oeuvre, car les unités sont comptabilisées
«micro-instructions» d'une façon radicalement différente.
supposé des T2G.
Après le numéro de silicium à 16 bits qui paraît pour l'instant
être commun à toutes les T2G (8140h), on trouve 48 bits
abritant notamment le numéro de série de la carte et son
pouvoir financier (indication codée du nombre d'unités dont
elle a été chargée, 05h pour 50 unités).
124
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
Suivent 40 bits organisés en cinq compteurs de huit bits cha
cun.
10 REM T2G.BAS
20 KEY OFF:CLS
30 PRINT"NOM DU FICHIER .CAR à ANALYSER
40 INPUT N$
50 IF N$="" THEN END
60 FOR F=1 TO LEN(N$)
70 IF MID$(N$,F,1)="." THEN 100
80 NEXT F
90 N$=N$+".CAR"
100 OPEN N$ FOR INPUT AS #1
----------------------------------------------- 125
PC ET CARTES A PUCE
’? 110 A=0
I; 120 FOR F—0 TO 15
130 INPUT#1,Q
g 140 IF Q=1 THEN A=A+2A(15-F)
Èj 150 NEXT F
126-----------------------------------------------
CHAPITRE
Pour plus de clarté, nous avons repéré les différents comp Figure 4.8.
teurs, dont trois demeurent pour l'instant au repos. Deux
Gageons qu'ils pourraient servir tôt ou tard (nous préfére «images-carte»
rions tôt...) à instaurer d'une diminution massive du mon de T2G lues avec
tant de l'unité de taxation, associée à une périodicité de per MINILECT.BAS.
ception accrue en proportion. Il est en effet manifestement
injuste de facturer, et ce depuis des temps immémoriaux, le
même prix pour une communication locale de trois minutes
ou de trois secondes : le perdant est toujours le client,
jamais l'exploitant !
127
PC ET CARTES A PUCE
B
nous arriver de l'étranger.
128
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
La puce ATMEL
d'une carte
EUROCHIP.
1 r RESET
0 r READ (UP)
0 n COMPARE
°
PROTOCOLE "5 CONTACTS1 : EUROCHIP
------------------ 130------------------------------------------------
LES TELECARTES OU CARTES SYNCHRONES
CHAPITRE
4
Carte EUROCHIP 1200 unités monétaires, neuve
1110 0 0 0 0 0 10 111 1 1 1 1 1 1 1110 1001 0101
0 10 1 0 0 0 0 0 10 10 1 0 0 0 1 0 1 0001 0000 0000
0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1
°l
101 1 0 0 0
1 0
0 0 oj
0 0 0 0
1 1 1 1 1
0 1 0 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 0
1 1 1 1
1 0 0 1
1 1 1 1
1 1 0 1
0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Carte EUROCHIP: les unités disponibles sont à " 1 " ( carte ' vierge à 1 ")
131
PC ET CARTES A PUCE
132
Patrick Cueillie
CHAPITRE PAGE
Les microprocesseurs
1 des cartes à puce 9
A la découverte
2 de la carte bancaire 37
Un mini-système
3 de développement 67
Les télécartes ou
4 cartes synchrones 101
5 LA DISQUETTE
DU LIVRE
Organisation de la disquette 134
Installation de la disquette 134
Mode d'emploi de cartes.exe 136
Une sélection d'images-carte 138
Encore 23 programmes Basic ! 142
Une photo auto-exécutable 144
133
ET CARTES A PUCE «■■■■■■■■■■■■■■
ORGANISATION DE LA DISQUETTE
INSTALLATION DE LA DISQUETTE
------------------------------------------------134------------------------------------------------
5
CHAPITRE
LA DISQUETTE DU LIVRE
--------------------------------------------135-----------------------
PC ET CARTES A PUCE
---------------------- 136------------------------------------------------
CHAPITRE
LA DISQUETTE DU LIVRE
--------------------------------------------137------------------------------------------------
PC ET CARTES A PUCE
LA DISQUETTE DU LIVRE
ALM1.CAR:
0000 0010 0011 1111 1111 1110 1010 1010
i 1000
1011 0010 0101 0011 0011 0001 1000
0000 0000 0000 0000 0000 0000 0000 0100
0000 1111 1111 1111 1111 1111 1111 1111
0000 0010 0011 1111 1111 1110 1010 1010
' 1000 1011 0010 0101 0011 0011 0001 1000
0000 0000 0000 0000 0000 0000 0000 0100
0000 1111 1111 1111 1111 1111 1111 1111
I ALM2.
.CAR:
1101 0000 1011 1111 1111 1110 0010 1010
1001 0011 1010 0010 0101 1001 1010 0000
0000 0000 0000 0000 0011 1100 0000 0100
■ 1111 1111 1111 1111 1111 1111 1111 1111
; 1101 0000 1011 1111 1111 1110 0010 1010
| 1001
0011 1010 0010 0101 1001 1010 0000
0000 0000 0000 0000 0011 1100 0000 0100
1 1111
1111 1111 1111 1111 1111 1111 1111
139-----------------------------------------------
ALM3.CAR :
1110 0000 0101 1111 1111 1110 1001 0101
0101 0000 0101 0100 0101 0001 0000 0000
0000 0000 0000 0110 0000 0110 OUI 1110
0000 0001 1111 1111 1111 1111 1111 1111
1110 0000 0101 1111 1111 1110 1001 0101
0101 0000 0101 0100 0101 0001 0000 0000
0000 0000 0000 0110 0000 0110 OUI 1110
0000 0001 1111 1111 1111 1111 1111 1111
ALM4 . CAR
1110 0000 0101 1111 1111 1111 1001 0101
0101 0001 1000 1001 1101 1001 1000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0001 1111 1111 1111 1111 1111 1111
1110 0000 0101 1111 1111 1111 1001 0101
0101 0001 1000 1001 1101 1001 1000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0001 1111 1111 1111 1111 1111 1111
GUERN1.CAR:
0010 1000 OUI OUI 1111 1110 0000 1100
1110 0000 0000 0000 0000 0011 1011 1100
0000 0000 0000 0000 0000 0000 0001 1110
0001 1111 1111 1111 1111 1111 1111 1111
0010 1000 OUI OUI 1111 1110 0000 1100
1110 0000 0000 0000 0000 0011 1011 1100
0000 0000 0000 0000 0000 0000 0001 1110
0001 1111 1111 1111 1111 1111 1111 1111
GUERN2.CAR :
0010 1000 OUI OUI 1111 1110 0000 1100
1110 0010 0000 0011 0101 1000 1100 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0001 1111 1111 1111 1111 1111 1111
0010 1000 OUI OUI 1111 1110 0000 1100
1110 0010 0000 0011 0101 1000 1100 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0001 1111 1111 1111 1111 1111 1111
HOLA. CAR:
1101 0011 0000 0100 0000 0000 0001 0110
1100 1111 0010 0000 0110 1000 0001 0000
1100 OUI 1000 1011 0001 0000 0000 0110
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 0000
0000 0000 0000 0000 0000 0000 1111 1111
5
CHAPITRE
LA DISQUETTE DU LIVRE
IRLANDE.CAR:
1011 1010 1000 0011 0001 0001 0000 0010
0100 0000 0000 0001 1100 1101 0100 1010
0001 1001 1010 OUI 0001 0001 0011 1100
1110 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
MALTF • CAR:
1011 1101 1000 0011 0001 0000 0110 0010
0000 0000 0001 0101 1010 0100 0101 1010
1000 1000 1001 0100 0001 0001 0101 0100
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1100
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
MOB IL • CAR:
1000 1000 1000 0000 0010 0000 0000 0010
0011 1100 OUI 0101 1000 0010 0010 0100
1010 0001 0000 0000 0000 0000 0000 0001
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
PASVIDE.CAR:
1100 1011 0000 0011 1001 0000 0100 0001
1011 1011 0101 0110 0110 OUI 0000 0010
1100 0011 0100 1111 0001 0000 0000 0110
1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1110 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
T2G5. CAR:
1000 0001 0100 0000 0010 0000 0000 0000
1000 0010 0100 0101 0110 0000 0000 0101
0000 0000 0000 0000 0011 1111 0011 1111
OUI 1111 1111 1111 0101 0011 1000 0010
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
141
PC ET CARTES A PUCE
T2GA.CAR:
1000 0001 0100 0000 0010 0000 0000 0001
0100 0010 0101 0010 1000 0000 0000 0101
0000 0000 0000 0000 0000 0001 0000 0001
OUI 1111 1111 1111 OUI 1000 1011 1010
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
<DIR> 2/01/80 O 04
<DIR> 2/01/80 O 04
BINTOROM BAS 394 1/01/80 O 07
CARTOROH BAS 447 1/01/80 O 46
COPYIIC BAS 1026 1/01/80 O 18
CREDIT12 BAS 637 18/01/93 14 06
CREDIT50 BAS 638 18/01/93 14 06
GPH256 BAS 3936 29/12/92 12 09
KARTE BAS 409 24/12/92 14 03
LECAIIC BAS 321 1/01/80 O 36
LECI2C BAS 1459 1/01/80 O 17
LECIIC BAS 316 1/01/80 O 14
LRC BAS 378 1/01/80 O 26
NOVCHECK BAS 1 144 1/01/80 O 05
NOVERASE BAS 1217 1/01/80 O 08
NOVURITE BAS 1326 1/01/80 O 25
PR0GI2C BAS 1494 1/01/80 O 23
PROGIIC BAS 356 1/01/80 O 16
RESET BAS 610 1/01/80 O 05
Litm»ro C T RESETD BAS 358 10/12/93 14 43
Figure ROMTOBIN BAS 426 1/01/80 O 03
Les 23 logiciels de ROHTOCAR BAS 817 1/01/80 O 09
«CARTES A PUCE, SERRURE BAS 1125 19/01/93 14 45
TESTCOUP BAS 770 1/01/80 O 24
Initiation et VERI2C BAS 1578 1/01/80 O 38
Applications». 25 File(s) O bytes f ree
142
CHAPITRE
LA DISQUETTE DU LIVRE
La puce de télécarte
ET1001.
La puce Texas
Instruments pour
télécartes.
PC ET CARTES A PUCE
O
CL-
w? •*' C\
.<
a* - J- -•; '-■ ï:
• r«
H3