Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Перехоплення функцій ядра Windows для захисту процеса

Реферат Перехоплення функцій ядра Windows для захисту процеса





ign="justify"> · Керування введенням / вівідом ( IO Control, IOCTL ). За помощью цього інтерфейсу драйвер может пересілаті дані та команда, спеціфічні для приладнав. У Win32-системах Керування здійснюється функцією DeviceIoControl ().

Такоже драйвер є Єдиним путем Додати в систему код, что працює в Нульовий кльці, тому написання драверій можна розглядаті як способ доступу до внутрішніх функцій та структур Даних операційної системи, что розміщені в режімі ядрі.

Взаємодія драйверів между собою та програмами режиму користувача базується на вікорістанні технології IRP.


3.2 Пакети вводу-виводу (I / O request packet, IRP)

пакет-структура Даних Windows, что Забезпечує обмін Даними между драйверами, а такоже между драйвером та програмою корістувацького режиму. З точки зору архітектури будь-який драйвер є учасником вводу-виводу, Незалежності від того, чи керує ВІН прістроєм. Такоже Неможливо пряма Взаємодія между драйвером та програмою корістувацького режиму. Вона зводіться до ПОСИЛАННЯ коду IOCTL, Який виробляти до того, что диспетчер вводу / виводу формує на его основе IRP пакет. У самому драйвері візначені Функції, что реагують на тип запиту пакета.


3.3 Структура IRP пакету

пакет Складається з двох частин: постійної та стеку вводу-виводу.

У Постійній частіні зберігається інформація, что НЕ змінюється при передачі по стеку прістроїв б або не потребує Збереження. Стеком прістріїв назівається набор прістроїв, что повінні опрацювати поточний IRP пакет. Від прибудують до прибудують пакет передається послідовно. Постійна частина Включає в себе інформацію, яка НЕ ??змінюється во время проходження пакету б або не винна зберігатіся в процесі роботи Виконання пакету. Найбільш ВАЖЛИВО є наступні поля:

· MdlAddress-вказівкнік на буфер запиту. Ссілається на пам'ять, де описів запит.

· Flags-зберігає прапори, что опісують процес вводу-виводу.

· IoStatus-блок стану вводу-виводу, что опісує стан Завершення ОБРОБКИ IRP. Колі IRP завершень, драйвер поміщує в поле loStatus.Status стан Завершення Операції, а в поле loStatus.Information - Додатковий інформацію, якові нужно Передат назад ініціатору запиту.

· Cancel, CancelRoutine-поля Використовують, ЯКЩО IRP может буті Скасований в процесі ОБРОБКИ. Cancel - поле типу BOOLEAN, значення Якого встановлюється диспетчером вводу / виводу. Встановлення цього поля в TRUE означає, что Операція вводу-виводу булу відмінена. CancelRoutine - вказівнік на функцію драйвера, Що буде віклікана диспетчером вводу-виводу для коректної відміні IRP.

· UserBuffer-Віртуальна адресою буферу Даних ініціатора запиту вводу-виводу.

Стек вводу-виводу в IRP містіть інформацію відносно запиту вводу-виводу для конкретного драйверу. Размещения стеку візначається структурою IO_STACK_LOCATION. Для визначення размещения стеку всередіні заданого IRP, драйвер может вікорістаті функцію IoGetCurrentlrpStackLocation, что поверне покажчик на поточний стек. Розглянемо основні поля стеку вводу-виводу:

· MajorFunction-вказівнік на головний код Функції ввод...


Назад | сторінка 5 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Організація вводу-виводу. Обробка масивів. Структуровані дані
  • Реферат на тему: Модуль вводу аналогових і виводу дискретних сигналів
  • Реферат на тему: Ввід-вивід информации, спеціфікації, оператори та ресурси вводу-виводу
  • Реферат на тему: Системи нечіткого виводу
  • Реферат на тему: Пристрої виводу інформації