SH1R0_HACKER
Basic RCE L06 본문
Unpack을 한 후 Serial을 찾으시오.
정답인증은 OEP + Serial
Ex) 00400000PASSWORD
Author: Raz0r
[ OEP란? ]
OEP (Original Entry Point)
원본코드가 먼저 실행해야하는 EntryPoint이다.
요즘 프로그램은 모두 패킹이 되어있다.
패킹된걸 풀면 원본코드의 실제 시작지점이 나오게 되는데 그 위치를 찾으면 된다.
자세한 설명과 내용은 아래 블로그를 참고하면 좋을 것 같다.
[Packing Unpacking] 기본개념
[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 |