Está en la página 1de 4

Estimados:

Veo que quieren intercambiar sectores con saldo, as que creo que es hora de ensearles la
estructura para que los fabriquen ustedes. Partamos por donde se encuentra el saldo. El saldo
en las tarjetas mifare usualmente se guarda en estructuras diseadas especialmente para
este tipo de usos. Estas estructuras se llaman value blocks. Permiten que el lector y la tarjeta
se comuniquen con comandos extras como incrementar o disminuir, cosa que el resto de los
sectores no hace ya que slo se escriben encima. Transantiago no los usa de esta forma, pero
no es el punto de este post explicar eso si no como construirlo. Ahora para la tarjeta existen 3
value blocks y los podemos identificar por un color medio amarillo que entrega MCT.

En nuestra tarjeta los sectores con esta estructura son los sectores 6, 7 y 8.
En la foto slo muestro el 8 ya que es el nico que se utiliza y donde se guarda nuestro saldo.

Ok entonces veamos un poco la estructura:


El sector tiene 4 lneas, pero a estas lneas las llamaremos bloques.
El bloque 0 es el primero y el bloque 3 es el ltimo.
Podemos ver que en el bloque 0 no hay nada y en el bloque 1 y 2 est lo que buscamos.
Entonces veamos cada bloque tiene un total de 32 caracteres. Estos caracteres los vamos a
agrupar de a pares y los llamaremos bytes. Entonces tenemos 16 bytes en cada bloque.

Ahora escribir la lnea, que son iguales de todas formas separadas en sus respectivos bytes:

A8 61 00 00 57 9E FF FF A8 61 00 00 21 DE 21 DE

Ok ahora que tenemos esos analicemos:

Fijense que marque de color rojo algunos bytes, es porque los primeros 4 bytes y los bytes 9,
10 11 y 12 son los que contienen el saldo.

A8 61 00 00

Ah est, pero para poder leerlo vamos a invertirlo:

00 00 61 A8

Ok si utilizamos una calculadora que transforme de decimal a hex el numero que vemos da :
25.000
Entonces ese saldo corresponde a ese valor.

Y como generamos el resto? Bueno es sencillo. Veamos los bytes 5 6 7 y 8.


Esos son el nmero inverso a nuestro saldo.
Me explico:
Nuestro saldo es

A8 61 00 00

Y vemos que en la mitad se genera:

57 9E FF FF

Entonces para generar eso debemos saber un poco de la numeracin hexadecimal.


Usualmente usamos nmeros en base 10. Bueno hexadeciamal es base 16. Los valores que
necesitamos saber son los siguientes:

0=0
1=1
2=2
3=3
4=4
5=5
6=6
7=7
8=8
9=9
A=10
B=11
C=12
D=13
E=14
F=15

Bueno sabiendo eso volvere a los nmeros que tenamos:


Este es mi saldo: A8 61 00 00
Y este es su valor inverso: 57 9E FF FF

Se genera de la siguiente forma: Tomemos el primer byte A8

HEX DECIMAL

Entonces restamos cada letra F - A = 5 --------- 15 - 10 = 5


F - 8 = 7 --------- 15 - 8 = 7

Entonces del byte A8, generamos el byte 57

Seguimos con el byte 61: F - 6 = 9 --------- 15 - 6 = 9


F - 1 = E ---------- 15 - 1 = 14

Y as el byte 61 genera al byte 9E

Y as podemos seguir hasta generar todo. Ahora nos falta lo ltimo.


Vemos que dice:

21 DE 21 DE
Esto no corresponde ningn nmero si no que a una direccin MAC. Esto slo lo vamos a
escribir, pero se genera de la misma forma que lo anterior. DE es el inverso de 21 y se repite
lo mismo.
Listo acaban de generar un bloque de saldo.

Cmo saber si est bien?


MCT lo marcar de color amarillo si el bloque se construy correctamente.
Adems si revisamos el dump en el editor, y vamos a opciones en la esquina superior derecha
(esos tres puntos que se ven) vemos que una de las opciones que se despliega es Value
Blocks como Ints. Si miramos nuestro bloque 8 podemos ver que nos dice el saldo que
colocamos. En este caso debera decir 25000.

Puedo hacerlo ms fcil?


s! abre MCT y ve a herramientas, es el botn justo al lado del botn ayuda.
Luego nos vamos a De - Codificador de Value Block
Al ingresar veremos esto:

En VB como Int: Colocaremos el valor. En nuestro ejemplo es 25000


En Dir: Colocaremos 21
Luego presionamos Codificar y listo! Tenemos la lnea completa. Recordemos pegar esta lnea
en nuestro dump en el sector 8, bloque 1 y 2.

Disculpen lo largo del post.

Esta estructura se mantiene. Lo nico que a cambiado con el update que hicieron es la ltima
parte, el 21 DE 21 DE ya no es siempre el mismo. Pero esta estructura an sirve.
A veces si analizan sus dumps podrn ver valores que no corresponden a su saldo o una
muestra de un valor negativo y es porque activan un bit que est relacionado con el
transbordo as que no se preocupen.

Me han pedido por pv informacin sobre como cambiar el UID y que tarjeta conviene ms. Les
informo que no es tan sencillo como llegar y cambiar el nmero pero en algunos das quizs
suba un tutorial sobre como hacerlo.

Saludos.

También podría gustarte