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.
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.
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.