취코, 취하다 코딩에~

올리 디버거 사용법 본문

프로그래밍/리버싱

올리 디버거 사용법

drinkcode 2018. 2. 11. 20:21

올리디버거 설정

5부 64비트 & Windows Kernel 6의 실습 예제 파일을 실습하기 위해서는 Windows Xp/Vista/7 64bit환경이 필요
올리디버거 관리자 권한으로 실행
1. Code/Register/Dump/Stack Window의 폰트 변경
각각의 창에서 마우스 우측 메뉴 - Appearance - Font - System fixed font메뉴 선택
2. Code Window의 Highlighting을 변경 (가독성 좋아짐
마우스 우측 메뉴 - Appearance - Highlighting - Jumps and calls

올리디버거 2.0이 발표된 후에도 올리디버거 1.1버전이 꾸준히 사랑받는 이유는 다양한 플러그인 때문
안티 디버깅이 적용된 PE프로텍터를 디버깅할 때 다양한 플러그인은 유용하게 사용된다.
64bit에서도 올리 Advanced 플러그인을 적용하면 올리디버거 1.1버전을 사용할 수 있다.
Olly Advanced v1.27var를 압축 해제한 후 올리디버거 1.1폴더에 advancedolly.dll파일을 복사
그리고 플러그인 옵션에서 Additional Options에서 64bit체크
64bit에선 2.0버전을 쓴다.



빠른 시간에 함수찾기
BP, 문자열 찾기, API검색, Ctrl + G로 주소 검색, Memory Map에서 라이브러리(API)에 BP 걸기

Ctrl + F2               F7               F8          Ctrl + F9          Ctrl + G               F4                    ;            
처음부터 다시     따라가기     겉햘기     함수탈출      원하는 주소로     cusor 위치까지     주석         
:               F2          F9                    *                         Enter               Ctrl + E
label      BP설정     BP까지 실행       EIP위치 보여줌     함수안보기          편집
label(주소에 이름붙이기) 을 위한설정

올리 디버거 순서에 대한설명
Address(주소)     |     Instructino(CPU명령어)     |     Disassembeld code(opcode어셈블리어변환)     |     comment(주석)

Alt + O - 옵션설정
Clt + F9 함수안에서 바로 ret까지
Alt + F2 close
Clt + F11,F12 끝까지 실행

F9도중에 디버깅 멈추면 F7/F8로 리턴주소로 돌아갈 수 있다.

Attach - 쓰고 있는 프로그램,서비스 불러오기 \ Detach
Log - 디버거 정보, Alt + L
Executabe moudles - 현재사용하는 모듈, Alt + E
Memory map - 현재 메모리의 모습, Alt + m
Thread - 현재 돌아가고 있는 스레드, Alt + T
CPU - 올리디버거를 실행할 때 메인 thread, Alt + C
Run trace - 트레이스를 실행한 결과

windows - cascade(창쭉나열)
              - horizon(가로 나열)
              - verticle(세로 나열)


코드창
back - 백업하거나 백업한걸 불러오기
File with zero - 선택한 Binary를 모두 0을 채워넣는다.
                    - Nop으로 채워넣기
Follow in Dump - section 선태한 주소로 이동
                       - Memory address - 명령어에 메모리주소가 포함되어 있을때만 나타낸다.
Find referens to - 레퍼런스 정보출력
Highlight register - 중간에 EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI를 찾을 때
Addressing - Relative to section 주소를 좀 더 직관적으로
comments - show comment버튼을 누르면 주석을 중앙으로
Analysis - analyse 코드 버튼을 누르면 코드를 재분석해서 주석에 설명해준다, Clt + A
Appearance - 글자에 특징주기, 컬러, 폰트
watches
search results
search for - Name - 모든 API 함수
               - All intermodular calls - 코드에서 호출되는 모든 API 함수
new origin here - 선택한 명령어로 건너뛴다.
INT3 brakpoints - BP건곳들, Alt + B
Memory break points - Alt + Y
Hardware break points - Alt + H

레지스터창


덤프창
마우스 오른쪽 - Address - Relative to EBP(EBP위치확인, 직관적으로 보임)


스택창



'프로그래밍 > 리버싱' 카테고리의 다른 글

핵심 .dll 파일 역할  (0) 2018.02.11
리버싱 책 보는 단계  (0) 2018.02.11
레지스터리란?  (0) 2018.02.08
Comments