0x0102
[CodeEngn] Basic RCE L19 본문
이 프로그램은 몇 밀리세컨드 후에 종료 되는가
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 |