Wargame/CTF-d
[CTF-d](Multimedia) 브리타니아의 원더랜드… (100)
광팔2
2021. 1. 13. 22:28
반응형
color.png 파일을 다운로드하여 보자
붉은색 픽셀과 검은색 픽셀로 구성된 이미지 파일을 받았다...(확대해서 보면 딱딱 끊어져서 픽셀 단위다)
가로 7픽셀에 세로 200픽셀이다. 색이 두 개라는 게 힌트인 것 같은데....
느낌으로는 색이 두 가지니까 컴퓨터 전공자로서 0과 1이 생각이 났다. 그럼 바이너리 코드 즉 이진 코드로 바꿔서 풀면 뭔가 보이지 않을까 생각했다. 파이썬을 열고 pillow를 사용하자.
오랜만에 pillow 사용해서 이미지 코딩하려 하니 감을 못 잡겠다... 어쩔 수 없이 write up을 봤다.
from PIL import Image
img = Image.open("color.png")
data = img.load()
red = (255, 0, 0)
text = ""
binary_lines = []
width, height = img.size
for x in range(height):
binary_line = []
for y in range(width):
pixel = data[y,x]
if pixel == red:
binary_line.append('1')
else:
binary_line.append('0')
binary_lines.append(binary_line)
for x in binary_lines:
text += ''.join([chr(int(''.join(x),2))])
print(text)
그래도 감 잡았다. 코드를 이해하니 생각보다 간단한 코드이다. 다음에는 꼭 풀겠다.
3xXKkFstTUpsG2IFDirE6xDrcAF8DSx4iWxd5f9IQ9T205izN8lS2MQUlsF11gT4TFXHHlLHVHprNTtrh6lURfdUW7Lpuzgu1VKzwb1bg1oq6Ae3GnykkLZZsnze3HVLxHlfCYtzyrcV2Oxp0Gb0Z2ELphR4Oxo7TyvHCuWKWlN8t8KIfHysZK7jBNPu6wRVEUPIwVra
플래그가 나왔다.
플래그 값 : 3xXKkFstTUpsG2IFDirE6xDrcAF8DSx4iWxd5f9IQ9T205izN8lS2MQUlsF11gT4TFXHHlLHVHprNTtrh6lURfdUW7Lpuzgu1VKzwb1bg1oq6Ae3GnykkLZZsnze3HVLxHlfCYtzyrcV2Oxp0Gb0Z2ELphR4Oxo7TyvHCuWKWlN8t8KIfHysZK7jBNPu6wRVEUPIwVra
write up을 봐서 뭔가 찝찝한 문제였다...
반응형