1. 개요
pillow 문제
2. 분석
1) 파일 2개를 받습니다.
잘 살펴보니 2개의 png 파일을 조금씩 다르고, 흰색 검은색 이외의 색이 종종 섞여있습니다.
2) python 코드
코드를 짜면서 조금 기교를 부렸는데
mystery1.png 파일에서 플래그 문자열 부분은 흰색, 검은색 보다 빨간색, 파란색, 초록색 위주로 되어 있어서
mystery1.png의 픽셀이 흰색 또는 검은색일때는 흰색만 넣도록 작성했습니다.
from PIL import Image
mystery1 = Image.open("mystery1.png")
rgba = mystery1.convert("RGBA")
data1 = mystery1.load()
mystery1.close()
mystery2 = Image.open("mystery2.png")
data2 = mystery2.load()
mystery2.close()
width, height = mystery1.size
BLACK = (0, 0, 0, 255)
WHITE = (255, 255, 255, 255)
new_data = []
for y in range(height):
for x in range(width):
d1, d2 = data1[x, y], data2[x, y]
if d1 == BLACK or d1 == WHITE:
new_data.append(WHITE)
continue
if d1 == d2:
new_data.append(WHITE)
else:
new_data.append(BLACK)
result = Image.new("RGB", (width, height))
result.putdata(new_data)
result.save("result.png", "PNG")
'[DigitalForensic] with CTF' 카테고리의 다른 글
[corCTF 2022] jsonquiz (0) | 2022.08.14 |
---|---|
[DigitalForensic] with CTF - DOS 모드에서는… (0) | 2022.08.14 |
[DigitalForensic] with CTF - 와우! 저는 이 이미지에… (0) | 2022.08.14 |
[DigitalForensic] with CTF - e_e (0) | 2022.08.14 |
[DigitalForensic] with CTF - flagception (0) | 2022.08.14 |