본문 바로가기

CodeEngn

[CodeEngn] Basic RCE L08

<문제>

 

<풀이>

문제 파일을 다운로드하고, 7-Zip File Maneger로 압축을 푼다.

 

 

08.exe를 실행해본다.

계산기 프로그램이다.

사실 OEP를 찾는 문제라서 어떤 프로그램인지 확인할 필요는 없다.

 

OEP는 Original Entry Point의 약자로, 프로그램의 시작 주소를 말한다.

패킹되어있는 프로그램인 경우 OEP를 찾기 위해서는 언패킹 과정을 거쳐야 한다.

 

따라서 패킹 여부를 확인하기 위해

PE(Portable Executable) 파일 정적 분석 툴인 PEiD를 이용해 08.exe를 열어보았다.

UPX로 패킹되어있는 것을 확인할 수 있다.

 

 

 

UPX로 패킹되어있는 파일을 언패킹하는 툴 중 하나인 upx303w을 이용해 언패킹한다.

upx303w.zip
0.31MB

 

위의 폴더를 다운로드한 후 압축을 푼다.

압축을 푼 폴더 안에 언패킹할 파일 08.exe를 옮겨넣고,

해당 폴더에서 cmd 창을 연다.

upx -d 언패킹할파일

명령어를 입력하면 언패킹이 완료된다.

 

 

 

이제 언패킹된 파일을 디버거로 열어 OEP를 확인해본다.

디버깅으로 파일을 열었다.

 

OEP가 01012475인 것을 확인할 수 있다.

 

 

 

 

 

 

<정답 제출>

코드엔진의 Auth페이지에 Key 값으로 01012475를 입력하면 Success!!가 뜬다.

'CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L10  (0) 2023.11.05
[CodeEngn] Basic RCE L09  (0) 2023.11.04
[CodeEngn] Basic RCE L07  (0) 2023.11.02
[CodeEngn] Basic RCE L06  (1) 2023.11.02
[CodeEngn] Basic RCE L05  (0) 2023.09.23