루트킷 코드를 작성하며 정식적으로 드라이버 개발공부를 해야 한다고 생각들어 유투브 강의내용과 책에서 공부한 내용들을 간단하게 정리해봅니다.
※DeviceObject란?
※Device Object & Device Stack전체그림
-장치(HDD,Print)에는 디바이스 스택이 존재하며 내용에는 DeviceObject들을 포함한다.
DeviceObject는 IO Manager에 의해 해당 장치와 관련된 Driver가 발견되었을때 생성됩니다.
※Device Object구조체
typedef struct _DEVICE_OBJECT { DEVICE_TYPE DeviceType; |
※DeviceStack관계 모습
위에 설명된 DeviceObject에서 NextDevice, AttachedDevice변수 관계를 통해 이해가능합니다.
[ 참조자료 : https://www.youtube.com/watch?v=1E5Y64CPH00 . 책 : 윈도우디바이스드라이버 ]
'Security > Windows System' 카테고리의 다른 글
IRQL(Interrupt Request Level)이란?(1) (0) | 2017.08.03 |
---|---|
DeviceObject란?(2) - DeviceTack편 (0) | 2017.07.30 |
커널진입(INT 2E,SYSENTER)-전체적인흐름 (0) | 2017.06.23 |
커널진입(INT 2E,SYSENTER)-INT 2E(IDT : Interrupt Descriptor Table)편 (0) | 2017.06.23 |
ASLR(Address Space Layout Randomization) 끄기 /비활성화 (0) | 2017.06.20 |
댓글