Иллюстрированный самоучитель по программированию систем защиты

Среда разработки

Между перечисленным набором компонентов имеется взаимосвязь.

Первым ставится компилятор. Как уже говорилось, хотя существует возможность использования компиляторов других фирм, SDK и DDK предполагают наличие именно Visual С, причем в зависимости от времени выхода SDK и DDK подразумеваются различные версии компилятора (при линковке будут указаны библиотеки различных версий – этим грешит SDK, либо будут некорректно запускаться командные файлы инициализации переменных окружения – этим грешит DDK). Кроме того, ранние версии DDK требовали обязательного наличия установленного SDK. Из возможных проблем стоит указать и то, что при использовании ОС Windows NT Workstation могут не устанавливаться системные переменные окружения.

Расположение командных файлов для установки переменных окружения:

  • VC98\bin\vcvars32.bat;
  • Mstools\setenv.bat;
  • Ddk\bin\setenv.bat.

При наличии версии DDK, требующей наличия SDK, из файла Ddk\bin\setenv.bat должны быть исключены строки проверки наличия SDK и запуска файла setenv.bat, а также прописан вызов vcvars32.bat.

Средства отладки и вспомогательные средства.
Выбор средства отладки – важный момент, который может влиять на набор необходимых аппаратных средств.

Вместе с продуктами Microsoft поставляются четыре отладчика:

  1. KD – консольная программа для отладки драйверов режима ядра, находится в директории bin пакета DDK для NT4 и Win2000. (i386kd.exe, ia64kd.exe, alphakd.exe, mipskd.exe).
  2. NTSD – консольная программа для отладки программ и драйверов пользовательского режима, находится в директории system32 ОС Windows 2000.
  3. CDB – вариант NTSD, содержится в директории bin пакета DDK для Windows 2000.
  4. WinDbg – графический отладчик для отладки кода как пользовательского режима, так и режима ядра, содержится в директории bin пакета DDK для Win2000 и Platform SDK.

Из всех перечисленных вариантов упоминания достоин лишь отладчик WinDbg. Он предоставляет удобный пользовательский интерфейс, однако очень неустойчив в работе, плохо документирован и не имеет поддержки от Microsoft. При использовании этого продукта для отладки драйверов необходимы два компьютера – Development Platform и Test Platform. Отладчик доступен для всех поддерживаемых платформ, при этом возможна кроссплатформенная отладка. Поддерживается работа на мультипроцессорных системах.

Лучшим отладчиком для отладки ОС и драйверов многие разработчики с полным основанием считают SoftlCE фирмы NuMega, стабильный при работе, хорошо документированный, с поддержкой от фирмы. Отладка осуществляется на том же компьютере, на котором проводилась разработка, однако возможна и удаленная отладка посредством dos-программы serial.exe. Недостатком можно считать пользовательский интерфейс, однако – это дело привычки. Более серьезными недостатками является ограничение поддержки процессоров только платформой Intel, а также отсутствие поддержки мультипроцессорных систем (однако система все еще активно развивается).

Ниже перечислены средства, которые могут выступать к качестве "наглядного пособия" при написании драйверов (часть этих средств снабжена исходными текстами):

  1. Monitor – просмотр трассировочной информации, выводимой драйверами и прикладными программами;
  2. Winobj – просмотр пространства имен диспетчера объектов;
  3. Handleex – информация о запущенных процессах, всех открытых ими описателях и подгруженных модулях dll;
  4. Filemon – просмотр активности файловых систем;
  5. Regmon – отслеживание обращений к реестру, в том числе на этапе загрузки системы;
  6. Portmon – отслеживание обращений к последовательным и параллельным портам;
  7. Tdimon – отслеживание запросов TDI;
  8. Tokenmon – отслеживание работы системы безопасности.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.