10.5(금) 이론-Debuger,KO,TKO

from Study/System 2007/10/13 19:07 view 20125
1. Debuger

  - User 모드 디버거 -> VC 디버거
  - Kernel 모드 디버거 -> SoftIce, WinDbg

  - WinDbg 초간단 사용법
    1) Symbol path 에  SRV*C:\symbol*http://msdl.microsoft.com/download/symbols 추가!!
    2) Kernel Debugging 눌러서 Local 로 선택
    3) dt nt!_구조체명   : KMUTANT, EPROCESS, KSEMAPHORE 등등 // 구조체의 내용을 본다.

2. Kernel Object( KO )
 
  - OS가 동작하는 3가지 Object ( 내부적으로 구조체를 갖는다는 의미 )

CreateWindow
CreatePen
CreateFile
User Object GDI Object Kernel Object (KO)
윈도우 객체
핸들이 전역
Public of Process
다른 프로세스에서 접근하여 움직일 수 있다.
펜객체
핸들이 지역
내부에서만 사용가능~
파일 객체
상대적 핸들
Private to Process
다른 프로세스에서 쓰게 하지 못한다.

  - KO의 특징 : 40여가지의 구조체를 가지고 있다. 상대적(한정적)핸들을 가진다.
    1) 공통속성 : 보안, signal, 참조계수, 이름, LIST_ENTRY

  - 상대적 핸들의 개념

사용자 삽입 이미지

사용자 삽입 이미지

  - 모든 커널 Object 소유자는 OS 이다. 파일의 생성후 프로세스가 종료된다면 파일은 누가 관리해줘야 할까?
  - Table의 Index가 곧 핸들값이므로 KO는 복사 되었을때 인덱스값이 달라진다. 이를 상대적 핸들이라 한다.


 

Tag | ,

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다