자료로 주어진 사진을 다운로드 받자 우선 엄청 큰 문어가 다운로드 된다.
우선 문어를 hxd로 열어보면 특이한 점이 하나가 있다.
JPG 파일의 시그니처가 어마어마하게 많다는거, 물론 FF D8이 하두 짧다보니까 그냥 이산적으로 나오는 헥스값일 수도 있지만, 푸터(FF D9)까지 잘라주는 코드를 작성해서 사진을 추출해보자
if __name__=="__main__" :
start = b"\xff\xd8"
end = b"\xff\xd9"
target_list = list()
with open("PurpleThing.png","rb") as f:
data = f.read()
t_start = -1
for i in range(len(data)) :
try :
if(data[i:i+2]==start) :
t_start = i
if(data[i-2:i]==end and t_start!=-1) :
target_list.append((t_start,i))
t_start = -1
except Exception as e :
pass
cnt = 0
print(target_list)
for target in target_list :
with open(str(cnt)+".jpg","wb") as f:
f.write(data[target[0]:target[1]])
cnt+=1
결과는 다음과 같다.
9.jpg에 뭔가가 걸렸다.
오 나이스
'WarGame > DigitalForensic with CTF' 카테고리의 다른 글
[DigitalForensic] with CTF Find Key(Movie)… (0) | 2022.10.08 |
---|---|
[DigitalForensic] with CTF 오른쪽 위의 표지판을 읽을 수… (0) | 2022.10.08 |
[DigitalForensic] with CTF 거래 조건 알고 있잖아요?… (0) | 2022.10.07 |
[DigitalForensic] with CTF 조수의 차이만큼 하얗습니다! :D… (0) | 2022.10.07 |
[DigitalForensic] with CTF 저는 당신의 생각을 알고 있습니다… (0) | 2022.10.07 |