|
||||
|
Часть 1. Цель работы. Постановка задачи. Признаюсь честно: мне нравится Ассемблер. Вернее, даже не сам Ассемблер, а стиль общения с компьютером через него. В сети есть несколько примеров создания драйверов виртуальных устройств VxD на Ассемблере. Но нет ни одного аналогичного примера для драйвера WDM. Так исправим же эту досадную оплошность! Создание несложного драйвера с использованием только лишь Ассемблера – довольно трудоёмкое занятие. По двум причинам: 1) Отсутствие ассемблерных заголовочных файлов для использования драйверного API. 2) Методически трудная отладка драйверов в системе Windows. Первая причина может быть некритичной. Были бы руки да голова. Ведь известно, что значительная часть заголовков Win32 API была переведена энтузиастами на Ассемблер. И работа эта немалая. Вторая причина более серьёзна и именно она является сдерживающей. Практически, самым доступным способом отладки является отладочный вывод из самого драйвера. При этом код осторожно дописывается небольшими кусочками. Однако, теперь у вас будет хороший кусок работающего кода. Мы его сейчас напишем! Изменяя и дополняя его, вы сможете создать свой собственный драйвер, довольно быстро и легко. Сразу оговорюсь: я не собираюсь подробно объяснять принципы функционирования драйверной системы Windows и растолковывать специальные понятия. Для этого существует специальная литература. Что нам потребуется? Вот что: 1) Текстовый редактор. Notepad. Но лучше что-нибудь поудобнее, например, Патриот XP. 2) MS Windows DDK. DDK содержит почти всё, что требуется для создания драйверов. Но нам важны: справка DDK, Ассемблер masm 6.1, компоновщик Link, также оттуда мы возьмём библиотеки и заголовочные файлы для C (что с ними делать – см. далее). 3) Утилита для визуализации отладочного вывода. Я использую DbgView , который можно взять с сайта www.sysinternals.com 4) Delphi для компиляции тестовой программы. Но вам необязательно набирать текст с нуля. К счастью, я сделал это до вас :) Скачайте файл с исходниками проекта AsmDrv и распакуйте его в подкаталог \NTDDK\src\AsmDrv. (http://progrex.narod.ru/sources/AsmDrv.zip) Вот, кажется, всё. Можно начинать! |
|
||
Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Наверх |
||||
|