Basic RCE 19번 문제와 같은 문제이다.
UPX 패킹되어 있으니, unpack 해주자.
그 후, IsDebuggerPresent 함수를 통해, 디버거를 감지한다.
디버거가 작동중이니 1(TRUE)를 반환하는데, 0(FALSE)로 패치해주자.
시스템 시간을 반환하는 timeGetTime 함수를 호출하는 주소를 찾는다. 육감적으로 가장 돋보이는 주소에 BP를 건다.
그 주소에서 Step over 몇 번 해보면, 다음과 같은 종료 분기점을 볼 수 있다. Stack에 있는 0x337B가 답이다.
이 값을 10진수로 변환하고, 문제에서 시키는 대로 md5 hash 결과값(대문자)으로 웹페이지에서 인증하면 된다.
'[Wargame Write-up] > CodeEngn Challenges' 카테고리의 다른 글
[CodeEngn Challenges] Advance RCE 03 (0) | 2016.09.14 |
---|---|
[CodeEngn Challenges] Advance RCE 02 (0) | 2016.09.14 |
[CodeEngn Challenges] Basic RCE 20 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 19 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 18 (0) | 2016.08.30 |