16.exe을 실행. Name은 CodeEngn으로 고정이므로, Password에 적당히 1234 기입. 당연한 결과이지만, 틀렸다고 표시하고 있다.
Ollydbg로 열어, Password가 일치할 때에도 어떤 문장이든 출력할거라는 가정 하에, 이 프로그램에서 참조하는 문자열을 찾았다. 그래서 발견한 “Good Job!”
이 문자열을 참조하는 주소로 이동 후, “Good Job!”, “Wrong password!”의 분기점을 찾아, 그 위에 있는 CMP 구문을 실행하는 주소에 breakpoint를 걸었다. 실행 후, 첫 시도 때와 같이 Password로 1234를 입력하고 breakpoint 부근까지 진입했다.
CMP 구문에서 비교하는 두 값을 확인
즉 답은 0xE4C60D97의 10진수이다.
'[Wargame Write-up] > CodeEngn Challenges' 카테고리의 다른 글
[CodeEngn Challenges] Basic RCE 18 (0) | 2016.08.30 |
---|---|
[CodeEngn Challenges] Basic RCE 17 (데이터 주의...) (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 15 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 14 (0) | 2016.08.30 |
[CodeEngn Challenges] Basic RCE 13 (0) | 2016.08.30 |