13.07.2013 Views

RootKit

RootKit

RootKit

SHOW MORE
SHOW LESS

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 />

통신을 하거나 할 수 있게 된다.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!