자료는 다음과 같다.
으앜 지직거린다. 처음 문제를 풀기위해서 접근한 방식은 어쩌면 흑(#000000)~백(#FFFFFFF)이 아닌 유채색이 존재하지 않을까 였다. 그 의미에서 그러한 pixel을 찾기위해서 다음과 같은 코드를 구성했었다.
from PIL import Image
if __name__=="__main__" :
im = Image.open("shades.png")
width,height = im.size
for x in range(width) :
for y in range(height) :
r,g,b = im.getpixel((x,y))
if(r!=g or g!=b or r!=b) :
print("x : {0} y : {1} {2}".format(x,y,str(im.getpixel((x,y)))
그러나 아무것도 출력되지 않았다. pixel의 정보를 불러와보니 모두 5단위라는것을 알 수 있었다. pixel값들을 알기위해서 다음과 같은 코드로 변경했다
from PIL import Image
if __name__=="__main__" :
im = Image.open("shades.png")
width,height = im.size
candlist = list()
for x in range(width) :
for y in range(height) :
r,g,b = im.getpixel((x,y))
if(r not in candlist) :
candlist.append(r)
cand=sorted(candlist)
print(cand)
출력은 다음과 같다.
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45,
50, 55, 60, 65, 70, 75, 85, 90, 95,
100, 105, 110, 115, 120, 125, 130,
135, 140, 145, 150, 155, 160, 165,
170, 175, 180, 185, 190, 195, 200,
205, 210, 215, 220, 225, 230, 235, 240, 245]
그렇다 80이 없다. 5의 배수인데, 80이 없다. 80을 hex로 바꾸면 \x50이다 사라진 픽셀은 #505050이다. key는 그것이다.
'WarGame > DigitalForensic with CTF' 카테고리의 다른 글
[DigitalForensic] with CTF 아나그램(Anagram) 할 사람?… (0) | 2022.10.15 |
---|---|
[DigitalForensic] with CTF basisSixtyFour… (0) | 2022.10.14 |
[DigitalForensic] with CTF basisSixtyFour… (0) | 2022.10.13 |
[DigitalForensic] with CTF 뱀… (0) | 2022.10.13 |
[DigitalForensic] with CTF Hash… (0) | 2022.10.13 |