자료로주어진 color.png를 확인해보자
엄.... 특이한 사진인거같다. 진짜로 특이하다 우선 해상도를 보자
7 X 200의 해상도이다. 이건 아마 그림에 key를 숨기지는 않았을거 같다. hxd로 내부를 봐도 특별한 string은 보이지 않는다. 힌트는 이 사진이 검정색과 붉은 색으로만 이루어져있다는 점이다. 이를 비트로 생각해서 검은색은 1, 붉은색은 0으로 해석해보자
보면 극단적으로 2개의 픽셀로 표현되어있으니 말이다. 읽는 방법이야 방향따라 다르겠지만 7 X 200이었으니 위에서부터 한줄씩 한 Byte가 된다고 생각했다. 보통 문자열이 위치하는 곳은 128아래이니 MSB는(바이트의 가장 위쪽 비트 그니까 2의 7제공위치 비트) 0으로 고정했다. python 스크립트를 다음과 같이 제작하였다.
from PIL import Image
if __name__=="__main__" :
im = Image.open("color.png")
B = (0,0,0)
R = (255,0,0)
ans = ""
x = im.size[0]
y = im.size[1]
cnt = 7
for i in range(y) :
ans+="0"
for j in range(x) :
cnt=cnt-1
if(im.getpixel((j,i))==B) :
ans+="0"
elif(im.getpixel((j,i))==R) :
ans+="1"
if(cnt==0) :
ans+=" "
cnt=7
print(ans)
Red를 1로 한 이유는 문제에서 적룡이 메인이기 때문이다. 뭐 아니면 B를 1로 할래그랬지만 말이다.
결과값으로 나온 bit를 다음홈페이지에서 string으로 변경해주었다. 직접 만들어도 되지만 이미 기능있는거 만들어서 뭐하나 싶었다.
나온값은 KEY가 맞았다.
'WarGame > DigitalForensic with CTF' 카테고리의 다른 글
[DigitalForensic] with CTF 계속 주시해라!… (0) | 2022.10.06 |
---|---|
[DigitalForensic] with CTF 내 친구는 이것이 특별한… (0) | 2022.10.06 |
[DigitalForensic] with CTF Three Thieves Threw Trumpets Through Trees… (0) | 2022.10.06 |
[DigitalForensic] with CTF Find Key(moon)… (0) | 2022.10.06 |
[DigitalForensic] with CTF Find Key(butterfly)… (0) | 2022.10.06 |