본문 바로가기

etc/Windbg

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

핸들 정보