본문 바로가기

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

[ CodeEngn ] Basic RCE 6 문제 풀이

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

 

CodeEngn.com [코드엔진]

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

ch.codeengn.com

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

실행 파일 하나가 보인다.

일단 더블 클릭해서 실행해 보자

그러면 'Serial'를 입력하는 창이 뜬다.

 

아무거나 입력해 보자

음.. 그러면 확실히 'Serial'값을 알아내야 하는 거 같다.

그리고 문제에서 OEP + Serial 이니 OEP 주소도 찾아내야 한다.

 

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

뜯어 보니 'PUSH' 가 아닌 'PUSHAD'가 있는걸 확인 할 수 있다.

즉 UPX 패킹이 되어 있을 확률이 높다는 뜻이다.

 

PEiD 도구를 이용해 확인해 보자

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

그러면 UPX 패커로 Unpack 하자

그러면 File size가 증가한 것을 확인할 수 있다.

(-d -k 뜻이 모르는 사람은 cmd에서 upx.exe를 실행시키면 도움말이 나온다.)

 

다시 'OllyDbg' 도구를 이용해 06.exe 파일을 뜯어보자

 

정상적으로 Unpack 되었다.

 

그리고 바로 OEP 주소를 확인 할 수 있었다.

즉 OEP 주소는 '00401360' 인걸 확인 할 수 있었다.

 

이제 'Serial'를 찾아보자

 

(이 사진이 무엇을 하는지 모르는 사람은 다시 공부하시길..)

바로 찾은거 같다.

확인하기 위해서 더블 클릭하여 들어가자

이 코드가 무슨 뜻하는지 모르는 사람은 다시 공부하시길..

 

자 이제 정답도 알았으니 정답을 입력해 보자

Serial 입력값에 'AD46DFS547'를 입력하자

성공했다는 MessageBox가 나오는 걸 확인할 수 있다.