sCTF.io 2016 Q1 // Verticode (90 points)

328

This challenge had us decode an image. The decoding method was given to us, and went as so.

The code was made up of many rows. On the left side of each row was a colour. On the right side was a 7 digit binary segment. To get the letter that a certain row represented, you had to turn the binary into a decimal number, convert it from ascii to a letter, and offset that letter by the colour. Let’s do that in steps.

Here is a representation of a row;

YELLOW 1001110

First let’s translate the binary to a decimal.

1001110 = 78

Second, let’s look at the colour table that was provided in the question.

0 = Red
1 = Purple
2 = Blue
3 = Green
4 = Yellow
5 = Orange

Now we need to offset 78 by 3, and the instructions tell us that we should subtract.

78 – 4 = 74

Now we just need to convert it to ascii.

ASCII of 74 = J

Now we just need a program to do this. We made one inside of processing. Here are the files used;

Verticode

After running that, we got a good chunk of text;

And in the middle, found;

ABCiamtheflagalllowercasenojokeDEF

So we submitted the flag;

sctf{iamtheflagalllowercasenojoke}

And got 90 points.