반응형
SMALL

1. 올리디버거

 

- 올리 유스척이 개발한 x86 디버거로 무료

- 사용 편의성과 기능 확장을 위한 플러그인도 탑재 되어 있음

- 보통은 32비트 환경에서 동작하지만 64비트 환경에서도 동작이 가능하게 됨

- 1.1과 2.0이 출시되었지만 1.1은 64비트 디버깅이 잘 되지 않아 2.0과 사용해야함

- 2.0도 버그가 존재해서 안정적이지는 않음

- 1.1이 계속 리버서들이 쓰는 이유는 다양한 플러그인이 계속 지원되고 있기 때문임

- 그래서 이뮤니티 시큐리티에서 Olly dbg 1.1 베이스를 구매해 Immunity 디버거로 재포장함, 재포장함으로써 가지는 장점은 다음과 같음


* 파이썬 인터프리터의 추가

* 익스플로잇 개발자에겐 최적화됨

* 올리디버거 자체 버그가 패치됨


2. 올리디버거 인터페이스 

[그림 1-1] 올리디버거 구조


올리디버거는 CPU 명령어 화면, 레지스터 창, 메모리 덤프 창, 스택창으로 크게 4가지로 구분된다. 

- CPU 명령어 화면의 맨 왼쪽은 주소를 나타내며 두번째는 머신 코드, 세번째는 어셈블리어가 나타난다. 머신 코드는 CPU가 읽을 수 있는 코드이며 어셈 블리어는 인간이 읽을 수 있게 번역된 코드다. 보통 분석을 할 땐 어셈 블리어와 주소를 보며 분석을 하게 된다.

- 레지스터 창은 맨 우측에 표현되어 있으며 레지스터, 플래그에 대한 정보를 보여준다. 이는 프로그램을 실행시켰을 때 CPU 내부의 레지스터 안에 저장된 정보를 보여주는 것이다.

- 메모리 덤프 창은 왼쪽 하단에 위치해 있으며 말 그대로 메모리에 관련된 내용 및 주소 등을 볼 수 있다.

- 스택 창은 오른쪽 하단에 위치해 있으며 PUSH가 되면 스택 데이터가 계속 쌓이고 POP이 되면 스택 데이터가 빠지게 된다. 이 부분을 통해 원하는 주소의 스택 영역 값들을 확인할 수 있다.


3. 올리디버거 코드 실행 옵션 정리

 기능

메뉴 

단축키 

실행(RUN) 

Debug>Run 

F9 

정지(Pause)

Debug>Pause 

F12 

선택까지 실행

BreakPoint>Run to Selection 

F4

리턴까지 실행

Debug > Execute till Return 

Ctrl+F9 

사용자 코드 전까지 실행 

Debug > Execute till User Code 

Alt+F9 

싱글 스텝/스텝 인투

Debug > Step into 

F7 

스텝 오버

Debug > Step Over 

F8 

재시작

Ctrl+F2 

브레이크포인트

BreakPoint > Toggle

F2 

주소로 감

Ctrl+g 

[표 1-1] 자주 쓰이는 올리디버거 옵션



 


반응형
LIST

'악성코드분석' 카테고리의 다른 글

레나튜토리얼 1번  (0) 2021.01.12
리버싱 기초 (3)  (0) 2021.01.11
리버싱 기초 (1)  (0) 2021.01.10
UPX 자동 언패킹  (0) 2021.01.05
MP3 컨버터를 이용한 Exploit  (0) 2018.01.21
블로그 이미지

만년필석사

,