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