CTF | wargame

abctf16 / yummi (baconian 암호)

nopdata 2017. 3. 9. 11:18
문제는 사진 파일이 하나 주어진다. 9x10의 크기를 지니며, 흰색과 검정색 점으로 이루어져 있다. 8비트로 짜를 수 없고, 어떻게 해야 하나 하다가 파일 이름이 baconian이라는 것을 보고 어떤 암호가 아닌가 싶어 구글링을 해 보니 baconian 암호가 존재하였다.


a : AAAAA, b : AAAAB... 이런 식인데 상상이 냈던 암호 문제와 동일하고 hack-me에서 풀었던 문제와 같은 베이컨 암호였다.

뭐 가끔 나오긴 하지만 앞으로도 풀 일이 있을 수 있으니 이전에 만들었던 morse코드를 변경하여 작성하였다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PIL import Image
import baconian
img = Image.open('baconian.bmp')
 
res = list()
 
for x in range(img.size[0]):
    tmp =""
    for y in range(img.size[1]):
            pixel = img.getpixel((x,y))
            if pixel == (0,0,0):
                    tmp += "A"
            else:
                    tmp += "B"
            if len(tmp) == 5:
                res.append(tmp)
                tmp = ""
 
for ch in res:
    print baconian.decrypt(ch),
 
# abctflovesbaconian

flag : abctflovesbaconian