En este post la solución a uno de los retos de codificación de la plataforma RingZer0 Team.
Este reto tiene el título "Ask your grandpa!" y mi valoración sobre su dificultad es: ★★☆☆☆.
En este reto sólo nos dan un archivo jpg que contiene una imagen de una tarjeta perforada.
En concreto, la tarjeta de este reto tiene 80 columnas (en las siguientes imágenes se ha recortado para que se aprecien mejor las perforaciones y su significado) y es la siguiente:
Antes de intentar leerla, conviene recordar que tal y como nos cuenta Wikipedia en el enlace anterior: "Las 10 posiciones inferiores representaban (de arriba a abajo) los dígitos del 0 al 9. Las dos posiciones superiores de una columna eran llamadas perforación de zona 12 (superior), y perforación de zona 11".
Una columna con dos perforaciones, una en la zona [12,11,0] + otra en la zona de dígitos [1-9], era una letra; una columna con una perforación en la zona de dígitos [0-9] era un dígito; una columna con otras perforaciones concretas diferentes a las indicadas era un carácter especial (por ejemplo: [2]+[8] = ":"; [0]+[3]+[8] = "," ; etc.).
Es decir, tal y como se puede ver en la siguiente figura, la primera columna, con una perforación en la zona [12] + una perforación en el dígito [1], sería la letra "A"; la segunda columna, con una perforación en la zona [12] + una perforación en el dígito [2], sería la "B"; etc.
Solución: en primer lugar, a partir de la explicación dada anteriormente, soluciono este reto de forma manual, y en un post siguiente lo haré mediante un script de python.
Por tanto, la solución a este reto es: FLAG-B493801CDB-831ABDDFA628AC31.
Este reto tiene el título "Ask your grandpa!" y mi valoración sobre su dificultad es: ★★☆☆☆.
En este reto sólo nos dan un archivo jpg que contiene una imagen de una tarjeta perforada.
En concreto, la tarjeta de este reto tiene 80 columnas (en las siguientes imágenes se ha recortado para que se aprecien mejor las perforaciones y su significado) y es la siguiente:
Antes de intentar leerla, conviene recordar que tal y como nos cuenta Wikipedia en el enlace anterior: "Las 10 posiciones inferiores representaban (de arriba a abajo) los dígitos del 0 al 9. Las dos posiciones superiores de una columna eran llamadas perforación de zona 12 (superior), y perforación de zona 11".
Una columna con dos perforaciones, una en la zona [12,11,0] + otra en la zona de dígitos [1-9], era una letra; una columna con una perforación en la zona de dígitos [0-9] era un dígito; una columna con otras perforaciones concretas diferentes a las indicadas era un carácter especial (por ejemplo: [2]+[8] = ":"; [0]+[3]+[8] = "," ; etc.).
Es decir, tal y como se puede ver en la siguiente figura, la primera columna, con una perforación en la zona [12] + una perforación en el dígito [1], sería la letra "A"; la segunda columna, con una perforación en la zona [12] + una perforación en el dígito [2], sería la "B"; etc.
Solución: en primer lugar, a partir de la explicación dada anteriormente, soluciono este reto de forma manual, y en un post siguiente lo haré mediante un script de python.
Por tanto, la solución a este reto es: FLAG-B493801CDB-831ABDDFA628AC31.
Comentarios
Publicar un comentario