공부해요/리버싱_핵심원리

39. WinDbg

yenas0 2024. 12. 18. 06:07
반응형

WinDbg가 몰까..

MS에서 무료로 제공하는 디버거

유저모드랑 커널 모드 다 커버하는데 주로 커널 디버깅할 때 쓴다..

 

https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools

 

Debugging Tools for Windows - Windows drivers

This page provides downloads for the Windows Debugging tools, such as WinDbg.

learn.microsoft.com

여기서 받으면됨

 

WinDbg은 CUI환경으로 동작한다

 

winDgb실행

심볼: 디버깅 정보 파일 .pdb를 의미함

함수 이름, 변수, 소스코드 라인 등 PE 파일의 디버깅 정보를 포함

심볼 파일이 있으면 디스어셈블리 코드 가독성이 개선되어 디버깅이 쉬워지지만, 일반적으로 제작자만 보유하며 외부에 배포되지 않아 대부분 심볼 없이 디버깅을 진행해야 함

 

MS에서는 Windows OS 시스템 라이브버리들의 심볼 파일 공개해둠.

 

 

커널 디버깅

WinDbg특징 중 하나는 커널 디버깅 가능하단거임

어케 되냐?

2대의 PC를 이용해서 한다.

 

커널 디버깅이용해서 동작 모습 본다

근데 난 거부 되는데..

https://www.easeus.co.kr/partition-manager-software/boot-configuration-data-store-could-not-be-opened.html

 

부팅 구성 데이터 저장소를 열 수 없는 오류를 해결하기

다음은 부팅 구성 데이터 저장소를 열 수 없음 오류에 대한 빠르고 쉬운 해결 방법입니다. 단 몇 분만에 시스템을 다시 가동하고 실행할 수 있습니다.

www.easeus.co.kr

이거 따라해봄

 

음 안됨

..?

 

WinDbg 기본 명령어

명령어 설명 활용
u Unassemble u: 다음 명령어 표시
u address: 주소 이후의 명령어 표시
uL10: 명령어 10줄 표시
ub: 이전 명령어 표시
t Trace [F11] Step Into
p Pass [F10] Step Over
g Go (Run) g: 실행
g address: 주소까지 실행
d Dump d address: 주소 내용 표시
db address: byte
dd address: dword
dq address: qword
r Register r: 레지스터 표시
r register: 지정된 레지스터만 표시
bp Break Point bp: Break Point(BP) 설정
bl: BP List 목록 표시
bc: BP ClearCBP 삭제)
lm Loaded Module Im: 디버기 프로세스에 로딩된 모듈(라이브러리) 표시
dt Display Type dt struct name: 구조체 멤 버 표시
dt struct name address: 주소를 구조체에 매핑시켜 표시
!dh Display PE Header !dh loaded address: PE Viewer
반응형

'공부해요 > 리버싱_핵심원리' 카테고리의 다른 글

41. ASLR  (0) 2024.12.26
40. 64비트 디버깅  (0) 2024.12.26
38. PE32+  (0) 2024.12.18
37. x64 프로세서 이야기  (0) 2024.12.18
36. 64비트 컴퓨팅  (2) 2024.12.18