Wargame Write-Up/HackCTF
[HackCTF] (Forensic) 나는 해귀다 풀이
snwo
2020. 4. 24. 18:59
압축을 풀면 다음과같은 사진이 나온다.
헥스에디터로 열어보자.
PNG 파일은 IEND 로 끝난다. 하지만 마지막에 IEND 가 없기때문에 IEND 를 찾아보면,
맨아래가아니라 약간 뒤에있다.
IEND 다음에 하나의 파일이 있는걸 알 수 있다.
BAE...B.DNEI 로 시작하고, GNP 로 끝나는 파일은 없을것이다.
하지만 사진에서 힌트가있다. 파일을 뒤집어놓았다고한다.
알고보니 GNP - PNG, DNEI - IEND 이란걸 알 수 있다.
그렇다면 PNG 파일의 Footer인 60 82 값부터 맨끝까지 복사해
값을 원래대로 복구한뒤, png 파일로 만들어보자.
첫번째 : 메모장에 저장.
두번째 : 파이썬으로 값가져와서
뒤집은뒤에 png 파일 만들어 저장하기
두단계로 나눌수 있습니다. 참쉽죠?
이렇게 82 60 부터 끝까지 메모장에 붙여넣어줍시다.
1
2
3
4
5
6
7
8
9
10
11
12
|
dic=f.read()
dic=dic.split()
data=list(reversed(dic))
f.close()
d=b''
for i in range(len(data)):
d+=bytes([int(data[i],16)])
f.write(d)
f.close()
|
메모장을 열고 값을 읽어서 리스트로 만든뒤,
리스트를 뒤집어줍시다.
그리고 png 파일을 만들어 wb 로 바이너리로 연뒤
리스트값을 하나씩 가져와 \x34 같은 바이트로 만든뒤
이 값들을 png 파일에 써줍니다.
( 그냥 w로 열면, 문자열로만들어야하는데,
\x86같은 문자는 에러가난다.
많은 방법이있겠지만, 바이너리로 작성하는게
쉽고 간편하다 )