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가지이다.
- Yes. Let's Dance - 음악 선택
- I'm sorry. I have an another partner:( - 아무것도 안함
- I want to go home. -_-; - 종료
그리고 1번 메뉴를 선택하면 총 4개의 음악중에 하나를 선택해서 들을 수 있다.
1, 2, 3번은 진짜 음악이 재생된다.
그러나 4번은 "tango.wav" is broken X(라면서 재생 해주지 않는다.
처음에는 resourcehacker를 이용하여 저 4개의 암호화(?) 된 리소스를 바꿔치기해서 재생을 해보려 했지만 실패했고 플래그를 얻은 방법은 다음과 같다.
- 실행한다.
- tango를 실행한다.
- 메모리덤프를 뜬다.
- 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 |