   
   :----------------------------------------------------------------------:   
   | ---:--- :----  :    :----  /---    /\    /---\  ---:--- :----  /---  | 
   |    |    |____  |    |____ |       /  \   |___|     |    |____  \     |
   |    |    |      |    |     |      /____\  |   \     |    |        \   |
   |    |    |____  |___ |____  \___ /      \ |    \    |    |____  ___/  |
   |______________________________________________________________________|
		    
		    ET CARTES A PUCES ASYNCHRONES
			 par bLoRP
			     ^^^^^

1/CARTES A MEMOIRES DE TYPES TELECARTE:
  
  une carte a mmoire est essentiellement compose d'une mmoire electronique 
connectable et inscriptible, associe a un compteur.La memoire d'une 
telecarte, de type EPROM a une capacite de 256 lements binaires dont les 
96 premiers sont utiliss par l'exploitant du reseau pour l'identification de 
l'appelant et ses droits et dont les 160 lments suivant servent a 
l'enregistrement des units consomms.
	   ------------> 200 millions de telecartes distribues en 1990
lment binaire: 1 bit

1.1/PROTECTION DES CARTES A PUCES (generales):
       
  Les cartes a puces integrent toutes des fonctions cryptographiques qui 
rendent leur contenu sinon inviolable au moins incomprehensible pour toute 
personne malveillante(eh eh :)).Une protection par fusible est aussi possible, 
aprs la programmation de la carte en usine, un fusible interne est grill et 
rend la carte illisible de l'exterieur.Les tlcartes ne semblent pas 
incorporer une protection cryptographique avec une cls secrete par contre 
elles sont protges par un fusible(fuck FT !!) ce qui les rends totalement 
illisibles avec un materiel d'amateur.Les pirates n'ont donc que deux options, 
soit arriver a lire le programme contenu dans dans la puces et a recharger ce 
programme sur une carte a microcontrolleur (qu'ils auront eux memes fabriqu) 
soit reinventer un programme  qui leur permette d'emuler la telecarte, 
toujours au moyen d'une carte a microcontroleur.Cette deuxieme solution reste 
trs complique a mettre en oeuvre puisque la carte pirate doit repondre 
exactement comme la vraie lors de l'initialisation de la cabine et de 
l'criture dans la memoire de la carte.Les plans de fausses telecartes avaient 
et publi dans le phrack 48, malheureusement l'emulation n'etant pas assez 
rapide, ces fausses cartes cessrent de fonctionner avec l'apparition des 
nouvelles cabines telephoniques (beuh :( !! )).
  
1.2/REALISATION DES FAUSSES CARTES A PUCES:

   Avant de realiser une fausse telecarte il faut donc deja connaitre un 
minimum leur principe de fonctionnement et leur caracteristiques techniques.
Par exemple il faut savoir que les cartes a puces asychrones de types ISO 
(7816 par exemple) communiquent avec la cabine avec une liaison serie 
utilisant un protocole a parite paire.les cartes a puces ISO respectent aussi 
la norme ISO inverse ce qui veut dire que ce sont d'abort les bits de poids 
fort qui sont d'abord transmis et qu'un niveau bas (0v) represente en fait un 1 logique.
L'emulateur de telecarte decrit dans le phrack 48respectait parfaitement ces 
conditions et le pic 16c84 qui servait a l'emulation etait trs bien adapt.Le 
probleme se posa lorsque les nouvelles telecabines arrivrent, celles ci 
demandaient en effet une emulation plus rapide.Le programme contenu dans le 
pic 16c84 qui tournait a 4mhz fut alors mis dans un 16c84 a 10mhz, avec ce 
nouveau microcontrolleur la phase d'initialisation etait  nouveau emule 
correctement, en effet, la cabine ne detectait pas la fausse telecarte aprs 
avoir envoyer son reset.Les problemes commencaient en fait aprs 
l'initialisation lorsque la cabine et le pic ecrivait dans la memoire, la 
cabine detectait la fausse carte et  refusait systematiquement tout appel.En 
fait pour crire dans la memoire du pic 16c84 il faut au minimum 10ms(au 
lieu de 500ns pour la vraie :( ), cette inconvenient est due au fait que la 
memoire utilise lors de l'emulation est une EEPROM (memoire programable et 
effacable electriquement sans uv).En effet un microcontroleur a eeprom est 
ideal pour le developpement du programme (masque) puisque il n'y a pas besoin 
de passer longuement le microcontroleur sous les uv pour effacer sa memoire !!
.C'est cet interval de 10ms qui perturbe la telecabine et qui fait echouer 
l'emulation, pour reussir il faudrat evoluer vers des microcontroleurs ayant 
des memoires plus rapides (pic16c74-71) ou ajouter une eeprom externe au pic 
16c84, plus rapide, cependant le temps necessaire au calcul de l'adressage 
devrait aussi etre assez important et le montage ne serait finalement pas 
vraiment plus performant!!
  
2/LES NOUVEAUX PROGRAMMES:

  le programme suivant est en fait une version optimise pour le pic 16c84 
10mhz du programme paru dans le phrack47 initialement prevu pour tourner sur 
un pic a 4mhz!:
  ce n'est pas moi qui ait retravaill le code, et il semble que ce programme 
marche a peut prs, sauf sur certaines cabines.De toute facon l'emulation 
reste partielle et les dconections sont frequentes :(
 

		 LIST p=16C84,r=dec
	pc equ 02h ; Program counter
	sr equ 03h ; Status register
	fsr equ 04h ; file select
	porta equ 05h ; Port a
	portb equ 06h ; Port b
	eedata equ 08h ; Eeprom data register
	eeadr equ 09h ; Eeprom adress register
	eecon1 equ 08h
	eecon2 equ 09h
	add equ 0Ch ; Ptr memoire lecture carte
	
	#DEFINE OUT portb,0 ; 
	#DEFINE ST portb,2 ;
	#DEFINE RAZ portb,1 ; pattes de la carte
	#DEFINE PRO portb,3 ;
	#DEFINE VPP portb,4 ;
	#DEFINE RD eecon1,0 
	#DEFINE WR eecon1,1 
	#DEFINE WREN eecon1,2 
	#DEFINE EEIF eecon1,4 
	#DEFINE RP0 sr,5 
	
	org 00
	start movlw 126
	tris portb 
	clrf eeadr
	bsf RP0
	bsf RD 
	bcf RP0
	movlw 155
	subwf eedata,0 
	btfsc sr,0 
	bcf eedata,7 
	star2 bsf OUT
	clrf add 
	debut btfss VPP 
	goto star2
	stl btfss ST 
	goto stl
	bsf OUT
	btfsc PRO 
	goto prog
	sth btfsc ST 
	goto sth
	btfss RAZ ; test RAZ
	goto star2
	incf add,1
	movf add,0
	btfsc add,7
	goto mempro
	call carte
	movwf portb
	goto debut
	mempro subwf eedata,0 ; SR0=0 si add > eedata !!
	btfss sr,0 
	bcf OUT ; zone units libres
	goto debut
	prog movf add,0
	movwf eedata
	bsf OUT
	bsf RP0
	bsf WREN 
	bcf EEIF
	movlw 055h
	movwf eecon2
	movlw 0aah
	movwf eecon2
	bsf WR 
	pro_ok btfss EEIF 
	goto pro_ok 
	bcf RP0
	goto debut
	carte addwf pc,1
	; mot 'C7' (n de carte complet - 96 bits)
	retlw 1 
	retlw 1
	retlw 0
	retlw 0
	;
	retlw 0 
	retlw 1
	retlw 1
	retlw 1
	; mot '06' 
	retlw 0
	retlw 0
	retlw 0
	retlw 0
	;
	retlw 0
	retlw 1
	retlw 1
	retlw 0
	; mot '85'
	 retlw 1
	retlw 0
	retlw 0
	etlw 0
	;
	retlw 0
	retlw 1
	retlw 0
	retlw 1
	; mot '03' 
	retlw 0
	retlw 0
	 retlw 0
	 retlw 0
	;
	retlw 0
	 retlw 0
	 retlw 1
	retlw 1
	; mot 'C7'
	retlw 1
	retlw 1
	retlw 0
	retlw 0
	;
	retlw 0
	retlw 1
	retlw 1 
	retlw 1
	;
	; mot '04'
	retlw 0
	retlw 0
	retlw 0
	retlw 0
	;
	retlw 0
	retlw 1
	retlw 0
	retlw 0
	;
	; mot '46'
	retlw 0
	retlw 1
	retlw 0
	retlw 0
	;
	retlw 0
	retlw 1
	retlw 1
	retlw 0
	 ;
	 ; mot '0E'
	retlw 0
	retlw 0
	retlw 0
	 retlw 0
	;
	retlw 1
	retlw 1
	retlw 1
	retlw 0
	;
	 ; mot 'CB'
	retlw 1
	retlw 1
	retlw 0
	retlw 0
	;
	retlw 1
	retlw 0
	retlw 1
	retlw 1
	;
	; mot '8A'
	retlw 1
	retlw 0
	retlw 0
	retlw 0
	; 
	retlw 1
	retlw 0
	retlw 1
	retlw 0
	;
	; mot '10'
	retlw 0
	retlw 0
	retlw 0
	retlw 1
	;       
	retlw 0
	retlw 0
	 retlw 0
	retlw 0
	;
	; mot '06'
	retlw 0
	retlw 0
	retlw 0
	retlw 0
	;
	retlw 0
	retlw 1
	retlw 1
	 retlw 0
	;34 fois retlw 1
 end
    
   compilation OK avec : MPASM

  Je n'ait pas essay personellement ce programme, mais je sais que 
certaines personnes l'ont fait marcher, alors, ne tapez pas sur l'auteur !!!
Pour la fausse telecarte, les plans du phrack restent valablent, il faut 
juste changer la puce!



3.1/UN PTIT ORGANIGRAMME SYMPA:  

 cet organigramme n'est vraiment qu'un squellette minuscule du programme qui 
 devra etre cod pour l'emulation:
    
	_______________                      ___________
       | intteruption  |                    |   DEBUT   |
       |   en cas de   |                    |___________|
       |     RESET     |                          |
       |_______________|                          |
	      |                                   |
	      |                          _________v_________
	______v______                   | saut a la routine |
       |  routine de |                  |       de          |
       |  reponse au |<-----------------|  traitement du    |
       |    RESET    |                  |       RESET       |
       |_____________|                  |___________________|
	      |
	      |                                    ___________________
	______v______   non              _________v_________          |
       | mem = 1  ?? |___________       | recuperation de   |         |
       |_____________|           |      |    l'adresse      |         |
	      | oui              +----->|  memoire pointe  |         |
	      |                         |  par la telecarte |         |
	      |                         |___________________|         |
	      v                                  |                    |
	      |                                  |                    |
	      |                           _______v______              |
	      |                          |  mise d'une  |             |
	      |                          |  memoire a 1 |             |
	      |                          |   mem = 1    |             |
	      |                          |______________|             |
	      |                                  |                    |
	      |                                  |                    |
	      |                       ___________v___________         |
	      |                      |    simulation de la   |        |
	      |                      |       reponse en      |        |
	      |                      |  utilisant un algo ou |        |
	      v                      | des datas de l'EEPROM |        |
	      |                      |_______________________|        |
	      |                                  |                    |
	      |                                  |                    |
	      |                         _________v__________          |
	      |                        | 97 bits simul ?? |          |
	      |                        |     (atteind ??)   | nan     |
	      v                        |____________________|---------+
	      |                                  | oui
	      |__________________________________v
			      |                       
			______v________               
		       | broche i/o a 1|<-------------:             
		       |_______________|              |
			      |                       |
			      |                       |
		      ________v_________              |
		     |   recuperation   |             |
		     |  adresse pointe |             |
		     |__________________|             |
			      |                       |
			      |<--------------:       |
		      --------v---------      |       |
		     | si le bit a ete  | nan |       |
		     |     ecrit        |-----:       |
		     |__________________|             |
			      | oui                   |
			      |                       |
		      --------v--------               |
		     |  la broche i/o  |              |
		     |    est mise     |              |
		     |     a 0         |              |
		     |_________________|              |
			      |                       |
			      |                       |
		     _________v_________              |
		    |   y'a t'il eu une |             |
		    | impulsion sur la  | oui         |
		    | broche clock ???  |_____________|
		    |___________________|
			     |  nan
			     |
		  ___________v__________
		 |   bravo, vous venez  |
		 |  d'enculer FT ;))))) |
		 |______________________|
			    |
			    |
		      ______v______
		     | THE END ;)) |
		     |_____________|

   
  petite explication: si vous voulez comprendre cet organigramme, lisez donc    
le texte "what you need to know about electronic telecards" de SB, tout la
sequence de lecture ecriture de la carte est explique en detail.Plusieurs
problmes se posent en fait, les donne contenue dans les 97 premiers bits
pourront elles etres lues sufisement rapidement pour que la cabine ne detecte
pas l'emeulation ???
 -quelle etat presente la broche i/o pendant l'incrementation du compteur???
 -combien de temps laisser la broche i/o active ???
Si vous connaissez la reponse a une de ces questions, c'est du 0.00 fr/min ;))
une autre astuce:
   
   une solution inexplore serait aussi de presenter sur la broche i/o un 
etat haut (5v) pour indiquer a la cabine que l'ecriture du bit n'a pas et 
effectue correctement, il est probable qu'au bout de 3 essais d'ecriture, la
cabine rejette la carte, ceci dit vous avez deja tripl la dure de vie de 
votre fausse carte et vous n'avez poa besoin de couper la communication pour
beneficier a nouveau de 120 unites :o). En fait avec cette methode, vous 
devriez pouvoir rester en ligne pendant 2 heures d'affiles (arf :))).

   Le seul probleme est en fait que la simulation des 97 premiers bits ne sera
assez rapide, il faudraitsimuler ces bit soit en trouvant un algoritme qui
corresponde a ces bits, soit charcher dans la ram du pic des donnes presentes
dans l'eeprom, ce qui resoudrait le probleme des 10ms necessaires au pic.

   Finalement la solution reste peut etre l'emulation a partir d'un ordinateur 
portable, certains programme sont trs au point, d'autant plus que si l'on 
veut se connecter au net ou devenir root sur une des suns de sa facs, y faudra 
forcement un portable :) .
  La derniere solution reste les fausses telecartes a base d'eprom serie et de
portes logiques pour l'adressage, certains plans circulent ;) et il semble que
les premiers resultats soit TRES concluants .....;-)
 
 voila, that's all  !!!!
	A++  bLoRp
	    ^^^^^^^
greets: 
   -NeurO et sa page oueb qui reste LA source de documentation ;)
   -kickers, jump4, crifalo et kra qui font vivre la scene lyonnaise ;)
et puis Aaah qui m'tien compagnie sur le dalnet ;))    
j'oubliait cod4 qui publie cet article (putain il est fous ;))))
ps: desolez pour mon orthografe, mais j'en avait marre de perdre mon temps en
cours de francais :(
----------------------------------------------------------------------------
ou me voir: irc:#banane (on ircnet)
		#phreakfr ---->le best chanel de phreaking (non non j'fais 
	     poa de pub!!) <--sur dalnet humm pis sur #phe dalnet aussi :)
http://www.mygale.org/09/blorp/benhack.htm
ou forum eprat:  www.eprat.com
----------------------------------------------------------------------------
