0x0102

[CodeEngn] Basic RCE L19 본문

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

'Write Up > CodeEngn' 카테고리의 다른 글

UPX packing / unpacking  (0) 2022.11.22
[CodeEngn] Basic RCE L18  (0) 2022.11.17
[CodeEngn] Basic RCE L16  (0) 2022.11.15
[CodeEngn] Basic RCE L15  (0) 2022.11.10
[CodeEngn] Basic RCE L14  (0) 2022.11.08