카테고리 없음

리버싱 8주차 과제

monkeydragon 2024. 6. 6. 20:20

*풀이

 

1. 스태가노그래피 문제로 작성한 이유:

티스토리에 exe 파일이 업로드가 안 되길래 급히 스태가노그래피 문제로 변경했다. 그런데 다른 사람들은 멀쩡히 잘 올린 것을 보니 아무래도 내가 놓친 어떤 방법이 있는 모양이다. 

 

2. 풀이(1)

 

 기왕 스태가노그래피로 제작하는 김에 문제를 빨리 풀 수 있는 루트를 하나 만들었다. 

 

먼저 문제 사진을 다운받아 hxd로 연다.

그럼 바로 위와 같이 png 파일 시그니처 뒤에 pe 시그니처가 뒤따르는 것을 확인할 수 있다. 

또한 exe 파일이 끝나는 지점에 JFIF 시그니처가 등장한다.

png 시그니처와 잇따르는 JFIF 파일의 코드를 삭제한 뒤 저장한 파일의 확장자를 .exe로 변경한다. 

 

여기까지가 문제 분리법이다. 

이 문제 파일을 코드 분석 없이 풀이하는 단축 루트는 다음과 같다. 

 

아까 잘라낸 JFIF 시그니처 이후의 코드를 새로운 파일로 저장한다. 그럼 다음과 같은 이미지가 나온다. 

 

인형 에나벨.

 

문제 설명에서 친구가 좋아했던 것으로 언급된 두 개의 키워드는 "에나벨"과 "비둘기"다. 

이 둘을 각각 영문으로 변환해 열거한 뒤 입력창에 입력하면 리버싱을 하지 않고도 문제를 해결할 수 있다.

 

정답: annabeldove. 

 

 

 

 

3.풀이(2)

 

헥사디 분석화면을 조금 밑으로 내리면 정답문과 분기별 출력문이 아스키 코드로 출력된다. 

 

정답: annabeldove. 

 

 

4.풀이(3)

 

올리디버거를 이용한 풀이. 

우선 출력된 문자열을 추적한다. 

"too short"

SUB

CMP

JA

ECX가 3보다 크면 예제2_00B91139로 점프. 

아래 헥스 덤프창에서 주소 00B91139 확인. 

거기서 조금 위로 창을 올리자 바로 아스키 코드의 코멘트가 보인다. 해당 코멘트를 입력하면 정답. 

정석적인 풀이 방법은 아니지만 이런 식으로도 빠르게 해결할 수 있다. 

 

정답: annabeldove.