본문 바로가기
Study/Reversing

올리디버거 다운로드 및 설정

by Melpin 2015. 5. 13.

올리디버거는 http://www.ollydbg.de 사이트에서 다운받을 수 있다

 

 

사이트에 가서 좌측하단에 odbg110.zip을 다운받으면 된다

odbg110.zip압축을 풀면 다음과같은 구성을 보인다

 

이 폴더안에 UDD 폴더와 Plugin 폴더를 생성해주자

그리고 기본적으로 들어있는 Cmdline.dll과 Bookmark.dll은 Plugin폴더로 이동시킨다.

 

http://www.tuts4you.com 

로 가면 다음과 같은 화면을 볼 수 있다

 

 

Downloads 테그로 가서 win32를 검색하여 win32.hlp파일을 다운받아 oldbg110폴더에 넣는다

 

다음과 같이 적용시킨 상태에서 Ollydbg.exe를 실행하여 Option > Appearance > Directories를 열어

UDD와 Plugin경로를 적어준 뒤 올리디버거를 재실행시켜주면 경로가 설정된다.

 

 

 

그리고 다운받은 win32.hlp파일을 적용하기위해

HELP > Select API help file을 선택해서

WIN32.HLP를 열어주면 자동으로 winapi도움말과 연결이 된다.

 

 

 

 

마지막으로 Options > Debugging options > Events 로 들어가서

Entry point of main module를 설정해주면된다.



ollydbg.ini파일을 열어본 뒤

블록씌워진

Show jump direction = 1

Show jump path = 0

Show jumpfrom path = 0

Show path if jump is not taken = 0

부분을 모두 1로 바꾸어준다



그럼 코드를 실행하는 과정에서 어느 위치에서 점프해서 어디로 갔는지 화살표로 쉽개 확인할 수 있다.


올리디버거의 실행창은 다음과 같다



① 어셈블리코드가 보이는 부분

② 레지스터 상태가 나오는 부분

③ Dump창의 모습

④ 스택의 모습


올리디버거의 텝별 기능

File tap

Open (F3)> 파일을 디버거로 불러온다

Attach > 현재 실행중인 프로세스중 하나를 선택해서 올리디버거로 불러온다

Exit (Alt + X) > 디버거를 종료한다


View tap

선택한 영역에 관한 값들을 보여준다

Memory를 선택하면 현재 Memory의 모습을 보여준다.

Call stack(Alt + K)를 선택하면 어디서 어떤 함수가 호출되었는지를 보여준다.

Debug tap

Run (F9) > 디버거에 열려있는 프로그램을 실행시킨다

break point에 만나거나 Exeception이 발생해서 프로그램이 정지할 때까지 실행된다.

Restart (Ctrl + F2) > 현재오픈한 프로그램을 처음부터 실행시키기위해 프로그램의 처음지점으로 돌아간다.

step into (F7) > 코드를 한줄씩 실행한다, Call이나 Rep조건을 만나면 함수내부로 추적해 들어간다.

step over (F8) > 코드를 한줄씩 실행한다. 함수내부로 추적하지 않고 함수 실행 후 그 다음코드로 넘어간다.

Execute till return (Ctrl + F9) > 함수내부로 추적해들어갔을때, 그 함수의 ret지점까지 한번에 실행하고 함수를 나올 수 있는 는 기능


Plugins tap

올리디버거에서 사용하는 여러 플러그인 기능들이 있다.

사용자가 필요한 플러그인을 직접 제작해서 올리디버거에서 그 기능을 사용할 수 있도록 추가할 수 있다.


Option tap

Appearance > UDD폴더나 Plugins 폴더를 설정할 수 있고, 글꼴이나 글씨 크기 같은 설정들을 변경할 수 있다.

Debugging options > Exceptions와 관련된 사항을 설정할 수 있다.

Trace탭에서 디버깅하면서 발생되는 여러 상황들에 대한 설정을 할 수 있다.



Window tap

올리디버거 내부 윈도우들의 정렬 방식을 바꿀 수 있다.

여러 윈도우중 원하는창만 선택해서 활성화 시킬 수 있다.


① 에 있는 어셈블리 코드들을 우클릭 했을때 나오는 메뉴얼

break point (F2) > 현재 블록되어 있는 어셈블리 코드의 위치에 프로그램의 중단점을 설정한다

Comment ( ; ) > 어셈블리코드 옆에 사용자가 주석을 달아 놓을 수 있는 기능이다

Serch for >  함수이름, 프로그램 내부의 문자열, 어셈블리 명렁어 등을 검색하여 위치한 지점을 찾을때 사용된다.

각 어셈블리 코드를 더블클릭하면 그 코드부분을 직접 수정할 수 있다.

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

키젠문제 풀이  (0) 2015.05.18
Unpack, Back To User mode  (0) 2015.05.18
어셈블리 명령어  (0) 2015.05.15
CPU레지스터와 데이터타입  (0) 2015.05.15
abexcm1.exe풀이  (0) 2015.05.14

댓글