Windbg 명령어
Command |
Description |
Example |
g |
실행 |
- g break point 또는 프로그램 끝까지 실행 - g 401000 원하는 주소까지 실행 |
q |
종료 (Windbg 및 Taget 프로그램 모두) |
|
qd |
Windbg만 종료되고 Taget 프로그램은 종료되지 않는다. (detach) |
|
.restart |
재시작 | |
u |
Unassemble |
- u EIP 주소 unassemble - u 401000 원하는 주소 unassemble - u 401000 L5 원하는 주소부터 L뒤의 숫자만큼 unassemble |
uf | Unassemble Function |
- uf MessageBoxA 함수 영역 unassemble - uf 401000 주소가 있는 함수 영역 unassemble |
p |
Step Over |
- p 한줄 실행 - pr 한줄 실행하면서 레지스터에 대한 정보 표시 유/무 설정 - pct call 이나 return을 만날 때까지 한줄씩 실행 |
t |
Step Into |
- t 한줄 실행 - tr 한줄 실행하면서 레지스터에 대한 정보 표시 유/무 설정 - tct call 이나 return을 만날 때까지 한줄씩 실행 |
r |
레지스터 정보 표시 |
- r 모든 레지스터 정보 표시 - r eax eax 레지스터 정보 표시 |
d |
메모리에 존재하는 data 표시 |
- d 407030 407030에 존재하는 data/ASCII를 byte 단위로 표시 |
db |
Byte 단위로 data 및 ASCII 문자 표시 |
- db 407030 407030에 존재하는 data/ASCII를 byte 단위로 표시 |
dc |
Dword 단위로 data 및 ASCII 문자 표시 |
- dc 407030 407030에 존재하는 data/ASCII를 Dword 단위로 표시 |
dd |
Dword 단위로 data 표시 |
- dd 407030 407030에 존재하는 data를 Dword 단위로 표시 |
dt |
구조체 정보 표시(data를 구조체 형식에 맞춰 표시) |
- dt _PEB PEB 구조체 정보 표시 - dt _PEB 7ffdc000 7ffdc000에 있는 data를 PEB 구조체 정보에 맞게 표시 |
bp |
Break point 설정 |
- bp MessageBoxA MessageBoxA 함수를 호출하는 지점에 bp 설정 - bp 401000 401000 주소에 bp설정 |
bl |
Break point list |
|
bc |
Break point 삭제 |
- bc 0 bp 설정된 번호를 이용하여 bp삭제 |
# |
원하는 Assembly 명령어 검색 |
- #push 401000 401000부터 첫번째 push 명령어가 존재하는 주소 확인 |
s |
메모리 검색 |
- s -u 0x00000000 L?0x7fffffff "ruinick" 메모리 주소 0 ~ 0x7fffffff까지의 data 중 unicode 문자열 ruinick 검색 - s -a 0x00000000 L?0x7fffffff "ruinick" 메모리 주소 0 ~ 0x7fffffff까지의 data 중 ASCII 문자열 ruinick 검색 |
kv |
Call Stack 정보 표시 |
'Reversing > Debugger Tip' 카테고리의 다른 글
Ollydbg 유용한 플러그인 소개 및 간단 사용법 (4) | 2015.04.06 |
---|---|
IDA를 이용한 원격 디버깅 (0) | 2015.04.02 |
OllyDbg (기본 사용법) (1) | 2015.03.24 |