HACKvent 2015: Day 7
Challenge
Clue: Imagine your quick response for today.
0x1fc137f82a7a0dd05d76ebbcbb74815d82c720ff555fc018801f78baaf93c051d55e46346fd16dd457f54451df65fcec3a493768ffc00948aff4154e090627753ffebafa7ddd568860a87a3fd88eb
Solution
This challenge was very easy to solve as I had completed the teaser earlier.
First I convert the hexadecimal number provided (as it starts with 0x) to binary.
The result is 625 bits (which does not divide nicely by 8 so it is probably not an ASCII message).
However, its likely to be a QR code version 2 which is 25x25 = 625 pixels large.
In this case, every 1 corresponds to a black pixel and every 0 corresponds to a white pixel.
This is obvious by arranging the bits into a 25 by 25 grid and adding some spacing:
1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1
1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1
1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1
1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1
1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1
1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1
1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0
1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0
0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1
1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0
1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1
1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1
1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1
1 0 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1
1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1
1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1
1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1
1 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0
1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1
1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 1
1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1
1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 1
I use the same script I used in the teaser (link) to generate a QR code.
This is the QR code generated (enlarged to 350px * 350px):
We scan the QR code using a really clever online scanner (link) that has some extra error correcting capabilities (compared to other QR readers).
We get the flag:
HV15-aFsf-4ea1-2eGg-Llr4-pB5A