우리가 프로그래밍 을하게되면서 쉽게 구할수도있고 많이 접하는
어느한 디버거에 대해서 간략히 설명을해볼까합니다.
오늘은 OllyDBG 란 리버싱 역공학(등등)을하면서 많이 
접하게되는 디버거중 많은사랑을 받는 프로그램중하나라고 해도 과언이아닐것입니다.
본필자는 올리디버거 에대하여 어느정도 아는지식으로 간략히 
쓰는것이므로 올리디버거 에대해서 정확히 안다고말씀드리기가 
애매하다고밝힙니다.

올리디버거? 하면 무엇부터떠로르십니까?
Patch(핵,패치)? 대부분 어느정도 아시는분들은
아실것입니다.하지만 올리디버거가 
무엇인지 잘모르시는분들은 패치/핵 프로그램을 만들떄 쓰는것이구나
하고 생각하시는 분들도 계실테지요^^
그럼 지금부터 간략히 설명드러가겠습니다.
올리디버거 에서 의 장점 이무엇일까요?
저는 이렇게생각합니다. 
1.브레이크포인트
2.실행중인프로세스(예:k4.exe)가 실행중일떄 어태치 를통하여 실행중인 파일을 
   올리디버거로 불러와 분석을하며 원하는값을찾아서 어셈분기문 이나 핵스로 수정할수
   있는기능.
이렇게 2가지로 나누어봤습니다.
우리가 리버싱역공학 을접하게되면서 많이쓰이는게 올리디버거이기떄문입니다.
그러므로 우리는 올리디버거를 사용하기위해서 기초적인
설정과 플러그인 설정  한글 설정  그다음으로 각창의 설명과이해 
이렇게 나누어질것입니다.
물론 올리디버거에서 해당 타겟파일을 불러와서 분석을하면서 
눈여겨봐야할곳은 각 창에 보이는 것들을 유심히봐야할것이며 
어셈블리언어와 함수의역할등등 을 기본적으로 알고이해해야할것입니다
하지만 이것들만안다고해서 무작정 분석하고 어셈분기문을수정 한다해서
되는것이아닙니다.
바로 브레이크포인트 란것도알어야합니다
브레이크포인트란?무엇일까요^^
간략히정리해보면 이렇습니다.
올디로 해당타겟파일을 불러와서 
프로그램 연산이 나왔을떄 내자신이 지금 어느곳을작업하는지
확인할떄 쓰는것이 바로 브레이크포인트라 말할수있겠습니다.
그럼 브레이크포인트는 어떻게쓰냐?
바로이렇게 쓰면됩니다.
브레이크포인트(단축키:F2)를눌러서 브포를걸어준후 실행(단축키:F9)을눌러주게되면
프로그램연산은 자기자신이 작업한곳까지 실행하다가 브레이크포인트가걸린곳부터는
실행이되지않습니다.
더쉽게말해서 집을걸어가야하는대 바로앞에 장애물이 있습니다 그럼 잠시멈추었다가 
피해가겠죠? 
그리고 자기자신이 원하는곳에 브포를걸고싶으면 그곳에다가브포를걸수가있습니다.
그렇다고 아무곳에다가 브포를걸면 안됩니다.
또다른예를들어보죠
프로그램 연산이 1~9 까지 된다고가정해봅시다
그리고 1 2 3 4 5 6 7 8 9 <:~이런식으로요 
그런대 프로그래밍 4~5 과정이필요없다고해서 3~6으로 JMP 를시켯습니다.
그런 상황에 4~5 에다가 브포를걸면 어떨까요?
답변은 아무변화가없습니다.
그러므로 브레이크포인트거는것도 신중히생각하셔서 거셔야합니다
Ps:자신이 프로그램 연산을하던중 어떤부분이 실행될떄 어떤역학을하는지
       알고싶을떄 사용하시면 편리합니다.
 
Ctrl+F2 프로그램 재실행
Alt+F2 프로그램 닫기
F3 새 프로그램 열기
F5 활성화 되어 있는 윈도우 최대화, 혹은 원복
Alt+F5 olly 디버거 윈도우를 항상 위로
F7 Step into (함수 진입)
Ctrl+F7 Animate into (entering functions)
F8 Step over (executing function calls at once)
Ctrl+F8 Animate over (executing function calls at once)
F9 실행
Shift+F9 Pass exception to standard handler and run
Ctrl+F9 Execute till return
Alt+F9 Execute till user code
Ctrl+F11 Trace into
F12 Pause
Ctrl+F12 Trace over
Alt+B Open Breakpoints window
Alt+C Open CPU window
Alt+E Open Modules window
Alt+L Open Log window
Alt+M Open Memory window
Alt+O Open Options dialog
Ctrl+T Set condition to pause Run trace
Alt+X Close OllyDbg
F2 Toggle breakpoint
Shift+F2 Set conditional breakpoint
F4 Run to selection
Alt+F7 Go to previous reference
Alt+F8 Go to next reference
Ctrl+A Analyse code
Ctrl+B Start binary search
Ctrl+C Copy selection to clipboard
Ctrl+E Edit selection in binary format
Ctrl+F Search for a command
Ctrl+G Follow expression
Ctrl+J Show list of jumps to selected line
Ctrl+K View call tree
Ctrl+L Repeat last search
Ctrl+N Open list of labels (names)
Ctrl+O Scan object files
Ctrl+R Find references to selected command
Ctrl+S Search for a sequence of commands
Asterisk (*) Origin
Enter Follow jump or call
Plus (+) Go to next location/next run trace item
Minus (-) Go to previous location/previous run trace item
Space ( ) Assemble
Colon (:) Add label
Semicolon (;) Add comment
ctrl+위, 아래 화살표키 디스어셈블 위치 지정


출처 : http://ezhack.oranc.co.kr/tt/5