#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

+ Recent posts