RootKit
RootKit
RootKit
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
특정한 요청이 왔을 때 윈도우에서 보내주는 요청 정보를 토대로 적절한 동작을 하<br />
게 된다. 이 때 윈도우 프로그램이 특정 메시지를 처리하기 위해 해당 메시지 값과<br />
그에 관련된 정보들이 들어 있는 MSG라고 하는 구조체를 파라미터로 받아 처리하<br />
듯 드라이버 역시 이와 같은 특정 요청에 관련된 정보들을 함수의 파라미터로 받게<br />
된다. 이러한 정보들을 담은 정의된 구조체가 바로 IRP 이다.<br />
필터드라이버와 하드웨어가 통신을 할 때 I/O Manager 에서는 IRP 를 만들게 된<br />
다. 이 IRP는 여러가지 정보를 담고 있으며 해당 드라이버의 위에서 아래로 아래에<br />
서 위로 정보가 이동하게 된다. 이때 필터드라이버는 그 정보가 내려올 때 필터링<br />
하는 방법과 정보가 올라올 때 필터 링 하는 방법 중 하는 방법 중 선택하여 프로<br />
그래밍 할 수 있다.<br />
위에서 말했던 것처럼 필터드라이버는 IRP라는 메시지와 비슷한 방식으로 동작한<br />
다고 말했었다. 아래에 있는 그림들은 프로그래밍시에 사용되는 IRP 이다.<br />
처리 루틴에서는 자신이 원하는 IRP가 들어 왔을 때 루틴이 동작하게 된다. 이<br />
IRP들을 통해 APP와 통신을 하거나, 다른 드라이버로부터 받은 요청을 처리하거나<br />
통신을 하거나 할 수 있게 된다.