у-виводу, звязані з запите вводу-виводу. Тут вказується тип Операції, что має буті виконан.
· MinorFunction-покажчик на другорядній код Функції. При вікорістанні це поле перевізначає головний код Функції.
· Control-сукупність прапорів, Які встановлюються та читаються диспетчером вводу-виводу, вказуючі, Яким чином нужно обробіті Данії пакет IRP. Наприклад, прапори SL_INVOKE_ ON_CANCEL, SL_INVOKE_ON_ERROR і SL_INVOKE_ON_SUCCESS вказують, коли винна буті віклікана підпрограма завершення введення-виводу драйвера.
· DeviceObject-покажчик на обєкт-пристрій, что є отримувачем запиту вводу-виводу.
Висновки
ядро ??операційна система функція
У даній работе досліджена внутрішня структура операційної системи Windows, в результаті чого можна сделать ряд вісновків:
· Завдяк поділу функціональності на режим ядра та режим користувача Стабільність та безпека системи є великими, оскількі помилки корістувацького режиму не могут впліваті на функціонування системи в цілому.
· Гібрідне ядро ??Дає змогу дінамічно завантажуваті та відаляті Модулі ядра, что дозволяє застосовуваті Гнучкий систему драйверів. Так, самє таким чином стала можливіть технологія «plug and play», основою Якої є завантаження Додатковий драйверів в адресова простір Вже Працюючий ядра.
· За помощью написання та дінамічного завантаження драйверів стала можливіть Модифікація внутрішніх структур ядра, что дозволяє створюваті антівірусні системи та системи проактивного захисту, захіщеніх від будь-якого впліву зі сторони шкідливих програм.
В результаті проведеної роботи за помощью документації Майкрософт Було Визначи Функції ядра, Які безпосередно або опосередковано вплівають на роботу процеса. Основна з них є наступні:
· NtOpenProcess (дозволяє отріматі дескриптор процеса та службову інформацію про нього)
· NtOpenThread (дозволяє отріматі дескриптор та Додатковий інформацію про Потік Виконання)
· NtTerminateProcess (вікорістовується для аварійного Завершення процеса)
· NtTerminateThread (дозволяє примусово Завершити Виконання потоку)
· NtWriteVirtualMemory (Данії інструмент дозволяє Здійснювати запис ІНФОРМАЦІЇ в адресова простір процеса)
· NtDuplicateObject (дозволяє скопіюваті про єкт операційної системи Зі зміною прав на нього. Так, це дозволяє отріматі дескриптор процеса або потоку в обхід раніше згаданіх функцій)
· NtDebugActiveProcess (дозволяє Здійснювати налагодження процеса, что Дає змогу закрити дескриптор про єкту, роблячі неможливим его подалі Існування)
На Основі цієї ІНФОРМАЦІЇ БУВ Створений драйвер, что перехоплює Сістемні Функції ядра Windows на Основі модіфікації табліці SSDT (метод Зміни адреси Функції, что перехоплюються, на підставну). Це дозволяє Здійснювати контроль аргументів функцій, Які були віклікані та Здійснювати їх модіфікацію.
Використана література
1.Соломон Д., Руссиновіч М. Внутрішній устрій Microsoft Windows 2010. Майстер-клас./Пер. з англ.- СПб.: Пітер; М.: Видавничо-торговий дім «Російська Редакція». 2006. - 746...