You are on page 1of 21

Estudio de las Tarjetas telefnicas (T2G) de ANTEL Uruguay

Autor: Mr.EMU de email: phreackxxi@gmail.com



El objetivo de este documento es ESTUDIAR y llegar a comprender el funcionamiento
de estas tarjetas telefnicas en profundidad ,en especial su comportamiento frente a las
seales aplicadas al chip teniendo en cuenta todas las posibles rutinas que una
cabina puede llegar a aplicar a la tarjeta para detectar si se trata de una tarjeta original.

ATENCION: Personalmente no me hago responsable del mal uso que un
lector o un tercero pueda darle a la informacin contenida en este
documento. Tengan a bien recordar que el fraude a la telefona pblica
radica en un delito grave y fuertemente juzgado dependiendo del pas en el
cual se cometa dicho acto.
Por lo tanto aquellos que continen leyendo el presente documento quedan
debidamente avisados.
Tamao de la tarjeta segn ISO 7816:
(todas las medidas en milmetros)

La posicin exacta de los contactos de la tarjeta:
(todas las medidas de la frontera superior o izquierda de la tarjeta. Cada contacto debe
tener un tamao mnimo de 2 por 1.7 milmetros.








Contactos del chip segn norma ISO-7816:



Tipo ISO-7816-1/2 Tipo ISO-7816













Chips utilizados en Uruguay:


Modulo: G4 (rojo) Modulo: G5 (negro) Modulo: G6 (transparente)
Fabricante: GEMPLUS Fabricante: GEMPLUS Fabricante: GEMPLUS








Modulo: SC7 (8 contactos) Modulo: SC8
Fabricante: SCHLUMBERGER Fabricante: SCHLUMBERGER








Modulo: URU1 Modulo: URU2
Fabricante: NO CONFIRMADO Fabricante: NO CONFIRMADO








Caractersticas generales:

-Chip tipo SLE4436
-Alimentacin: +5V.
-Tipo de memoria: EPROM
-Mapa de memoria: 64 bytes (512 bits).
-Contador cclico de 511 pasos.
-Pin I/O en configuracin colector abierto.
-Al aplicar Vcc el contador se resetea por defecto y el primer bit del mapa est
presente en I/O.
-Los datos salen en cada flanco de bajada de la seal CLK
-Contador octal de 5 etapas

Protocolo de Comunicacin:

La comunicacin con la tarjeta se hace sobre 3 cables: RST, CLK e I/O. Las lneas de
RST y de CLK se denominan de control. El cable de I/O est reflejando el estado de la
clula de memoria en la EPROM, la cual seala el contador de direcciones. El contador
de direccin se poda incrementar solamente o resetear a 0. Es imposible la recarga de la
tarjeta, puede borrar bits solo en las rea del contador octal y reas de usuario I y II
Operaciones posibles:

Setear a 0 el contador de direcciones:
levantar y bajar CLK mientras que RST es 1.

Incrementar el contador de direcciones:
levantar y bajar CLK mientras que RST es 0.

"Write" escribir un bit (fijar a 0):
impulso en RST mientras que CKL es 0, seguido por impulso en CLK mientras que
RST es 0. El contador de direcciones no cambia. El "Write" es posible solamente en
algunas posiciones!

"WriteCarry" Escritura del bit con acarreo
Si se repite la secuencia "Write" dos veces en el mismo bit, se borra ese bit y el
contador ms bajo siguiente se llena hasta 11111111 (FFh). Por ejemplo si se realiza
este comando en el bit de la direccin 88, todos los bits a partir del 96 a 113 sern
fijados a 1. Es decir se cambi una unidad 8 en 8 unidades de 1. Esta operacin esta
permitida solo en algunas zonas del mapa de memoria y cabe destacar que si se realiza
en el ltimo byte del contador octal no tiene efecto y se comporta como un simple
Write

Caractersticas del chip empleado: SLE4436
El SLE4436 es un chip para las cards sncronas hechas por SIEMENS. Se utiliza
alrededor de todo el mundo en sistemas de phonecards modernos. Parte de sus
caractersticas ms importantes y su significado:
221 bit EEPROM y ROM programable por mscara de 16 bit
Los primeros 64 bits son el "rea de la identificacin" que podra ser codificado por el
fabricante de la tarjeta. Despus 40 bits preasignados al "rea de cuentas" (counter
rea). Adicionalmente el chip ofrece un espacio de 16 bit, direccin 112 a 127 ,como
"rea de datos del usuario". Los bits en este rango podran ser suprimidos pero en el
caso de Uruguay se utilizan para los dos bytes del checksum de la tarjeta. Una segunda
"rea de datos del usuario" de 64 bit es la direccin localizada en 320 a 383. que
pueden ser utilizados para una segunda llave de autenticacin
Contador hasta 33352 unidades completamente compatible con SLE 4406
Direccin 64 a 103.
Unidad de autenticacin de alta seguridad
La "unidad de autenticacin" es responsable del protocolo de challenge/response
descrito mas abajo. El SLE4436 necesita una llave 48-bit para generar una respuesta 16-
bit. Una llave secreta y el valor del "rea de cuentas" (counter rea) actual tambin
se utilizan en este clculo. Mas abajo se describe cmo enviar un desafo a la tarjeta y
leer la respuesta.
Proteccin para el transporte antes de su entrega
Esto se utiliza para evitar que la gente robe tarjetas al fabricante. Las tarjetas se pueden
abrir solamente con un cdigo especial.
Disposicin de las partes relevantes de la tarjeta protegidas contra anlisis
fsico/elctrico
No es tan posible (o por lo menos no fcil) examinar las partes de la tarjeta usando un
microscopio electrnico
Ejemplo de un mapa de memoria empleado en una tarjeta telefnica Uruguaya:



= rea de Identificacin
= rea del Contador
= Activa secuencia de Challenge/Response
= rea de datos del usuario 1 y 2

Cabecera:

La cabecera consiste en 64 bits, que son libremente programables por el fabricante de la
tarjeta. Esta rea contiene generalmente los datos de identificacin y del tipo de tarjeta,
fabricante del chip y nmero de serie de la tarjeta. La cabecera en este caso esta dada de
la siguiente manera:

E8 2B 66 10 : datos del fabricante del chip
E2 A0 18 68 : numero de serie de la tarjeta

El rea de cuentas (counter rea):

Esta rea contiene las unidades restantes en la tarjeta. Su valor inicial se programa en la
fabricacin de la tarjeta. El rea de cuentas se divide en 5 contadores de 8-bit. El
nmero de bits a 1 se multiplica por el valor del equivalente a su valor . Los contadores
tienen una equivalencia de 1, 8, 64, 512 y 4096 y para el caso citado sera:

00 07 7F 03 00 = $200

Octeto 9 Octeto 10 Octeto 11 Octeto 12 Octeto 13
valor binario 0000 0000 0000 0111 0111 1111 0000 0011 0000 0000
nmero de
bits
0 3 7 2 0
equivalencia
de un bit
8
4
= 4096 8
3
= 512 8
2
= 64 8
1
= 8 8
0
= 1
valor 0*409.6=0 3*51.2=153.6 7*6.4=44.8 2*0.8=1.6 0*0.1=0
valor total $ 200




El rea de activacion del protocolo Challenge/Response. Byte 13 (bit 110): (FF)
Por supuesto estas tarjetas tienen varias caractersticas de seguridad para prevenir abuso.
Por ejemplo una lgica simple evita que el contador pueda ser incrementado. Estas
tarjetas tambin cuentan con el protocolo challenge / response (semilla/respuesta) que
no est implementado en las cabinas uruguayas. Este protocolo se seguridad se utiliza
para determinar la autenticidad de la tarjeta:

1. El telfono calcula un nmero al azar y lo enva a la tarjeta
2. El telfono y la tarjeta ambos realizan un clculo secreto usando este nmero al azar.
3. La tarjeta enva el resultado de ese clculo de nuevo al telfono
4. El telfono compara el resultado de la tarjeta con su propio resultado
Solamente si ambos resultados son iguales, el telfono sabe que se esta comunicando
con una tarjeta "verdadera". Por supuesto que esto no es del todo real pues existe la
posibilidad de emular este funcionamiento de la tarjeta con un microcontrolador
programando el algoritmo correcto para el calculo en el microcontrolador y este lo
podemos obtener del modulo SAM alojado dentro de la cabina utilizando varios
mtodos que no vienen al caso mencionar , adems necesitaramos que la empresa de
telefona fomente el aprendizaje facilitndonos el modulo SAM de una cabina y si son
algo mas amables hasta nos podran dar una cabina o dejar que la tomramos prestada
jejeje. Bueno pero ese es otro tema.
Challenge/Response
Para activar el protocolo de challenge/response, proceder con los siguientes pasos:
1. Reset de la tarjeta (secuencia de RESET)
2. Pulso CLK 110 veces (hasta que est en la posicin 110)
3. Write - en el bit 110 (pulso RST y CLK)
4. Pulso CLK 177 veces
5. Setear el bit (1) del desafo (challenge)
6. Pulso CLK una vez
7. Repetir el paso 5 y 6 para los bits 2 a 48 del desafo (challenge)
8. Pulso CLK 160 veces
9. Leer el bit de la respuesta
10. Repetir el paso 8 y 9 para los bits 2 a 16 de la respuesta.
La respuesta depende del rea de la identificacin, del valor del contador actual y
del rea de datos del usuario 1 pero NO del rea de datos del usuario 2.
El rea de datos del usuario 1: (D8 41)
Esta rea de 16 bits descripta anteriormente en las tarjetas de Uruguay es utilizada por el
fabricante para los dos bytes del checksum de la tarjeta. Estos dos bytes son el resultado
de un algoritmo lgico que involucra los datos de la cabecera y en especial el numero de
serie de la tarjeta, adems el calculo tiene en cuenta las unidades iniciales del contador
para el caso de una tarjeta nueva. Por lo que en nuestras experiencias no se podr
utilizar un mapa de tarjeta de $25 por ejemplo y recargarla con un contador de $50 o
$100 porque la cabina la rechazara ya que al leer la tarjeta calcula y compara el
checksum con la tarjeta introducida. Por el contrario si se podr recargar una tarjeta de
$200 con un contador de menos unidades como por ejemplo de $100 ,$ 50 o $25.
Este algoritmo no puedo publicarlo por razones de seguridad ya que es muy til a la
hora de necesitar generar un mapa valido para la cabina.
El rea de datos del usuario 2: (FF FF FF FF FF FF FF FF)
Esta rea de 64 bits en las tarjetas uruguayas se deja a FF pero esa rea es de escritura
habilitada igual que la anterior. De todos modos posteriormente se dar el anlisis en
profundidad de cada byte de esta zona al igual que del rea de usuario1.

Ejemplos de mapas de memoria validos utilizados en Uruguay.

$5 Chip G4 $5 Chip G5 $5 Chip SC7 $10 Chip G4















$20 Chip G5 $25 Chip G4 $25 Chip SC8 $25 ChipURU1












$47 Chip G4 $50 Chip G4 $83 Chip SC7 $100 Chip SC7
















$100 Chip G4 $203 Chip SC7

















Diferentes valores de tarjetas emitidas en Uruguay:

$5, $10, $20, $25, $47, $50, $83, $100, $200, $203, $316, $500

Emisiones actuales (informacin actualizada a julio de 2006):

$25, $50, $100 y $200

Observacin importante: No se ha producido caducidad de ninguna de las
tiradas emitidas hasta el momento pese a que los valores oficiales de crdito sean
solo 4 en la actualidad.


Prueba y anlisis de escritura en diferentes zonas del mapa

Anlisis bit por bit y determinacin del comportamiento de las zonas del mapa
comentadas por byte. De aqu en mas cuando se hable de byte se entiende desde
el bit 7 al 0 de cada uno inclusive teniendo en cuenta que una lectura cclica se
efecta desde el primer bit del mapa hasta el ultimo valga la redundancia.

Nota: en el anlisis solo se tiene en cuanta la operacin de escritura y escritura
con acarreo y se entiende que la lectura en todos los casos especiales esta
habilitada por defecto en todos los bytes del mapa, pues as sucede.

Byte 0: Write o Writecarry en un bit a 0 o 1 solo produce incremento del contador.
Byte 1:

Byte 2: Write o Writecarry en un bit a 0 o 1 bloquea la tarjeta manteniendo el dato
Byte 3: sacado en I/O y solo sale de esto si Vcc = 0 o si se producen cualquiera de las
Byte 4: dos posibles operaciones de Reset de la tarjeta.
Byte 5: Se entiende que ante el primer Write ya se bloquea la tarjeta y el siguiente no
Byte 6: tiene efecto alguno sobre el contador.
Byte 7:

Byte 8: Write o Writecarry en un bit a 1 estn permitidos. En caso del Write, el 0
Byte 9: de confirmacin sale en el flanco de bajada de CLK. En un bit a 0 solo
Byte 10: incrementa el contador.
Byte 11:

Byte 12: Write o Writecarry en un bit a 1 estn permitidos pero este ultimo causa el
mismo efecto que un Write, o sea no se produce el llenado del siguiente
contador pues, ste es el ultimo byte del mismo.

Byte 13: FFh

Bit 104: Write o Writecarry en cualquiera de estos bits
Bit 105: produce Bloqueo y solo sale con cualquiera de los dos posibles
Bit 106: Reset de la tarjeta o bien con Vcc = 0.
Bit 107:

Bit 108: Write o Writecarry en estos bits solo produce incremento del
Bit 109: contador.

Bit 110: En este bit se produce la activacin de protocolo de seguridad
Pero cabe destacar que si no enviamos ningn bit al contacto I/O, la
tarjeta vera el 1 por defecto en el bit y si damos 384 pulsos de CLK
(177 + 47 + 160) I/O sacar el primer bit de la respuesta que es
lgicamente resultado del calculo de la tarjeta, luego el 2do bit de
la respuesta saldr luego de 160 pulsos mas de CLK en el flanco de
bajada de este ultimo. Por ende en la emulacin no podramos
realizar esto y solo tendramos el control real hasta el flanco de
bajada del pulso 383 de CLK que sabemos con certeza que es un 1.

Bit 111: Write o Writecarry en estos bits solo produce incremento del
contador.

Byte 14: Write habilitado pero Writecarry no. En un bit a 0 solo incrementa el
Byte 15: contador.

Byte 16:
Byte 17:
Byte 18:
Byte 19:
Byte 20:
Byte 21:
Byte 22:
Byte 23:
Byte 24: Write o Writecarry en uno de estos bits a 1 bloquea la tarjeta manteniendo
Byte 25: el dato sacado en I/O y solo sale de esto si Vcc = 0 o si se producen
Byte 26: cualquiera de las dos posibles operaciones de Reset de la tarjeta.
Byte 27: Se entiende que ante el primer Write ya se bloquea la tarjeta y el siguiente no
Byte 28: tiene efecto alguno sobre el contador.
Byte 29:
Byte 30:
Byte 31:
Byte 32:
Byte 33:
Byte 34:
Byte 35:
Byte 36:
Byte 37:
Byte 38:
Byte 39:

Byte 40:
Byte 41:
Byte 42:
Byte 43: Write habilitado pero Writecarry no. En un bit a 0 solo incrementa el
Byte 44: contador.
Byte 45:
Byte 46:
Byte 47:

Byte 48:
Byte 49: Write o Writecarry en uno de estos bits a 1 bloquea la tarjeta manteniendo
Byte 50: el dato sacado en I/O y solo sale de esto si Vcc = 0 o si se producen
Byte 51: cualquiera de las dos posibles operaciones de Reset de la tarjeta.
Byte 52: Se entiende que ante el primer Write ya se bloquea la tarjeta y el siguiente no
Byte 53: tiene efecto alguno sobre el contador.
Byte 54:
Byte 55:

Byte 56:
Byte 57:
Byte 58:
Byte 59: Write o Writecarry en estos bits solo produce incremento del contador
Byte 60:
Byte 61:
Byte 62:
Byte 63:

Anlisis de rutinas especiales aplicadas por las cabinas

Nota: para el anlisis de las siguientes rutinas se toma en cuenta una tarjeta con
el primer byte igual a E8h o sea 1110 0000 en binario en donde el 4to. Bit es un 0
(cero). Y tambin se tendr en cuenta que todas las seales parten desde 0 Seg. ,
pero se ha comprobado el mismo resultado de las mismas en cualquier
posicin relativa del mapa de memoria.
Recordar que al aplicar Vcc tenemos presente el primer bit en I/O.

Para una mejor comprensin de las mismas, las clasificaremos en dos grupos:
Rutinas de reset / lectura y rutinas de escritura.


A-Rutinas de RESET / LECTURA:


La primera rutina es conocida por todos a esta altura del documento pero la
incluimos por formalidad y para que puedan compararla y aclarar sus dudas.

Caso 1:




Aqu vemos claramente que el 4to bit sale en el ciclo de bajada del 4to pulso de
CLK.



Como variante tenemos el siguiente caso en el cual se invalidan los siguientes
pulsos de CLK por estar dentro de un pulso de RST




Caso 2:




Aqu por el contrario vemos que el 4to bit sale en el ciclo de bajada del 3er pulso
de CLK. Sin embargo esta operacin es un reset digamos que la segunda posible
operacin de reset de estas tarjetas y podramos decir que es un reset con la
diferencia de que el contador apunta al 2do bit en lugar de el primero despus de
la operacin.

Para aclarar dudas veamos que pasa por ejemplo si aplicamos esta rutina en una
posicin relativa del mapa como por ejemplo el 11vo bit que es un 1. O sea E8
2B = 1110 0000 0010 1011


Como podemos observar, primero se produce un reset normal y el contador
avanza al 2do bit, luego al 3ro y asi sucesivamente, pero en el 11vo bit al aplicar
la otra rutina, el contador se resetea y apunta al 2do bit como habamos visto
antes por lo que luego de aplicar dos pulsos de CLK nos encontramos con el 4to
bit de la tarjeta.

Como caso especial vemos que si en plena lectura de la cabina y estando en el
2do bit si se aplica reiteradas veces la rutina que hemos visto arriba , o sea si se
dan pulsos de CLK con pulsos de RST dentro, se tendr como consecuencia la
invalidacin de los pulsos de CLK sin importar la cantidad aplicada.O sea:




Caso 3:





Esto no es mas que una lectura sin Reset, y es totalmente valida ya que al aplicar
vcc desde 0 Seg. el primer bit sale por defecto.

Situaciones especiales:


Como vemos, si baja Vcc en cualquier posicin del mapa de memoria, el
contador se resetea y tenemos en I/O de nuevo el primer bit de la tarjeta.


Caso 4:








Como podemos observar en este caso al subir RST , la lnea I/O no baja como
debera ya que Vcc = 0


Caso 5:





En este caso vemos que los pulsos de RST que se aplican entre pulsos de CLK no
tienen efecto en el contador de direcciones y solo actan bajando la lnea I/O si el
dato en cuestin es un 1


Caso 6:





En este caso observamos la subida de RST antes que CLK pero hay que destacar
que despus que la bajada de RST se produce antes de la bajada de CLK o bien
al mismo tiempo como podemos ver en el ultimo de los diagramas pero en
absolutamente todos los casos se trata de una lectura sin reset.
Esto es relevante a la hora de programar un cdigo para un emulador de este tipo
de chip pues absolutamente todos los cdigos que he visto publicados en la web
no tienen en cuenta esta situacin y reaccionan ante esta como si se tratase de un
reset y solo se cumple en el primer bit pues en cualquier otra posicin del mapa
de memoria solo hace avanzar el contador como si se tratara de una simple
lectura. OJO!!!




Caso 7:




Este caso es un derivado del anterior y de la misma forma la tarjeta se comporta
como si se tratara de una simple lectura sin reset pese a que RST y CLK suben en
simultaneo.


Caso 8:


Este a mi manera de ver es la rutina ms importante ya que se trata de un reset
especial y acta en cualquier posicin del contador pero tiene un comportamiento
particular en I/O. A la hora de programar esto se torna bastante difcil teniendo
en cuenta los tiempos que manejan las seales en un caso real. Pero para los que
estamos familiarizados con micros, siempre hay una manera de lograrlo desde el
cdigo jejejeje.





Como vemos RST sube despus de CLK pero a diferencia del caso anterior, la
bajada del mismo tambin se produce despus de la seal CLK y como
consecuencia conduce al reset del chip de la tarjeta. Pero si observamos la lnea
I/O vemos que no espera la bajada de RST para subir de nuevo. Esta rutina
tambin tiene accin en cualquier posicin del mapa y se debe tener en cuenta
justamente esto a la hora de emular el funcionamiento del chip pues hasta ahora
habamos visto que I/O responda ciegamente a la lnea RST y ac se rompen las
reglas.

En conclusin: Siempre que la lnea RST descienda despus de CLK se produce
un RESET sin importar cual de las lneas subi antes.




B-Rutinas de ESCRITURA:


Caso 1:





En este caso observamos un proceso correcto de escritura dentro del rea del
contador octal, en el ltimo byte del mismo y se ve como el dato escrito sale en
el flanco de bajada de la seal de CLK. Tambin se ve como el siguiente pulso de
CLK incrementa el contador de direcciones.


Caso 2:





Como se ve si estamos situados dentro de un bit del contador octal, en este caso
el bit 101 que es un 1, si realizamos una operacin de escritura en la que el pulso
de CLK seguido del de RST es interrumpido por un pulso de bajada y rpida
subida de Vcc , observamos que el bit es escrito pero la tarjeta se resetea y tiene
en cuenta el pulso de CLK que est arriba al restaurarse Vcc y lo toma como el
primer pulso que lleva a I/O a sacar el 2do bit de la tarjeta.
En conclusin, la escritura se lleva cabo correctamente solo que para comprobar
el dato, la cabina deber aplicar nuevamente 109 pulsos de CLK, con esto
destacamos que la escritura de un bit del contador octal se efecta en el flanco de
subida del pulso de CLK que sigue al de RST , siempre y cuando Vcc este arriba
al momento de subir CLK. De no cortarse Vcc , el dato escrito ( un 0 ) sale por
I/O en el flanco de bajada de CLK.
Tambin hay que destacar que si se trata de un Writecarry, o sea una doble
operacin de escritura seguida, y se corta vcc en la misma situacin +, el acarreo
se producir correctamente pues sucede en el flanco de subida de CLK igual que
la escritura.

Caso3:



Esta es la misma escritura del caso anterior pero ac sucede que despus del
pulso de RST, ambas lneas suben juntas de nuevo pero esto no causa ningn
efecto adverso y la escritura se lleva a cabo correctamente saliendo el dato escrito
en el flanco de bajada de CLK como habamos visto antes.


Velocidad de operacin de la tarjeta:

Como sabemos, se trata de una memoria EPROM por lo que la velocidad de
operacin puede llegar a ser extremadamente alta sin causar defecto alguno en la
operacin de la tarjeta.
La operacin de lectura puede ser muy alta, como ejemplo cito el caso de una
cabina que analice personalmente y me encontr con periodos de la seal de CLK
de 750 Seg. y duraciones del pulso de 60 seg en alto y pulsos de RST de 140 seg
desfasados entre flancos de subida en un tiempo de apenas 40 seg con respecto a
la seal de CLK y cranme que estas cabinas no son tan rpidas como otras que
me he encontrado generalmente del fabricante SCHLUMBERGER.


En cuanto a la escritura, la tarjeta es un poco ms exquisita y requiere al menos de
5 ms de tiempo para consumar el hecho. Aunque en las cabinas se extiende este
tiempo un poco mas para asegurarse de no causar errores en la escritura de la
tarjeta. Por lo que si tenemos pensado emular, debemos tener en cuenta esto, ya
que cuanto mejor programemos el cdigo, mas tiempo tendremos en cada
operacin de escritura para poder ejecutar otras operaciones mientras la cabina
escribe, entindase algn calculo de posicin del contador octal para ir calculando
un nuevo serial valido, una recarga si es que hemos escrito el ultimo bit del
contador o cierto valor, etc etc etc. En fin, a buenos entendedoreslas palabras
sobran.
Solo djenme decirles que echen manos a algn microcontrolador capaz de
ejecutar una instruccin por ciclo de reloj y en cuya arquitectura los tiempos de
escritura en eeprom no sean constantes y se puedan modificar con la fuente de
oscilacin como por ejemplo los AVR de ATMEL, no quiero decir con esto que
sean los nicos capaces de hacerlo, porque no es as, hay para todos los gustos,
lindas, feas, fieras, con dientes, sin ellos .. jejejeje. En fin.
Lo que si les dir es que hace bastantes aos ya, emulando una TG1 en una cabina
que manejaba estos tiempos mencionados y teniendo un PIC fabricado para correr
a 20 mhz trabajando con HS overclockeado con cristal de 36 mhz y alimentado con
batera externa para que el oscilador entre en rgimen y se quede esperando por
CLK sin joderme la vida con el tiempo start-up del oscilador, de 20 cabinas
probadas, solo logr que me de saldo en 3 de ellas y no el saldo correcto sino menos
y a la hora de descontar saldo FALLABA (cortaba la llamada por falta de tiempo),
y ojo, trabajando en registros de RAM y eso que estoy hablando de un pic de la
gama alta !!!!!!!
Fue as que migr el mismo cdigo para un MICROCONTROLADOR de otra
casa y de otra arquitectura y el triple mas pequeo que el que mencion antes
(o sea un microcontrolador con maysculas) y logre que me anduviese el emulador
en absolutamente todas las cabinas, adems trabajando con oscilador RC.
El oscilador interno que tambin lo tenia trabajaba a 9.6 Mhz , o sea 9.600.000
millones de instrucciones /seg tiene el problemita de que arranca de todos modos si
llegan 5V a alguno de los pines del micro sin estar alimentado Vcc.



Y esto no es nada bueno debido a las rutinas que hemos analizado antes,
seguidamente vemos ilustrado este ejemplo en un circuito con un micro AVR de
Atmel de la gama enana (ATtiny13) operando con osc. RC interno.





























Como observamos arriba, el circuito propuesto jams pasara la prueba de
autenticidad ante la rutina en cuestin, ya que al bajar Vcc de la cabina, el micro
seguira trabajando alimentado por los 5v de la lnea CLK mientras la misma est
arriba, a diferencia de la tarjeta original que ante esta rutina producira un
exquisito, rpido y afianzado RESET

A diferencia de los pic, este problemita no se puede solucionar con un diodo en
directa a Vcc del micro. Vase el siguiente ejemplo:













Como vemos arriba, al caer Vcc de la cabina a 0, y al estar energizado Vcc del
micro a travs de algn puerto del micro (RST o CLK), estos 5 v no llegar al pin
MCLR de reset gracias al diodo conectado en directa a Vcc del micro y por ende
este no arranca.

En mi caso trabajando con AVR, la nica solucin era aislar las entradas con
transistores bipolares pero era un tanto irritante a la hora de construir el hard ,
as que opte por el diodo a Vcc pero si o s trabajando con el osc. RC externo (ojo,
el micro ilustrado arriba no tiene la posibilidad de operar con oscilador RC
externo) ya que de esta forma por mas que lleguen 5 v a alguna pata del micro y
esta tensin llegue a Vcc del micro a travs del circuito interno del micro , este
ultimo no arrancar debido a que debe energizar la R conectada tambin a Vcc
pero esto no es posible ya que el diodo le impide hacerlo (solo lo permite en directa
, o sea con Vcc desde la cabina) adems con la correcta configuracin de ciertos
registros del micro , llevan a este a trabajar a 12 Mhz (tambin 1 ciclo
/instruccin) y con un retardo de apenas 4.1 ms para empezar a dar por culo con
I/O como diran los gallegos. Jejeje .
Me olvid de mencionar que dichos registros tambin son capaces de modificar en
mayor o menor porcentaje la velocidad de escritura y acceso a eeprom interna del
micro.
Bueno gente, espero que les haya servido de algo todo esto, cualquier cosa me
consultan al correo, me interesa compartir experiencias con los phreack del
planeta y los que me escriban pidindome cdigos hechos, abstnganse y sintense
a estudiar que con ganas todo se puede, cranme que es as.

NOTA: Por cierto, me olvide de mencionar que los PICS (Pedazo de Circuito
Integrado Sarnoso), solo los hago trabajar en un despertador electrnico que
tengo, pero ojo, lo pongo una hora antes de lo estimado porque se tardan un
poquito en activar el rele de la chicharra, jejejeje sin ofender a nadie claro.

No gente, de verdad, esto va enserio, como puede ser que un microcontrolador con
tantas bondades y funciones como ser convertidores A/D, PWM, DSP y otras
caractersticas, se tarde 72ms como min para empezar a correr el programa y eso
mencionando que estamos trabajando con oscilador RC externo, cranme que es
una verdadera vergenza para estos micros.

Por ultimo quiero reconocer el crdito merecido a ciertas personas que en su
momento han aportado interesantes avances como ser Mr.FLower, Cartman, etc
etc. Creadores de excelentes cdigos que en su momento trabajaban bien
emulando una T2G, claro est que esta gente se bas en logueos y ciertos anlisis
en concreto de las rutinas clsicas aplicadas en las cabinas. En este punto quiero
aclarar que muchos emulatas en diferentes foros y comunidades se plantan a
probar cdigos ya hechos o basan los emus en ellos, y cuando no les andan, en vez
de sentarse a escribir un cdigo que trabaje 100 % como lo hace una tarjeta
original, se sientan a perder tiempo y programar un loguer. Cranme que no es
necesario gente, Estos cdigos en los cuales uds. se basan anduvieron bien en su
momento en los pases de los creadores y en otros tambin pero las empresas los
conocen pues son de libre distribucin y francamente estn lejos de operar como lo
hace un verdadera tarjeta, pues le faltan muchas rutinas para lograrlo y opino que
antes de invertir tiempo en disear un loguer traten de corregir esos cdigos y de
enriquecerlos para que puedan operar como lo hace una verdadera tarjeta.

Por este mismo motivo no publicar ningn cdigo ni tampoco ningn circuito
propuesto y menos que menos dir que micro empleo ni como hago para que mis
diseos sean inmunes a los detectores de metales de las cabinas, pues no pienso
trabajar para que un grupo de salames de las empresas se dediquen a hacer
pruebas sobre el diseo y encuentren como bajarlo (como ha pasado con los
cdigos publicados libremente), que desde ya les aviso que ser una tarea difcil
pero por mas que est excelentemente programado y diseado, hay ciertas cosas
contra las que no se puede hacer nada como por ejemplo la tensin de
alimentacin de las tarjetas en funcin de la operatividad, ya que hay ciertas
franjas de operacin en las que se define el 1 y el 0 lgico para la tarjeta y la cabina
y cuando y con que tensin la cabina ve un 1 o un 0, este tipo de ajustes lo he
probado y trabajando dentro de esa mencionada franja es difcil emular el mismo
comportamiento con un micro pero tambin es difcil andar modificando el hard
de cada cabina de las calles para que trabajen de cierta manera y rechacen los
emuladores. Adems para eso se debera conocer contra que micros enfrentarse,
por eso no publico mis diseos!!! QUE FUNCIONAN EN TODA
LATINOAMERICA EN DONDE NO SE USA CHALLENGE RESPONSE.
Bueno, mejor no digo mas nada, no sea que ciertos giles se avispen.

Importante: Esta anlisis tambin es valido para tarjetas telefnicas de otros
pases como: Bolivia, Chile, Cuba, Venezuela y Colombia entre otros,
aunque algunas de estas tienen mapa de 128 bits y otras pequeas
diferencias pero sin embargo todas ellas se comportaron de la misma forma
ante el anlisis de laboratorio.


Mr.EMU
phreackxxi@gmail.com



Si le das un pescado, le quitas el hambre un da....
si le enseas a pescar, le salvaras la vida....!



Hardware y software empleado en las pruebas:

-Lector Smartlab1.08 con hardware modificado para tener control sobre la seal
Vcc y poder subir y bajar las lneas RST y CLK en simultaneo.
http://www.gsho.de/phonecard

-Lector Smart W/Reader v 3.0 by Kolio, a mi juicio lo mejor que he visto en la
red en la ltima dcada, adems es compatible con el hardware del Smartlab.
Si lo precisan y no logran encontrarlo en la red, me lo piden que se los paso con
todo gusto.

You might also like