본문 바로가기

【 리버싱 】/[ CodeEngn ] Basic RCE 문제 풀이

[ CodeEngn ] Basic RCE 8 문제 풀이

URL : https://ch.codeengn.com/

 

CodeEngn.com [코드엔진]

코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.

ch.codeengn.com

8번 문제이고 밑 파일을  다운로드해서  압축을 풀어주자

압축을 풀어보니 실행파일 하나가 보인다.

 

더블 클릭하여 실행해 보자

계산기 기능을 하는 UI를 확인할 수 있었다.

 

문제를 다시 확인 해보면 'OEP(Original Entry Point)'

 

즉, 프로그램의 실제 시작 주소를 찾는 것이다.

 

이제 'OllyDbg' 도구를 이용해 08.exe 파일을 뜯어보자

 

확인 했더니 'PUSHAD' 로 나온걸 알 수 있었고

'PUSHAD'는 UPX 방식으로 패킹이 되었다는 것을 의심할 수 있었다.

 

PEID 도구를 이용해 UPX로 패킹이 되었음을 확인할 수 있었다.

 

참고 : 언패킹을 하기 위해선 upx.exe 파일과 08.exe 파일이 같은 곳에 있어야 한다.

첫번째 방법(unpacking)

언 패킹 결과 해당 파일이 증가했음을 알 수 있었다.

 

다시 'OllyDbg' 도구를 이용해 언 패킹 된 08.exe 파일을 뜯어보자

 

실제 프로그램 시작 주소인 OEP를 확인할 수 있다

 

두번째 방법(PEView 도구 사용)

언 패킹 진행 후 'OllyDbg'를 사용할 수 없는 경우 'PEView' 도구를 사용하여 OEP를 확인할 수 있다.