txt파일이 주어진다. 파일안에는 (255,255,255)... 이런 식을 픽셀 값이 저장되어 있는 텍스트가 주어진다.
시작부분을 보면 친절하게 [ ]로 묶여있다.
파이썬에서 바로 리스트 형태로 만들어 놓고 png로 변환하라는 의미로 알고 PIL을 이용해서 이미지를 만들었다.
문제는 만들기 위해서는 배경판의 가로 세로 크기를 정해야 하는데 이는 주어진 텍스트 데이터 픽셀의 크기를 보고 알 수 있다.
총 528601이므로 %연산자로 나누어서 떨어지는 569*929가 된다. 가로 길이는 929, 세로길이는 569로 해 주어야 한다.
사용한 소스코드는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
from PIL import Image
import os
data = eval(open('abc.txt','r').read())
res = Image.new("RGB",(929,569),(200,200,200))
cnt = 0
for y in range(0,569):
for x in range(0,929):
res.putpixel((x,y),data[cnt])
cnt += 1
f = open('output.png','wb')
res.save(f)
f.close()
os.system('output.png')
|
cs |
flag : flag{Pil_PIL_PIL}
'CTF | wargame' 카테고리의 다른 글
Alexctf / poor rsa (공개키를 이용한 rsa 개인키 복호화) (0) | 2017.03.11 |
---|---|
codegate 2017 / RamG-thunder (우회 리버싱) (0) | 2017.03.10 |
nullcon17 / Crypto Question 2 (Diffie-Hellman key 교환) (0) | 2017.03.10 |
nullcon17 / Misc 1 (숨겨진 flag찾기, script 난독화 언어) (0) | 2017.03.10 |
nullcon17 / Misc 2 (ext artifact분석, unxz, extundelete) (0) | 2017.03.10 |