Павел Йосифович - Работа с ядром Windows
Название: | Работа с ядром Windows | |
Автор: | Павел Йосифович | |
Жанр: | Windows, Системное программирование | |
Изадано в серии: | Для профессионалов | |
Издательство: | Питер | |
Год издания: | 2021 | |
ISBN: | 978-5-4461-1680-5 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Работа с ядром Windows"
Ядро Windows таит в себе большую силу. Но как заставить ее работать? Павел Йосифович поможет вам справиться с этой сложной задачей: пояснения и примеры кода превратят концепции и сложные сценарии в пошаговые инструкции, доступные даже начинающим. В книге рассказывается о создании драйверов Windows. Однако речь идет не о работе с конкретным «железом», а о работе на уровне операционной системы (процессы, потоки, модули, реестр и многое другое). Вы начнете с базовой информации о ядре и среде разработки драйверов, затем перейдете к API, узнаете, как создавать драйвера и клиентские приложения, освоите отладку, обработку запросов, прерываний и управление уведомлениями. 16+
Читаем онлайн "Работа с ядром Windows". [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (125) »
Использование __try/__finally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Использование RAII-оберток C++ вместо __try/__finally . . . . . . . . . . . . . . . 135
Фатальный сбой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Информация дампа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Анализ файла дампа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Зависание системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Синхронизация потоков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Операции со взаимоблокировкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Объекты диспетчеризации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Мьютекс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Быстрый мьютекс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Семафор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Событие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Ресурс исполнительной системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Синхронизация при высоких уровнях IRQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Спин-блокировка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Рабочие элементы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Глава 7. Пакеты запросов ввода/вывода (IRP) . . . . . . . . . . . . . . . . . . . . . . 169
Знакомство с IRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Узлы устройств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Последовательность действий при работе с IRP . . . . . . . . . . . . . . . . . . . . . 174
IRP и позиция стека ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Просмотр информации об IRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Функции диспетчеризации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Завершение запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
8 Оглавление
Обращение к пользовательским буферам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Буферизованный ввод/вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Прямой ввод/вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Пользовательские буферы для запросов
IRP_MJ_DEVICE_CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Всё вместе: драйвер Zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Использование предварительно откомпилированного заголовка . . . . . . 196
Функция DriverEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Функция диспетчеризации для чтения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Функция диспетчеризации для записи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Тестовое приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Глава 8. Уведомления потоков и процессов . . . . . . . . . . . . . . . . . . . . . . . . 203
Уведомления процессов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Реализация уведомлений процессов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Функция DriverEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Обработка уведомлений о выходе из процессов . . . . . . . . . . . . . . . . . . . . . 211
Обработка уведомлений о создании процессов . . . . . . . . . . . . . . . . . . . . . 213
Передача данных в пользовательский режим . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Клиент пользовательского режима . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Уведомления потоков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Уведомления о загрузке образов . . . . . . . . . . . . . . . . . . . . . . . --">
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (125) »
Книги схожие с «Работа с ядром Windows» по жанру, серии, автору или названию:
Денис Николаевич Колисниченко - Первые шаги с Windows 7. Руководство для начинающих Жанр: Околокомпьютерная литература Год издания: 2010 |
Другие книги из серии «Для профессионалов»:
Джереми Гибсон Бонд - Unity и C#. Геймдев от идеи до реализации Жанр: Программирование игр Год издания: 2019 Серия: Для профессионалов |
Рафаэль Херцог, Джим О'Горман, Мати Ахарони - Kali Linux от разработчиков Жанр: Linux Год издания: 2019 Серия: Для профессионалов |
Шива Парасрам, Алекс Замм, Теди Хериянто и др. - Kali Linux. Тестирование на проникновение и безопасность Жанр: Linux Год издания: 2020 Серия: Для профессионалов |
Дж. Гай Дэвидсон, Кейт Грегори - Красивый C++ Жанр: C, C++, C# Год издания: 2023 Серия: Для профессионалов |