OllyDBG 단축키 해설 ( 올리디버거 )

Ctrl + F2 : 프로그램 리셋.  디버그 되는 프로그램을 다시 시작한다. 활성화된 프로그램이 없다면 history list의 첫번째 프로그램을 다시 시작한다. 이 프로그램 리셋은 메모리 브레이크 포인터와 하드웨어 브레이크 포인터를 제거한다.

Alt + F2 : 당기. 디버그 되는 프로그램을 닫는다. 프로그램이 현재 활성 상태라면 프로그램을 닫을 것인지를 확인하는 질문을 받는다.

F3 : 열기, 실행 파일을 선택하고 인자들을 명세할 수 있는 "Open 32-bit .EXE file" 다이얼 로그 박스를 디스플레이 해준다.

Alt + F5 : 올리디버거를 topmost 윈도우로 만든다. 디버그 되는 프로그램이 topmost 윈도우(보통 특정 종류의 모달 메세지나 다이얼로그)를 디스플레이 하는 동안 브레이크 포인트에서 정지하면 이 윈도우가 OllyDBG의 일부분을 덮게 되는데 실행을 재개하지 않고서는 이 윈도우를 이동하거나 최소화 할 수 없다. Ollydbg를 활성화하고 (예컨대 작업 줄에서) Alt + F5를 누르면 Ollydbg가 topmost 윈도우가 되어 디버그 되는 프로그램 위에 자리잡게 될 것이다.

Alt + F5를 다시 한번 누르면 Ollydbg가 정상(topmost가 아닌) 윈도우가 된다. topmost 상태는 디버깅 세션 사이에서 보존된다. 실제로 Ollydbg상태는 상태 바에 표시된다.

F7 : step into. 다음의 단일 명령을 실행한다. 다음 명령이 함수 호출이라면 호출 대상 위치에서 멈춘다. 다음 명령이 REP 명령 군이라면 그 명령을 한 cycle을 실행해준다.

Shift + F7 : F7과 동일하지만 디버그되는 프로그램이 몇몇 예외로 인해 정지되었을 때 디버거는 예외를 디버그 되는 프로그램에 명세된 핸들러로 먼저 전달하려고 시도한다.

Ctrl + F7 : animate info. 명령들을 하나씩 실행하며 또한 함수 호출로 진입한다.(F7을 누르는 것과 비슷하지만 더 빠르다.) 애니메이션은 여러분이 다른 step 명령이나 진행 명령을 누르거나 또는 프로그램이 활성화된 브레이크포인트에 도달하거나 특정 예외가 발생할 때 정지한다. 다음 step이 실행될 때마다 Ollydbg는 모든 윈도우들을 다시 그린다. 애니메이션 속도를 올리려면 이용하지 않는 모든 윈도우들을 닫고 남은 윈도우들의 크기를 줄인다. 애니메이션을 정지하려면 Esc 키를 누른다.

F8 : step over, 다음의 단일 명령을 실행한다. 다음 명령이 함수 호출이라면 호출되는 함수를 한번에 실행한다. (함수가 브레이크 포인트를 포함하거나 예외를 발생하지 않는 한), 다음 명령이 REP 명령군이라면 모든 cycle을 실행하고 다음 명령에 멈춘다.

Shift + F8 : F8과 동일하지만 디버그 되는 프로그램이 몇몇 예외로 인해 정지되었을 때디버거는 예외를 디버그 되는 프로그램에 명세된 핸들러로 먼저 전달하려고 시도한다.

Ctrl + F8 : animate over. 명령들을 하나씩 실행하며 함수 호출로는 진입하지 않는다. (F8을 누르는 것과 비슷하지만 더 빠르다.)

Alt + F9 : execute till user code. 함수 호출에는 진입하지 않고 CPU 윈도우를 갱신하지 않는 상태로 다음 명령이 시스템 디렉터리에 존재하지 않는 모듈에 속할 때 정지한다. 프로그램이 하나씩 실행되므로 상당한 시간이 걸릴 수도 있다. tracing을 멈추려면 Esc 키를 누른다.

Ctrl + F11 : run trace info. 함수 호출로 진입하면서 명령을 하나씩 실행하고 레지스터들의 내용을 run trace 데이터에 추가한다. run trace는 CPU 윈도우를 animate 하지 않는다. (CPU 윈도우의 커서 위치를 따라가지 않는다는 의미. 화면 변화 없음)

F12 : 디버그 되는 프로그램의 모든 쓰레드들을 보류하며 프로그램 실행을 정지한다. 쓰레드들을 수동으로 재개하기보다는 보통의 실행 재개 키나 메뉴 아이템(F9 같은)을 이용하는 편이 좋다.

Ctrl + F12 : run trace over. 함수 호출로 진입하지 않으면서 명령을 하나씩 실행하고 레지스터들의 내용을 run trace 데이터에 추가한다. run trace는 CPU 윈도우을 animate 하지 않는다. (CPU 윈도우의 커서 위치를 따라가지 않는다의 의미. 화면 변화 없음)

Esc : 애니메이션이나 tracing이 활성 상태면 애니메이션이나 tracing을 정지한다. CPU가 trace 데이터를 디스플레이 하면 실제 데이터를 보여준다.