This is some really nice ASCII-art, but what are the numbers around the edge?
We can see that the numbers and characters probably are hexadecimal. That is because they are numbers between 0-9 and letters ranging from a to f, just like hexadecimal numbers. What can these numbers be?
Maybe the numbers are characters (ASCII) written as hexadecimal? This is probably it, since no numbers are bigger than 7F. ASCII is characters represented as a byte. A byte can be written in many different ways, as 8 binary numbers, or as two hexadecimal numbers. The ASCII table spans from 0 to 7F, where each number is a character.
If we copy all the numbers straight from the art, like in the snippet below, ...
```4c 53 41 74 4c 53 34 67 4c 69 34 74 4c 53 30 67 4c 53 30 74 4c 53 30 67 65 79 34 74 4c 53 41 75 49 43 38 6776 49 43 34 67 4c 69 34 75 49 43 30 74 4c 53 41 76 49 43 34 75 49 43 30 75 49 43 38 67 4c 53 30 74 49 43 34 75 4c 53 41 75 4c 5376 49 43 34 67 4c 69 34 75 49 43 30 74 4c 53 41 76 49 43 34 75 49 43 30 75 49 43 38 67 4c 53 30 74 49 43 34 75 4c 53 41 75 4c 5376 03 35 c4 47 14 96 c4 57 43 34 94 67 14 96 c4 57 03 34 94 57 14 96 c4 57 03 34 94 57 14 96 c4 76 43 35 c4 14 96 c4 76 03 35 c4```
... and convert them from hexadecimal to characters, it simply returns gibberish. There is no flag in the result of the conversion, which we see below:
`LSAtLS4gLi4tLS0gLS0tLS0gey4tLSAuIC8杶IC4gLi4uIC0tLSAvIC4uIC0uIC8gLS0tIC4uLSAuL卶IC4gLi4uIC0tLSAvIC4uIC0uIC8gLS0tIC4uLSAuL卶35ÄG��ÄWC4�g��ÄW34�W��ÄW34�W��ÄvC5Ä��Äv35Ä`
There's probably more to this story than just copy pasta straight from the art. Lets try something completely different:
Could this be the-most-popular-weekend-programming-language: AsciiDots? We can see .---$'4c 53 and so on in the first line of the ASCII-art. If we follow the -,|,\ and /, we end up at &-'d3 . Just like the esoteric language AsciiDots.
If we run the ASCII-art as AsciiDots here, we get this output:
```4c 53 41 74 4c 53 34 67 4c 69 34 74 4c 53 30 67 4c 53 30 74 4c 53 30 67 65 79 34 74 4c 53 41 75 49 43 38 67 4c 53 34 674c 69 41 75 49 43 30 75 4c 69 41 75 49 43 30 75 4c 69 41 76 49 43 34 75 4c 69 41 74 4c 53 30 67 4c 53 30 67 4c 69 41 76 49 43 34 67 4c 69 34 75 49 43 30 74 4c 53 41 76 49 43 34 75 49 43 30 75 49 43 38 67 4c 53 30 74 49 43 34 75 4c 53 41 75 4c 53 34 67 4c 79 41 75 4c 53 34 75 49 43 34 75 49 43 34 75 4c 53 34 67 4c 69 42 39 49 41 3d 3d```
It seems like the AsciiDots web page may be a little unstable at times. The output should be in four rows, and there should only be pairs of hex numbers. If there are some groups of 3 or singles, then you should run it again.
It's even better to use try it online-Asciidots.
The hex values above might be the hex representation of ASCII. Now, if we convert it to the character (called the Unicode representation on Wikipedia), we get the following piece of text. You may also check this ASCII table:
```LSAtLS4gLi4tLS0gLS0tLS0gey4tLSAuIC8gLS4gLiAuIC0uLiAuIC0uLiAvIC4uLiAtLS0gLS0gLiAvIC4gLi4uIC0tLSAvIC4uIC0uIC8gLS0tIC4uLSAuLS4gLyAuLS4uIC4uIC4uLS4gLiB9IA==```Because of the padding == at the end this looks like a Base64 encoded string. Lets try to decode it:
```$ echo "LSAtLS4gLi4tLS0gLS0tLS0gey4tLSAuIC8gLS4gLiAuIC0uLiAuIC0uLiAvIC4uLiAtLS0gLS0gLiAvIC4gLi4uIC0tLSAvIC4uIC0uIC8gLS0tIC4uLSAuLS4gLyAuLS4uIC4uIC4uLS4gLiB9IA==" |base64 --decode- --. ..--- ----- {.-- . / -. . . -.. . -.. / ... --- -- . / . ... --- / .. -. / --- ..- .-. / .-.. .. ..-. . } %- --. ..--- ----- {.-- . / -. . . -.. . -.. / ... --- -- . / . ... --- / .. -. / --- ..- .-. / .-.. .. ..-. . }```Can this be the flag? Where's the TG20 part? It looks like morse code written as dashes and dots with / as space:
```- is T--. is G..--- is 2----- is 0```
Because { and } doesn't have a symbol in morse, we must translate the rest and rebuild the flag in the right format, TG20{...}, before we deliver.
`TG20{WE NEEDED SOME ESO IN OUR LIFE}```funfact:
`.-.-.- .-.-.- .-.-.-`is
... aka STOP STOP STOP in morse .