windbg 사용법 정리
크래쉬 분석을 위해 windbg를 사용할려고 몇몇 명령어들을 정리한다.
계속 추가해 나갈 예정이다.
g - go - continue
u - 크래쉬 난 곳 근처의 disassambly
windbg.exe -I - just in time 모드 실행, 크래쉬 발생시 기본 디버거로 설정하는 거임 / 한번만 실행하면됨
http://msecdbg.codeplex.com/releases/view/106021
exploitable 판단 플러그인
!load /winext/msec.dll
.reboot 게스트 다시실행
.cls 화면 클린
lm 로딩된 심볼 보기
lm v [symbol] 자세한 심볼 보기
x ->gdb와 같음 (x nt!Nt* Nt와 관련된 출력)
ex) x nt!NtOpenPro*
u nt!ZwOpenProcess ----> nt!ZwOpenProcess disas
nt! -> 윈디비지 만의 심볼
uf -> function 전체를 보고싶다/.
.hh ->help
dt -> 구조체를 볼 수 있다.
dt _eprocess ->
dt peb
dt 구조체명 메모리 주소 -> 매칭시켜줌
메모리의 baseaddr는 eprocess 구조체
########아래는 gogil님의 블로그에서 퍼옴(http://gogil.kr/96)#############
lm
로딩된 모듈 보여줌
ln [Address]
특정 주소가 어느 심볼에 속하는지
dt [Struct] [Address]
특정 메모리의 데이터를 지정된 형식에 맞춰서 보여줌
ex) dt _TEB 7efdb000
bp [Address]
브레이크 포인트 걸기
bl
브레이크 포인트 정보
bc [BP Number]
브레이크 포인트 번호로 브포 삭제
dps
특정 메모리의 값을 심볼과 비교해서 보여줌. IAT, SSDT를 볼 때 주로 사용됨
ex) dps Address LSize/4
ex) dps 00400000+1000 L10E/4
!dh [ImageBase or ModuleName]
PE 정보
!dlls
로드된 DLL 정보
!handle
핸들 정보