SH1R0_HACKER

Basic RCE L06 본문

Reversing/CodeEngn

Basic RCE L06

SH1R0_HACKER 2020. 10. 21. 10:58

Unpack을 한 후 Serial을 찾으시오.
정답인증은 OEP + Serial
Ex) 00400000PASSWORD

 

Author: Raz0r


[ OEP란? ]

OEP (Original Entry Point)

원본코드가 먼저 실행해야하는 EntryPoint이다.

 

요즘 프로그램은 모두 패킹이 되어있다.

패킹된걸 풀면 원본코드의 실제 시작지점이 나오게 되는데 그 위치를 찾으면 된다.

 

자세한 설명과 내용은 아래 블로그를 참고하면 좋을 것 같다.

 

[Packing Unpacking] 기본개념

manggoo.tistory.com/3

 

[Packing Unpacking] 기본 개념

개요 pack이라는 단어는 (짐을) 싸다, (물건을) 포장하다 라는 의미를 가지고 있다. packing이라는 것은 단어 뜻에서 알 수 있듯이 무엇을 포장을 하는 것인데, 이것은 Code(프로그램)에 대한 지적 재��

manggoo.tistory.com

 

[UNPACK 할 때 OEP 찾는 방법]

blog.naver.com/suljang2/140201552400

 

I2sec 17기 리버싱[UNPACK할때 OEP 찾는 방법]

unpacking 할때 oep찾는 방법 OEP란 UNPACKING에서 제일 중요한 부분으로 packing되기 전으로 ...

blog.naver.com


[ 프로그램 실행 ]

 

 

 

 

시리얼을 입력받고 확인하는 프로그램인 것 같다.

먼저 패킹이 되어있는지 확인하자.

 

UPX로 패킹이 되어있다.

패킹을 푸는법은 Basic RCE 05 포스팅에 있다.

 

패킹을 풀고나니 이 프로그램은 Visual C++ 로 작성된 프로그램임을 알 수 있다.


[ 디버거 분석 ]

 

이제 올리디버거로 열어보자.

 

이 문제 또한 Text strings 검색을 통해 정답을 찾을 수 있다.

 

굿잡!

 

이제 OEP를 한번 찾아보자.

Ctrl+F2를 눌러 프로그램을 재시작해주자.

 

OEP를 쉽게 찾을 수 있다.

그렇다면 언패킹되기 전 패킹상태에서의 Entry Point는 어디일까?

 

올리디버거가 친절하게 패킹된 코드같다고 알림창을 띄워준다.

그리고 시작 주소를 보면 전혀 다르다는것을 알 수 있다.

'Reversing > CodeEngn' 카테고리의 다른 글

Basic RCE L08  (0) 2020.10.23
Basic RCE L07  (0) 2020.10.21
Basic RCE L05  (0) 2020.10.19
Basic RCE L04  (0) 2020.10.18
Basic RCE L03  (0) 2020.10.18