Выбор кодера Дмитрий Коваленко aka Ingrem Спецвыпуск: Хакер, номер #049, стр. 049-020-1 (ingrem@list.ru) Идеальный софт для кодера В интернете там и сям валяются гигабайты кодерского софта практически на любой вкус. Есть небольшие утилитки и огромные пакеты, бесплатные проекты с открытым кодом и полусекретные, жутко дорогие коммерческие разработки. Конечно, из такой кучи разнообразного софта тяжело выбрать самое лучшее. Но мы все-таки попробуем. ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Документация Любому, кто кодит под Windows, нужна документация от Microsoft. Идеальный вариант - это лицензионный MSDN на нескольких компактах. Там содержится наиболее полная документация плюс полезные статьи и примеры исходного кода с комментариями (а также все версии Windows, Platform SDK, DDK и куча других полезных вещей - прим. AvaLANche'а). Если достать MSDN (хотя бы документацию) по той или иной причине возможности нет (я бы повесился – прим. ред.), нужно обзавестись хотя бы Platform Software Development Kit (SDK) для Windows XP. Его можно найти как на отдельном компакте, так и в составе MS Visual Studio или Inprise Delphi - SDK идет в комплекте с help-файлами, а также скачать на сайте Microsoft: www.microsoft.com/msdownload/platformsdk/sdkupdate. Если ты собрался писать драйвера, тебе понадобится еще и Driver Development Kit (DDK). Причем DDK должен быть именно под ту версию Windows, для которой ты пишешь драйвер. В DDK содержится руководство по программированию драйверов (имхо, совершенно непонятное), примеры с исходниками и, главное, описание системных функций режима ядра. В составе DDK под Windows 98 ты можешь найти заголовочные файлы для C++ и INC-файлы для MASM32. А вот в DDK под Windows 2000 и XP файлы для ассемблера не включили :(. Эти Kit'ы ориентированы полностью на C++. Вот и получается: если асм-кодер хочет написать драйвер под XP, он вынужден учить Си! Однако нашелся достойный человек по имени Four-F, который разработал что-то наподобие DDK для MASM32. Называется это чудо Kernel Mode Driver Development Kit для MASM32 (сокращенно CmdKit). С CmdKit тебе ничто не помешает кодить драйвера для Win2k/XP на асме ;). Отладчик Больше всего отладчик нужен асм-кодеру - программировать на ассемблере без отладки очень трудно. Кодерам, которые пишут свои проги на С++ или Delphi, обычно хватает отладочных средств, встроенных в IDE. Хотя внешний отладчик все равно может пригодиться, например, при написании драйверов или процедур-перехватчиков API. Безусловно, наиболее мощным и универсальным дебаггером является SoftIce от фирмы NuMega. SoftIce работает на уровне ядра и может отлаживать абсолютно все - от обычных приложений до драйверов и системных сервисов. Возможности SoftIce действительно впечатляют: + отладка многопоточных программ; + обработка исключительных ситуаций Win32; + программные и аппаратные точки останова, в том числе условные; + полное отображение адресного пространства процесса; + отслеживание всех событий ОС; + отладка на уровне исходного текста; + работает с обычной и отладочной версией Windows NT/2000; + отладка через dial-up. И это далеко не все возможности SoftIce! |