Programmer votre BasicCard



Retour vers l'accueil du site

Le compilateur ZC-Basic présent dans le dossier C:\BasicCardPro peut créer un dossier image (.img) de votre fichier source (.bas) avec la commande suivante: ZCMBasic -C3.9 -OI source.bas sous dos (exemple donnée pour une basicard ZC3.9). Ce dossier image peut alors être téléchargé sur une BasicCard avec le programme BCLOAD présent dans le dossier  C:\BasicCardPro. (N'oublier pas de préciser le type de lecteur à carte à puce utilisé, PC/SC ou Cyber mouse)


 EEPROM COUNT As Integer=0

REM (Disable Le) indique que la commande est entrante (la carte peut recevoir des données mais, mais n'en retourne pas)
Command &HA0 &H88 DONG(S$,Disable Le)
SW1SW2=&H9F14
COUNT=COUNT+1
IF COUNT>9 Then SW1SW2=&H6F00
End Command

Command &HA0 &H90 RSTCNT(A$,Disable Le)
COUNT=0
SW1SW2=&H0000
End Command

Ce programme .bas est donc à convertir en .img grâce à la commande ZCMBasic -C3.9 -OI programme.bas (pour une basiccard 3.9) sous DOS.
Une fois obtenu le fichier .img vous pouvez le télécharger sur votre basicard via votre lecteur PC/SC grâce au programme BCLOAD.exe présent dans
C:\BasicCardPro.
Grâce à un émulateur de carte à puce ou un programme de votre fabrication vous pouvez incrementer COUNT de 1 unité jsuqu'à 9 à chaque appel de la fonction DONG et remettre le compteur à 0 en appelant la fonction RSTCNT.

Ce que vous devez savoir sur la fonction DES

result$ = DES(type, key, block$)

type The type of primitive: +1, –1, +3, or –3, as follows:
+1: Single DES encryption
–1:  Single DES decryption
+3:  Triple DES encryption
–3:  Triple DES decryption

key Either a key number from 0 to 255, or a string containing a cryptographic key. The key must
be at least 8 bytes long for types +1 and –1, and at least 16 bytes long for types +3 and –3.

block$ An 8-byte string containing the block to encrypt or decrypt. If longer than 8 bytes, only the
first 8 bytes are used; if shorter than 8 bytes, P-Code error pcBadStringCall (&H0D) is
generated.

result$ The 8-byte result of the DES encryption or decryption function.


REM Grace a ce programme la carte doit etre capable de prouver son authenticié dans le
REM terminal dans lequel elle est inseré avec une clé dans l'eeprom de la carte et un mot de passe
Public P$ As String
Public KEY$="clé public"

REM données entrantes uniquement (on rentre le mot de passe et il se crypte avec la cles)
Command &HA0 &H88 ENTRANT(S$,Disable Le)
SW1SW2=&H9F14
P$=DES(+1,KEY$,S$)
End Command


REM données sortantes uniquement (la chaine crypté peut etre lu par le treminal et comparer)
Command &HA0 &HC0 SORTANT(Lc=0,S$)
S$=MID$(P$,P1P2+1,Le)
End Command

Retour vers l'accueil du site