본문 바로가기
[보안 Archive] ~2017/리버싱 핵심 원리

[1주] 5장~6장 - 스택 & abex crackme #1

by Joy L. 2015. 3. 9.
반응형

리버싱 핵심 원리

                              [1주]




5장 - 스택


프로세스에서 스택 메모리의 역할 : 

1. 로컬 변수 임시 저장

2. 함수 호출 시 파라미터 전달

3. return address 저장


FILO(First In Last Out) 구조를 가지고 있다


스택의 특징


* 스택 포인터(ESP)의 초기값은 Stack Bottom쪽에 가깝다.

* 높은 주소에서 낮은 주소 방향으로 자란다.

* PUSH하면 스택 포인터는 아래(Stack Bottom쪽)에서 위(Stack Top쪽)로 쌓인다. POP하면 스택 포인터는 아래쪽으로 움직인다. 즉, 스택에 값을 입력하면 스택 포인터(ESP)는 감소하고, 스택에서 값을 꺼내면 스택 포인터는 증가한다.




6장 - abex' crackme #1 분석


간단한 crackme 샘플을 분석한다.


먼저, 파일을 실행시켜서 어떤 프로그램인지 살펴본다.


하드 디스크가 CD-Rom인것 처럼 속여달래요.


OllyDbg를 실행시켜서 코드를 살펴본다.


GetDriveType() API로 드라이브 타입을 얻어오는데, 이 부분을 조작해서 CD-Rom으로 인식되게 만들어야 합니다.


이 코드에서 사용된 어셈블리 명령어:



이제 코드를 패치해서 프로그램을 크랙한다.




반응형

댓글