Menú principal

lunes, 28 de agosto de 2017

Analizando el código detrás de las tarjetas de regalo de Apple (1/2)

Apple es conocida por poner la máxima atención incluso en los más pequeños detalles. Las tarjetas regalo o de promoción de Apple para por ejemplo, iTunes, tampoco iban a ser una excepción. En este caso veremos como funciona el sistema de reconocimiento y validación de dichos códigos. Es un sistema realmente interesante ya que sólo se utiliza la cámara y ciertas características de los tipos de letra utilizados para poder reconocerlos.

Los códigos consisten sólo en una cadena de números y letras en mayúsculas. El método de lectura es realmente sencillo, simplemente abrimos la aplicación correspondiente (iTunes, iBooks, etc) y utilizamos la cámara para canjearlos. Entonces ¿cómo puede Apple validarlos simplemente con la cámara? 

Al parecer, la aplicación que reconoce dichos códigos se basa en dos parámetros: la cadena alfanumérica antes mencionada y la caja/marco que la rodea. La aplicación entonces analiza el texto dentro de la caja y se activa solo si el sistema encuentra unas características especiales en el tipo de letra. Para la prueba, los autores de esta PoC tenían que encontrar el tipo de letra con el cual se generan esos códigos. Lo intentaron de diferentes maneras sin éxito, el tipo de letra no era uno de los habituales, está diseña se forma exclusiva para generar los códigos. 


Figura 1. Proceso de escaneo de los códigos y su formato. Fuente.

Así que el siguiente paso es analizar las características de las letras de este tipo de letra y  probar con tipos parecidos como Mónaco y Courier, pero finalmente no tuvieron éxito. A continuación se pueden ver las características más notables que diferencian este tipo de letra del resto:


Figura 2. Detalle del formato del tipo de letra utilizado para los códigos. Fuente.

La primera pista sobre este tipo de letra misterioso apareció en la misma aplicación de reconocimiento, ya que esta muestra una capa superpuesta con el código reconocido. Por lo tanto, el tipo de letra tendría que estar almacenado en alguna parte de la aplicación. En efecto, el tipo de letra se encuentra dentro de la misma aplicación pero no es fácil de encontrar. 

Figura 3. Capa o marco superpuesto con el código dentro de la aplicación iTunes. Fuente.

Las pruebas para localizarlo se realizaron en la aplicación de iTunes. Dentro de dicha aplicación existen varias ubicaciones y componentes como un plugin llamado CodeRedeemer  los cuales son candidatos a almacenar los tipos de letras buscados. Pero la búsqueda acabó sin éxito, los tipos de letras no se encontraban dentro de la aplicación iTunes analizada. 

Finalmente, la fuente de letra o las fuentes de letra (la aplicación utiliza dos) se localizó en una ubicación del sistema , en concreto en la carpeta:

/System/Library/PrivateFrameworks/CoreRecognition.framework/Resources/Fonts/

Y los dos ficheros con los tipos de letra se llaman:
  • Scancardium
  • Spendcardium

Figura 4. Ubicación de los tipos de letra

Con hacer doble click, instalaremos dichos tipos de letra en nuestro sistema para poder utilizarlos posteriormente, como veremos en la segunda parte de este artículo, con nuestra aplicación favorita como Sketch, Keynote o Filemaker

1 comentario:

  1. Very helpful advice in this particular post! It’s the little changes that make the largest changes. Thanks for sharing!

    ResponderEliminar

Entrada destacada

Proteger tu cuenta de Google y de Gmail con Latch Cloud TOTP #Latch #Gmail #Google

La semana pasada se liberó la nueva versión de Latch y nuestro compañero Chema Alonso hizo un repaso de todo ello en su artículo Latch...

Otras historias relacionadas

Entradas populares