Shall We Dance / Reversing / 500pt

The flag is in English lowercase only, without spaces. Please be sure to wear earphone/headphone when running the program.

의도치 않게 풀이해버려서 얼떨떨한 문제였다.

본격 아이다, 올리디버거 없이 풀어보는 리버싱 문제

문제는 다음과 같이 생겼다.

메뉴는 총 3가지이다.

  1. Yes. Let's Dance - 음악 선택
  2. I'm sorry. I have an another partner:( - 아무것도 안함
  3. I want to go home. -_-; - 종료

그리고 1번 메뉴를 선택하면 총 4개의 음악중에 하나를 선택해서 들을 수 있다.

1, 2, 3번은 진짜 음악이 재생된다.

그러나 4번은 "tango.wav" is broken X(라면서 재생 해주지 않는다.

처음에는 resourcehacker를 이용하여 저 4개의 암호화(?) 된 리소스를 바꿔치기해서 재생을 해보려 했지만 실패했고 플래그를 얻은 방법은 다음과 같다.

  1. 실행한다.
  2. tango를 실행한다.
  3. 메모리덤프를 뜬다.
  4. wav파일(문제에서 wav is broken라고 해서 추측함.)을 카빙한다.

나오지 않는 4번 노래를 틀고

메모리 덤프를 뜨고

덤프파일에서 wav 파일의 내용인 "wav"를 검색하면

헤더까지 예쁘게 살아있는 wav파일을 볼 수 있다. 어디가 끝인지 찾기 귀찮으니 이걸 엄청 길게 복사해서 새 파일을 만들면

재생이 되고 플래그를 한글자 한글자 읽어준다.

myfavoritemusicisjazz

'CTF Write-up > 2018' 카테고리의 다른 글

Codegate 2018 Final / within2s  (0) 2018.04.07
Codegate 2018 Final / Random Picross  (0) 2018.04.07
Codegate 2018 Final / Flower Dance  (0) 2018.04.07
VolgaCTF2018 quals / Old Goverment Site  (0) 2018.03.26
Codegate 2018 qual / Miro  (0) 2018.03.01

+ Recent posts