Hacking Arts
VirtualKD를 이용한 vmware debugging 본문
-사용 Tool : virtualkd , windbg , vmware
일단 VirtualKD를 구글검색해서 사이트에서 받아서 압축을 풀면 아래 사진과 같다.
[ 사진 1 ]
- 여기서 target이라는 폴더는 vmware의 가상 머신에 넣어준다. 그리고 나머지는 자신이 사용하고있는 host pc에서 사용하게 될 것이다.
[ 사진 2 ]
-일단 target에 있는 것을 install 해주면 됩니다.
[ 사진 3 ]
- 그다음 재부팅되면 아래 사진 4를 켜놓고 저런식으로 vitualkd를 선택하면 됩니다.
[사진 4]
-그 다음 dubugger path는 자신의 windbg가 설치된곳을 선택해주시고 오른쪽 run debugger를 누르면 됩니다.
[ 사진 5 ]
-그럼 요렇게 windbg를 이용해서 간단하게 kernel을 디버깅할 수 있다.!!
-이거 할때 문제점이 하나 발생 했는데 waiting to reconnect에서 계속해서 멈추는 것이였다.(사진6) 그래서 찾다보니.. symbol path에 아래 그림 처럼 넣어주니 잘된다!!(사진7)
[ 사진 6 ]
[ 사진 7 ]
- 디버그 심볼 파일이란 그럼 무엇일까?
실행파일을 빌드할 때 생성되는 디버그용 정보 파일을 말한다. 디버그 심볼 파일에 포함되는 디버그 정보란 실행파일 안에 존재하는 함수나 변수들의 이름과 위치, 소스파일, 소스라인 정보다. 비주얼 스튜디오나 windbg같은 디버거는 이 심볼파일을 이용해 소스라인 디버깅을 가능하게 한다.
-MS에선 윈도우 버전마다 심볼 패키지를 제공한다는데 용령이 커서 다운받는데 단점이 있다고 한다. 그래서 나온게 웹 심볼 서버이고 저 주소에서 MS에서 제작한 모든 OS 심볼을 제공한다. windbg를 사용해 디버깅 중인 윈도우 정보와 파일 정보를 심볼 서버로 보내면 심볼 서는 윈도우 버전에 맞는 심볼 파일만 windbg로 다운로드해줘서 정확한 심볼파일을 사용 할 수 있게 해준다고 한다!!
-참고
http://thebase.tistory.com/entry/Windbg-%EC%9B%B9-%EC%8B%AC%EB%B3%BC
http://sone.tistory.com/289
'Reversing > Window OS' 카테고리의 다른 글
[번역] X64 에 푹 빠져보기 (X64 Deep Dive) (0) | 2015.10.22 |
---|---|
window 부팅 순서 (0) | 2015.02.15 |
EPROCESS, KPROCESS, ETHREAD, KTHREAD (0) | 2014.10.02 |
PEB(Process Environment Block)와 TEB(Thread Environment Block) (0) | 2014.10.02 |
Window Error Code - GetLastError (0) | 2014.08.23 |