#About
Author : Rekenmachine
Korean :
OEP를 구하시오
Ex) 00400000
English :
Find the OEP
Ex) 00400000
#Contents
프로그램의 실제 시작 주소를 의미하는 Original Entry Point를 구하는 것이 목적이다
#Solution
[그림 1] - 실행 화면
08.exe를 실행했을 때 계산기의 기능을 할 것 같은 UI가 나오며, 기본적인 계산의 기능을 제공함을 확인했다
[그림 2] - UPX 패킹
PEiD를 통해 해당 바이너리는 UPX 방식으로 패킹되어 있음을 알 수 있었고 아래와 같이 언패킹을 진행했다
[그림 3] - UPX 언패킹
[그림 4] - OEP 확인
언패킹을 진행 후 Ollydbg로 열면 실제 프로그램 시작 주소인 OEP를 확인할 수 있다
또는
[그림 5] - PUSHAD
레지스터를 전부 스택에 백업하는 명령어인 PUSHAD를 통해 패킹이 되어 있음을 확인할 수 있고 UPX의 경우,
프로그램 마지막 부분의 코드에 OEP로 점프하는 구문이 존재하며 아래와 같이 확인할 수 있다
[그림 6] - JMP to OEP
'Wargame' 카테고리의 다른 글
CodeEngn Basic 10 (2) | 2017.10.02 |
---|---|
CodeEngn Basic 9 (0) | 2017.09.26 |
CodeEngn Basic 7 (0) | 2017.09.24 |
CodeEngn Basic 6 (0) | 2017.09.13 |
CodeEngn Basic 5 (0) | 2017.09.08 |