Tags: crypto 

Rating:

# basic-numbers (50)

## Problem

We have a raw flag here, but what do we do with it?

```
01100010 00110001 01101110 01100001 01110010 01111001 01011111 01110011
00110000 01101100 01110110 00110011 01100100 01011111 01100111 00110000
00110000 01100100 01011111 01110111 00110000 01110010 01101011
```

## Solution

This is a simple binary to ASCII conversion. The binary needs to first be converted to integers, which can then be converted to ASCII characters.

For example, 01100010 has "on" switches (1) at bits 1, 5, and 6 (going from right to left, starting with 0). Therefore, its integer value is equal to 2^6 + 2^5 + 2^1, or 98. 98 is the decimal equivalent of the character "b" in ASCII.

```
01100010 -> b
00110001 -> 1
01101110 -> n
01100001 -> a
01110010 -> r
01111001 -> y
01011111 -> _
01110011 -> s
00110000 -> 0
01101100 -> l
01110110 -> v
00110011 -> 3
01100100 -> d
01011111 -> _
01100111 -> g
00110000 -> 0
00110000 -> 0
01100100 -> d
01011111 -> _
01110111 -> w
00110000 -> 0
01110010 -> r
01101011 -> k

b1nary_s0lv3d_g00d_w0rk
```

If course, you could just use an online converter, but that takes away the fun.

Original writeup (https://github.com/shawnduong/ctf-writeups/blob/master/2019-BCA/crypto/basic-numbers.md).