Reversing/CodeEngn RCE Basic
09.코드엔진 Basic09
oiehso0
2018. 1. 18. 19:20
Stolenbyte란?
Stolenbyte는 패커가 위치를 이동시킨 코드로써 보호된 프로그램의 코드의 위부분(보통은 엔트리 포인트의 몇개의 명령어)이다.
이 부분의 명령어는 이동된 곳이나 할당 받은 메모리 공간에서 실행된다. 보호된 프로세스의 메모리가 덤프 되있을 때 Stolenbyte를 복구하지
못한다면 덤프된 실행파일은 작동하지 않을 수 있다.
패킹이 되어있어서 언패킹 시키고 OEP로 갔다.
↑위는 9번문제의 OEP이고 ↓아래 OEP는 7번문제의 구성이다 . 차이점을 알 수 있다.
첫줄부터 NOP가 여렇게 쌓여있고 메세지박스 함수의 구성이 이상하다...
그래서 우리는 Stolenbyte를 찾기위해 기존에 패킹된 파일을 열어보기로 한다.
12byte의 Stolenbyte가 스택에 push되어 OEP로 점프하는 것을 알 수 있었다...