디버거 동장 명령(Code Window에서 동작함)
명령어
|
단축키
|
설명
|
Restart
|
Ctrl+F2
|
다시 처음부터 디버깅 시작(디버깅을 당하는 프로세스를 종료하고 재실행)
|
Step Into
|
F7
|
하나의 OP code 실행 (Call 명령을 만나면, 그 함수 코드 내부로 따라 들어감)
|
Step Over
|
F8
|
하나의 OP code 실행(Call 명령을 만나면, 따라가지 않고 그냥 함수 자체를 실행)
|
Execute till Return
|
Ctrl+F9
|
함수 코드 내에서 RETN 명령어까지 실행(함수 탈출 목적)
|
Go to
|
Ctrl+G
|
원하는 주소로 이동(코드/메모리를 확인할 때 사용. 실행되는 것은 아님)
|
Execute till Cursor
|
F4
|
cursor 위치까지 실행(디버깅하고 싶은 주소까지 바로 갈 수 있음
|
Comment
|
;
|
Comment 추가
|
User-defined comment
|
마우스 우측 메뉴 User-defined comment
|
|
Label
|
:
|
Label 추가
|
User-defined label
|
마우스 우측 메뉴 Search for User-defined label
|
|
Set/Reset BreakPoint
|
F2
|
BP 설정/해제
|
Breakpoints 목록
|
ALT+B
|
Breakpoints 목록을 확인 가능 (참고로 목록에서 원하는 BP 더블클릭시 해당 주소로 이동)
|
Run
|
F9
|
실행(BP가 걸려있으면 그곳에서 실행이 정지됨)
|
Show the current EIP
|
*
|
현재 EIP 위치를 보여줌
|
Show the previous Cursor
|
-
|
직전 커서 위치를 다시 보여줌
|
Preview Call/JMP address
|
Enter
|
커서가 CALL/JMP 등의 명령어에 위치해있다면, 해당 주소를 따라가서 보여줌(실행되는 것이 아님. 간단히 함수 내용을 확인할 떄 유용함.)
|
All referenced text strings
|
마우스 메뉴 Search for - All referenced text strings
|
코드에서 참조되는 문자열 보기
|
All intermodular calls
|
마우스 메뉴 Search for - All intermodular calls
|
코드에서 호출되는 모든 API 홈수 보기
|
Name in all modules
|
마우스 메뉴 Search for - Name in all modules
|
모든 API 함수 보기
|
Edit data
|
Ctrl + E
|
데이터 편집
|
Assemble
|
space
|
어셈블리 코드 작성
|
Copy to executable file
|
마우스 메뉴 Copy to executable file
|
파일의 복사본 생성(변경 사항 반영됨)
|
Assembly 기초 명령어
명령어
|
설명
|
CALL XXXX
|
XXXX 주소의 함수를 호출
|
JMP XXXX
|
XXXX 주소로 점프
|
PUSH XXXX
|
스택에 XXXX 저장
|
RETN
|
스택에 저장된 복귀주소로 점프
|
'네이버 블로그 글 이전' 카테고리의 다른 글
IA-32 Register 기본 (0) | 2022.02.06 |
---|---|
바이트 오더링 (0) | 2022.02.06 |
스택 (0) | 2022.02.06 |