Write Up/CodeEngn

[CodeEngn] Basic RCE L19

jxx_yxjx 2022. 11. 24. 19:02

이 프로그램은 몇 밀리세컨드 후에 종료 되는가

PEiD에서 확인해본 결과 문제 파일이 패킹 되어 있으므로 upx 언패킹을 해준다.

디버거에서 열어보면 다음과 같은 오류가 뜨는데, 이는 디버거 탐지를 막음으로 해결할 수 있다.

isdebuggerpresent를 찾아서 TEST를 CMP로 변경함으로 디버거 탐지를 막아준다.

이후 Timegettime에 bp를 찍고 실행해본다. 이 때 ebx값을 확인해보면 008AF878이다.

그러나 프로그램을 실행하다보면 최종적으로 ebx + 4 값과 비교하는 것을 알 수 있다. 우리가 필요한 값은 ebx + 4 주소에 있는 값이다.

하단 hex dump에서 84f878 + 4에 있는 값을 찾아준다.

해당 주소에 있는 수는 리틀엔디안 방식으로 2B70이다.

이를 10진수로 변환하면 11120이다.

답 : 11120 ms